def test_get_unsubscribed_lists(self):
        self.mox.StubOutWithMock(SubscriberList, "get")
        SubscriberList.get(None, "3", None).AndReturn(SubscriberList(None))
        self.mox.ReplayAll()

        lists = self.record.get_unsubscribed_lists()
        self.assertEqual(1, len(lists))
        self.assertTrue(isinstance(lists[0], SubscriberList))
        self.mox.VerifyAll()
    def test_get_unsubscribed_lists(self):
        self.mox.StubOutWithMock(SubscriberList, "get")
        SubscriberList.get(None, "3", None).AndReturn(SubscriberList(None))
        self.mox.ReplayAll()

        lists = self.record.get_unsubscribed_lists()
        self.assertEqual(1, len(lists))
        self.assertTrue(isinstance(lists[0], SubscriberList))
        self.mox.VerifyAll()
    def test_static_find(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list", "GET",
            parameters={"sort": "id", "order": "asc", "offset": "1", "limit": "100"},
            query=["id-gt-1", "id-lt-100"]).AndReturn(json.dumps([{"id": 1}, {"id": 2}]))
        self.mox.ReplayAll()

        records = SubscriberList.find(context, "id", "asc", 1, 100, ["id-gt-1", "id-lt-100"])
        self.assertEqual(2, len(records))
        self.mox.VerifyAll()
    def test_static_get(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list", "GET", record_id=1,
            parameters={"sort": "id", "order": "asc"}).AndReturn(
            json.dumps([{"id": 1}]))
        self.mox.ReplayAll()

        record = SubscriberList.get(context, 1, {"sort": "id", "order": "asc"})
        self.assertTrue(isinstance(record, SubscriberList))
        self.assertEqual({"id": 1}, record.backing)
        self.mox.VerifyAll()
    def test_static_get(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list",
                             "GET",
                             record_id=1,
                             parameters={
                                 "sort": "id",
                                 "order": "asc"
                             }).AndReturn(json.dumps([{
                                 "id": 1
                             }]))
        self.mox.ReplayAll()

        record = SubscriberList.get(context, 1, {"sort": "id", "order": "asc"})
        self.assertTrue(isinstance(record, SubscriberList))
        self.assertEqual({"id": 1}, record.backing)
        self.mox.VerifyAll()
    def test_static_find(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list",
                             "GET",
                             parameters={
                                 "sort": "id",
                                 "order": "asc",
                                 "offset": "1",
                                 "limit": "100"
                             },
                             query=["id-gt-1", "id-lt-100"]).AndReturn(
                                 json.dumps([{
                                     "id": 1
                                 }, {
                                     "id": 2
                                 }]))
        self.mox.ReplayAll()

        records = SubscriberList.find(context, "id", "asc", 1, 100,
                                      ["id-gt-1", "id-lt-100"])
        self.assertEqual(2, len(records))
        self.mox.VerifyAll()
 def setUp(self):
     mox.MoxTestBase.setUp(self)
     self.record = SubscriberList(None)
     self.record.backing = {"id": 1, "timestamp": "x", "status": ""}
class TestSubscriberList(mox.MoxTestBase):

    def setUp(self):
        mox.MoxTestBase.setUp(self)
        self.record = SubscriberList(None)
        self.record.backing = {"id": 1, "timestamp": "x", "status": ""}

    def tearDown(self):
        self.record = None
        mox.MoxTestBase.tearDown(self)

    def test_record_id(self):
        self.assertEqual("1", self.record.record_id)

    def test_ref(self):
        self.record.ref = "x"
        self.assertEqual("x", self.record.ref)

    def test_name(self):
        self.record.name = "x"
        self.assertEqual("x", self.record.name)

    def test_type(self):
        self.record.type = "x"
        self.assertEqual("x", self.record.type)

    def test_creation_datetime(self):
        self.assertEqual("x", self.record.creation_datetime)

    def test_xml_data(self):
        self.record.xml_data = "x"
        self.assertEqual("x", self.record.xml_data)

    def test_status(self):
        self.assertEqual("", self.record.status)

    def test_subscribe_subscriber(self):
        subscriber = self.mox.CreateMockAnything()
        subscriber.subscribe_to_list(self.record, "option")
        self.mox.ReplayAll()

        self.record.subscribe_subscriber(subscriber, "option")
        self.mox.VerifyAll()

    def test_unsubscribe_subscriber(self):
        subscriber = self.mox.CreateMockAnything()
        subscriber.unsubscribe_from_list(self.record)
        self.mox.ReplayAll()

        self.record.unsubscribe_subscriber(subscriber)
        self.mox.VerifyAll()

    def test_get_subscribers(self):
        self.mox.StubOutWithMock(Subscriber, "find", True)
        Subscriber.find(None, "id", "asc", 0, 100, ["list_id-eq-1"])
        self.mox.ReplayAll()

        self.record.get_subscribers(0, 100)
        self.mox.VerifyAll()

    def test_static_get(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list", "GET", record_id=1,
            parameters={"sort": "id", "order": "asc"}).AndReturn(
            json.dumps([{"id": 1}]))
        self.mox.ReplayAll()

        record = SubscriberList.get(context, 1, {"sort": "id", "order": "asc"})
        self.assertTrue(isinstance(record, SubscriberList))
        self.assertEqual({"id": 1}, record.backing)
        self.mox.VerifyAll()

    def test_static_find(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list", "GET",
            parameters={"sort": "id", "order": "asc", "offset": "1", "limit": "100"},
            query=["id-gt-1", "id-lt-100"]).AndReturn(json.dumps([{"id": 1}, {"id": 2}]))
        self.mox.ReplayAll()

        records = SubscriberList.find(context, "id", "asc", 1, 100, ["id-gt-1", "id-lt-100"])
        self.assertEqual(2, len(records))
        self.mox.VerifyAll()
 def setUp(self):
     mox.MoxTestBase.setUp(self)
     self.record = SubscriberList(None)
     self.record.backing = {"id": 1, "timestamp": "x", "status": ""}
class TestSubscriberList(mox.MoxTestBase):
    def setUp(self):
        mox.MoxTestBase.setUp(self)
        self.record = SubscriberList(None)
        self.record.backing = {"id": 1, "timestamp": "x", "status": ""}

    def tearDown(self):
        self.record = None
        mox.MoxTestBase.tearDown(self)

    def test_record_id(self):
        self.assertEqual("1", self.record.record_id)

    def test_ref(self):
        self.record.ref = "x"
        self.assertEqual("x", self.record.ref)

    def test_name(self):
        self.record.name = "x"
        self.assertEqual("x", self.record.name)

    def test_type(self):
        self.record.type = "x"
        self.assertEqual("x", self.record.type)

    def test_creation_datetime(self):
        self.assertEqual("x", self.record.creation_datetime)

    def test_xml_data(self):
        self.record.xml_data = "x"
        self.assertEqual("x", self.record.xml_data)

    def test_status(self):
        self.assertEqual("", self.record.status)

    def test_subscribe_subscriber(self):
        subscriber = self.mox.CreateMockAnything()
        subscriber.subscribe_to_list(self.record, "option")
        self.mox.ReplayAll()

        self.record.subscribe_subscriber(subscriber, "option")
        self.mox.VerifyAll()

    def test_unsubscribe_subscriber(self):
        subscriber = self.mox.CreateMockAnything()
        subscriber.unsubscribe_from_list(self.record)
        self.mox.ReplayAll()

        self.record.unsubscribe_subscriber(subscriber)
        self.mox.VerifyAll()

    def test_get_subscribers(self):
        self.mox.StubOutWithMock(Subscriber, "find", True)
        Subscriber.find(None, "id", "asc", 0, 100, ["list_id-eq-1"])
        self.mox.ReplayAll()

        self.record.get_subscribers(0, 100)
        self.mox.VerifyAll()

    def test_static_get(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list",
                             "GET",
                             record_id=1,
                             parameters={
                                 "sort": "id",
                                 "order": "asc"
                             }).AndReturn(json.dumps([{
                                 "id": 1
                             }]))
        self.mox.ReplayAll()

        record = SubscriberList.get(context, 1, {"sort": "id", "order": "asc"})
        self.assertTrue(isinstance(record, SubscriberList))
        self.assertEqual({"id": 1}, record.backing)
        self.mox.VerifyAll()

    def test_static_find(self):
        context = self.mox.CreateMockAnything()
        context.make_request("list",
                             "GET",
                             parameters={
                                 "sort": "id",
                                 "order": "asc",
                                 "offset": "1",
                                 "limit": "100"
                             },
                             query=["id-gt-1", "id-lt-100"]).AndReturn(
                                 json.dumps([{
                                     "id": 1
                                 }, {
                                     "id": 2
                                 }]))
        self.mox.ReplayAll()

        records = SubscriberList.find(context, "id", "asc", 1, 100,
                                      ["id-gt-1", "id-lt-100"])
        self.assertEqual(2, len(records))
        self.mox.VerifyAll()