class MailingMemberCollectionTest(unittest.TestCase): def setUp(self): Account.default_adapter = MockAdapter self.members = Mailing( Account(account_id="100", public_key="xxx", private_key="yyy"), { 'mailing_id': 200 }).members def test_fetch_all_returns_a_dictionary(self): mailing = Mailing(self.members.mailing.account) members = MailingMemberCollection(mailing) with self.assertRaises(ex.NoMailingIdError): members.fetch_all() self.assertEquals(members.mailing.account.adapter.called, 0) def test_fetch_all_returns_a_dictionary2(self): MockAdapter.expected = [{ 'member_id': 1024, 'email': u"*****@*****.**" }] self.assertIsInstance(self.members.fetch_all(), dict) self.assertEquals(self.members.mailing.account.adapter.called, 1) self.assertEquals(self.members.mailing.account.adapter.call, ('GET', '/mailings/200/members', {})) def test_fetch_all_populates_collection(self): MockAdapter.expected = [{ 'member_id': 1024, 'email': u"*****@*****.**" }] self.assertEquals(0, len(self.members)) self.members.fetch_all() self.assertEquals(1, len(self.members)) def test_fetch_all_caches_results(self): MockAdapter.expected = [{ 'member_id': 1024, 'email': u"*****@*****.**" }] self.members.fetch_all() self.members.fetch_all() self.assertEquals(self.members.mailing.account.adapter.called, 1) def test_collection_can_be_accessed_like_a_dictionary(self): MockAdapter.expected = [{ 'member_id': 1024, 'email': u"*****@*****.**" }] self.members.fetch_all() self.assertIsInstance(self.members, MailingMemberCollection) self.assertEquals(1, len(self.members)) self.assertIsInstance(self.members[1024], Member) self.assertEquals(self.members[1024]['member_id'], 1024) self.assertEquals(self.members[1024]['email'], u"*****@*****.**")
class MailingGroupCollectionTest(unittest.TestCase): def setUp(self): Account.default_adapter = MockAdapter self.groups = Mailing( Account(account_id="100", public_key="xxx", private_key="yyy"), { 'mailing_id': 200 }).groups def test_fetch_all_returns_a_dictionary(self): mailing = Mailing(self.groups.mailing.account) groups = MailingGroupCollection(mailing) with self.assertRaises(ex.NoMailingIdError): groups.fetch_all() self.assertEquals(groups.mailing.account.adapter.called, 0) def test_fetch_all_returns_a_dictionary2(self): MockAdapter.expected = [{ 'group_id': 1024, 'group_name': u"Test Group" }] self.assertIsInstance(self.groups.fetch_all(), dict) self.assertEquals(self.groups.mailing.account.adapter.called, 1) self.assertEquals(self.groups.mailing.account.adapter.call, ('GET', '/mailings/200/groups', {})) def test_fetch_all_populates_collection(self): MockAdapter.expected = [{ 'group_id': 1024, 'group_name': u"Test Group" }] self.assertEquals(0, len(self.groups)) self.groups.fetch_all() self.assertEquals(1, len(self.groups)) def test_fetch_all_caches_results(self): MockAdapter.expected = [{ 'group_id': 1024, 'group_name': u"Test Group" }] self.groups.fetch_all() self.groups.fetch_all() self.assertEquals(self.groups.mailing.account.adapter.called, 1) def test_collection_can_be_accessed_like_a_dictionary(self): MockAdapter.expected = [{ 'group_id': 1024, 'group_name': u"Test Group" }] self.groups.fetch_all() self.assertIsInstance(self.groups, MailingGroupCollection) self.assertEquals(1, len(self.groups)) self.assertIsInstance(self.groups[1024], Group) self.assertEquals(self.groups[1024]['group_id'], 1024) self.assertEquals(self.groups[1024]['group_name'], u"Test Group")
class MailingSearchCollectionTest(unittest.TestCase): def setUp(self): Account.default_adapter = MockAdapter self.searches = Mailing( Account(account_id="100", public_key="xxx", private_key="yyy"), {'mailing_id':200} ).searches def test_fetch_all_returns_a_dictionary(self): del(self.searches.mailing['mailing_id']) with self.assertRaises(ex.NoMailingIdError): self.searches.fetch_all() self.assertEquals(self.searches.mailing.account.adapter.called, 0) def test_fetch_all_returns_a_dictionary2(self): MockAdapter.expected = [{'search_id':1024}] self.assertIsInstance(self.searches.fetch_all(), dict) self.assertEquals(self.searches.mailing.account.adapter.called, 1) self.assertEquals( self.searches.mailing.account.adapter.call, ('GET', '/mailings/200/searches', {})) def test_fetch_all_populates_collection(self): MockAdapter.expected = [{'search_id':1024}] self.assertEquals(0, len(self.searches)) self.searches.fetch_all() self.assertEquals(1, len(self.searches)) def test_fetch_all_caches_results(self): MockAdapter.expected = [{'search_id':1024}] self.searches.fetch_all() self.searches.fetch_all() self.assertEquals(self.searches.mailing.account.adapter.called, 1) def test_collection_can_be_accessed_like_a_dictionary(self): MockAdapter.expected = [{'search_id':1024}] self.searches.fetch_all() self.assertIsInstance(self.searches, MailingSearchCollection) self.assertEquals(1, len(self.searches)) self.assertIsInstance(self.searches[1024], Search) self.assertEquals(self.searches[1024]['search_id'], 1024)
class MailingSearchCollectionTest(unittest.TestCase): def setUp(self): Account.default_adapter = MockAdapter self.searches = Mailing( Account(account_id="100", public_key="xxx", private_key="yyy"), { 'mailing_id': 200 }).searches def test_fetch_all_returns_a_dictionary(self): del (self.searches.mailing['mailing_id']) with self.assertRaises(ex.NoMailingIdError): self.searches.fetch_all() self.assertEquals(self.searches.mailing.account.adapter.called, 0) def test_fetch_all_returns_a_dictionary2(self): MockAdapter.expected = [{'search_id': 1024}] self.assertIsInstance(self.searches.fetch_all(), dict) self.assertEquals(self.searches.mailing.account.adapter.called, 1) self.assertEquals(self.searches.mailing.account.adapter.call, ('GET', '/mailings/200/searches', {})) def test_fetch_all_populates_collection(self): MockAdapter.expected = [{'search_id': 1024}] self.assertEquals(0, len(self.searches)) self.searches.fetch_all() self.assertEquals(1, len(self.searches)) def test_fetch_all_caches_results(self): MockAdapter.expected = [{'search_id': 1024}] self.searches.fetch_all() self.searches.fetch_all() self.assertEquals(self.searches.mailing.account.adapter.called, 1) def test_collection_can_be_accessed_like_a_dictionary(self): MockAdapter.expected = [{'search_id': 1024}] self.searches.fetch_all() self.assertIsInstance(self.searches, MailingSearchCollection) self.assertEquals(1, len(self.searches)) self.assertIsInstance(self.searches[1024], Search) self.assertEquals(self.searches[1024]['search_id'], 1024)
class MailingMemberCollectionTest(unittest.TestCase): def setUp(self): Account.default_adapter = MockAdapter self.members = Mailing( Account(account_id="100", public_key="xxx", private_key="yyy"), {'mailing_id':200} ).members def test_fetch_all_returns_a_dictionary(self): mailing = Mailing(self.members.mailing.account) members = MailingMemberCollection(mailing) with self.assertRaises(ex.NoMailingIdError): members.fetch_all() self.assertEquals(members.mailing.account.adapter.called, 0) def test_fetch_all_returns_a_dictionary2(self): MockAdapter.expected = [{'member_id':1024, 'email':u"*****@*****.**"}] self.assertIsInstance(self.members.fetch_all(), dict) self.assertEquals(self.members.mailing.account.adapter.called, 1) self.assertEquals( self.members.mailing.account.adapter.call, ('GET', '/mailings/200/members', {})) def test_fetch_all_populates_collection(self): MockAdapter.expected = [{'member_id':1024, 'email':u"*****@*****.**"}] self.assertEquals(0, len(self.members)) self.members.fetch_all() self.assertEquals(1, len(self.members)) def test_fetch_all_caches_results(self): MockAdapter.expected = [{'member_id':1024, 'email':u"*****@*****.**"}] self.members.fetch_all() self.members.fetch_all() self.assertEquals(self.members.mailing.account.adapter.called, 1) def test_collection_can_be_accessed_like_a_dictionary(self): MockAdapter.expected = [{'member_id':1024, 'email':u"*****@*****.**"}] self.members.fetch_all() self.assertIsInstance(self.members, MailingMemberCollection) self.assertEquals(1, len(self.members)) self.assertIsInstance(self.members[1024], Member) self.assertEquals(self.members[1024]['member_id'], 1024) self.assertEquals(self.members[1024]['email'], u"*****@*****.**")
class MailingGroupCollectionTest(unittest.TestCase): def setUp(self): Account.default_adapter = MockAdapter self.groups = Mailing( Account(account_id="100", public_key="xxx", private_key="yyy"), {'mailing_id':200} ).groups def test_fetch_all_returns_a_dictionary(self): mailing = Mailing(self.groups.mailing.account) groups = MailingGroupCollection(mailing) with self.assertRaises(ex.NoMailingIdError): groups.fetch_all() self.assertEquals(groups.mailing.account.adapter.called, 0) def test_fetch_all_returns_a_dictionary2(self): MockAdapter.expected = [{'group_id':1024, 'group_name':u"Test Group"}] self.assertIsInstance(self.groups.fetch_all(), dict) self.assertEquals(self.groups.mailing.account.adapter.called, 1) self.assertEquals( self.groups.mailing.account.adapter.call, ('GET', '/mailings/200/groups', {})) def test_fetch_all_populates_collection(self): MockAdapter.expected = [{'group_id':1024, 'group_name':u"Test Group"}] self.assertEquals(0, len(self.groups)) self.groups.fetch_all() self.assertEquals(1, len(self.groups)) def test_fetch_all_caches_results(self): MockAdapter.expected = [{'group_id':1024, 'group_name':u"Test Group"}] self.groups.fetch_all() self.groups.fetch_all() self.assertEquals(self.groups.mailing.account.adapter.called, 1) def test_collection_can_be_accessed_like_a_dictionary(self): MockAdapter.expected = [{'group_id':1024, 'group_name':u"Test Group"}] self.groups.fetch_all() self.assertIsInstance(self.groups, MailingGroupCollection) self.assertEquals(1, len(self.groups)) self.assertIsInstance(self.groups[1024], Group) self.assertEquals(self.groups[1024]['group_id'], 1024) self.assertEquals(self.groups[1024]['group_name'], u"Test Group")