示例#1
0
    def setUp(self):
        super(TestResultset, self).setUp()
        self.Base = Mock()
        self.data = list(range(3))

        def iterate_mock(rs):
            for item in rs.data:
                yield item

        def prepare_resultset_mock(rs, args=None, kwargs=None):
            response = {"sample": 1}

            rs.response = response
            rs.count = len(self.data)

            data = self.data[rs._offset:]

            if rs._limit is not None:
                data = self.data[:rs._limit]

            rs.data = data

        self.Base.iterate = iterate_mock
        self.Base.prepare_resultset = prepare_resultset_mock

        self.rs = Resultset(base=self.Base)
        self.rs.base._cursor = lambda *a, **k: list(range(3))
示例#2
0
    def test_first_last_shourcut_exceed(self):
        def iterate_mock(arg):
            for item in []:
                yield item

        self.Base.iterate = iterate_mock

        rs = Resultset(base=self.Base)

        assert_equal(rs.first, None)
        assert_equal(rs.last, None)
示例#3
0
    def test_repr_large_resultset(self):
        dataset = list(range(self.rs.max_repr_items * 2))

        def iterate_large_dataset(rs):
            for item in dataset:
                yield item

        custom_base = Mock()
        custom_base.iterate = iterate_large_dataset

        assert_equal(
            str(Resultset(base=custom_base)),
            "<Resultset: {0}... more>".format(", ".join(
                [str(i) for i in dataset[:self.rs.max_repr_items + 1]])))
示例#4
0
    def test_init(self):
        rs = Resultset(self.Base, 1, 2, field=True, field2=False)

        assert_equal(rs._args, (1, 2))
        assert_equal(rs._kwargs, {"field": True, "field2": False})