def test_users_to_unsubscribe_multi_pages(self, MockList): ''' If CM returns a list of subscribers, we should get a list of email addresses that appear in their list, ''' def random_subscribers(page=1, *args, **kwargs): unknown = Mock(EmailAddress='subscriber{}@example.com'.format( random.random()), autospec=Subscriber) known = Mock(EmailAddress='*****@*****.**', autospec=Subscriber) return Mock(NumberOfPages=3, PageNumber=page, Results=[unknown, known]) MockList().active.side_effect = random_subscribers results = users_to_unsubscribe('1', []) self.assertEqual(type(results), list) self.assertEqual(len(results), 6) for subscriber in results: self.assertEqual(type(subscriber), str) self.assertIn('@', subscriber) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 6) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 3)
def test_users_to_unsubscribe_multi_pages(self, MockList): ''' If CM returns a list of subscribers, we should get a list of email addresses that appear in their list, ''' def random_subscribers(page=1, *args, **kwargs): unknown = Mock(EmailAddress='subscriber{}@example.com'.format(random.random()), autospec=Subscriber) known = Mock(EmailAddress='*****@*****.**', autospec=Subscriber) return Mock(NumberOfPages=3, PageNumber=page, Results=[unknown, known]) MockList().active.side_effect = random_subscribers results = users_to_unsubscribe('1', []) self.assertEqual(type(results), list) self.assertEqual(len(results), 6) for subscriber in results: self.assertEqual(type(subscriber), str) self.assertIn('@', subscriber) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 6) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 3)
def test_users_to_unsubscribe_empty(self, MockList): ''' If CM returns no subscribers, we should get an empty list. ''' MockList().active.return_value = Mock(NumberOfPages=0, Results=[]) results = users_to_unsubscribe('1', []) self.assertEqual(type(results), list) self.assertEqual(len(results), 0)
def test_users_to_unsubscribe_one_page(self, MockList): ''' If CM returns a list of subscribers, we should get a list of email addresses that appear in their list, ''' s1 = Mock(EmailAddress='*****@*****.**', autospec=Subscriber) s2 = Mock(EmailAddress='*****@*****.**', autospec=Subscriber) MockList().active.return_value = Mock(NumberOfPages=1, PageNumber=1, Results=[s1, s2]) results = users_to_unsubscribe('1', []) self.assertEqual(type(results), list) self.assertEqual(len(results), 2) for subscriber in results: self.assertEqual(type(subscriber), str) self.assertIn('@', subscriber) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 2) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 1)
def test_users_to_unsubscribe_one_page(self, MockList): ''' If CM returns a list of subscribers, we should get a list of email addresses that appear in their list, ''' s1 = Mock(EmailAddress='*****@*****.**', autospec=Subscriber) s2 = Mock(EmailAddress='*****@*****.**', autospec=Subscriber) MockList().active.return_value = Mock( NumberOfPages=1, PageNumber=1, Results=[s1, s2] ) results = users_to_unsubscribe('1', []) self.assertEqual(type(results), list) self.assertEqual(len(results), 2) for subscriber in results: self.assertEqual(type(subscriber), str) self.assertIn('@', subscriber) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 2) results = users_to_unsubscribe('1', ['*****@*****.**']) self.assertEqual(type(results), list) self.assertEqual(len(results), 1)