diff --git a/stacktach/dbapi.py b/stacktach/dbapi.py index b613525..dfd99b2 100644 --- a/stacktach/dbapi.py +++ b/stacktach/dbapi.py @@ -290,6 +290,10 @@ def get_db_objects(klass, request, default_order_by, direction='desc', offset = request.GET.get('offset') limit = request.GET.get('limit', DEFAULT_LIMIT) + + if limit: + limit = int(limit) + if limit > HARD_LIMIT: limit = HARD_LIMIT if offset: diff --git a/tests/unit/test_dbapi.py b/tests/unit/test_dbapi.py index fdc9c44..9cc83d5 100644 --- a/tests/unit/test_dbapi.py +++ b/tests/unit/test_dbapi.py @@ -195,7 +195,7 @@ class DBAPITestCase(unittest.TestCase): def test_get_db_objects_limit(self): fake_model = self.make_fake_model() fake_request = self.mox.CreateMockAnything() - fake_request.GET = {'limit': 1} + fake_request.GET = {'limit': '1'} self.mox.StubOutWithMock(dbapi, '_get_filter_args') dbapi._get_filter_args(fake_model, fake_request, custom_filters=None).AndReturn({}) @@ -215,7 +215,7 @@ class DBAPITestCase(unittest.TestCase): def test_get_db_objects_hard_limit(self): fake_model = self.make_fake_model() fake_request = self.mox.CreateMockAnything() - fake_request.GET = {'limit': dbapi.HARD_LIMIT + 1} + fake_request.GET = {'limit': str(dbapi.HARD_LIMIT + 1)} self.mox.StubOutWithMock(dbapi, '_get_filter_args') dbapi._get_filter_args(fake_model, fake_request, custom_filters=None).AndReturn({}) @@ -236,7 +236,7 @@ class DBAPITestCase(unittest.TestCase): def test_get_db_objects_offset(self): fake_model = self.make_fake_model() fake_request = self.mox.CreateMockAnything() - fake_request.GET = {'offset': 1} + fake_request.GET = {'offset': '1'} self.mox.StubOutWithMock(dbapi, '_get_filter_args') dbapi._get_filter_args(fake_model, fake_request, custom_filters=None).AndReturn({}) @@ -256,7 +256,7 @@ class DBAPITestCase(unittest.TestCase): def test_get_db_objects_offset_and_limit(self): fake_model = self.make_fake_model() fake_request = self.mox.CreateMockAnything() - fake_request.GET = {'offset': 2, 'limit': 2} + fake_request.GET = {'offset': '2', 'limit': '2'} self.mox.StubOutWithMock(dbapi, '_get_filter_args') dbapi._get_filter_args(fake_model, fake_request, custom_filters=None).AndReturn({})