summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorMark Washenberger <mark.washenberger@rackspace.com>2012-09-19 18:41:03 +0000
committerMark Washenberger <mark.washenberger@rackspace.com>2012-09-19 19:14:33 +0000
commit09b903ed5e3306cf200328f41ce6df371923d03d (patch)
tree67f7b29fa9f0a7f5e20f65ccd04a0f4f122c8304 /nova/tests
parent8473bb4cf93eb713ef42fdc87767aa938f36b43e (diff)
Fix marker pagination for /servers
Fixes bug 1053028. Recent changes to pagination required passing in full sqlalchemy objects into paginate_query. However, calls to paginate_query were passing in strings. Change-Id: Ib1396a78a12aef1a9cdc31f3624af30f19da44b5
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/api/openstack/fakes.py2
-rw-r--r--nova/tests/test_db_api.py11
2 files changed, 9 insertions, 4 deletions
diff --git a/nova/tests/api/openstack/fakes.py b/nova/tests/api/openstack/fakes.py
index 18407b6a7..dc9ccc5f3 100644
--- a/nova/tests/api/openstack/fakes.py
+++ b/nova/tests/api/openstack/fakes.py
@@ -402,7 +402,7 @@ def fake_instance_get_all_by_filters(num_servers=5, **kwargs):
found_marker = True
servers_list = []
if not marker is None and not found_marker:
- raise webob.exc.HTTPBadRequest
+ raise exc.MarkerNotFound(marker)
if not limit is None:
servers_list = servers_list[:limit]
return servers_list
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index fbc5908df..7a295b4e1 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -126,19 +126,24 @@ class DbApiTestCase(test.TestCase):
result = db.instance_get_all_by_filters(self.context,
{'display_name': '%test%'},
sort_dir="asc",
- marker=test1)
+ marker=test1['uuid'])
self.assertEqual(2, len(result))
result = db.instance_get_all_by_filters(self.context,
{'display_name': '%test%'},
sort_dir="asc",
- marker=test2)
+ marker=test2['uuid'])
self.assertEqual(1, len(result))
result = db.instance_get_all_by_filters(self.context,
{'display_name': '%test%'},
sort_dir="asc",
- marker=test3)
+ marker=test3['uuid'])
self.assertEqual(0, len(result))
+ self.assertRaises(exception.MarkerNotFound,
+ db.instance_get_all_by_filters,
+ self.context, {'display_name': '%test%'},
+ marker=str(utils.gen_uuid()))
+
def test_migration_get_unconfirmed_by_dest_compute(self):
ctxt = context.get_admin_context()