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))
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)
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]])))
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})