Пример #1
0
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"*****@*****.**")
Пример #2
0
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")
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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"*****@*****.**")
Пример #6
0
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")