From a0e705359353cb6a9b0c3fc8178e714e4350c585 Mon Sep 17 00:00:00 2001 From: William Wolf Date: Mon, 19 Sep 2011 21:53:21 -0400 Subject: oops, add project_id and 'servers' to next links --- nova/api/openstack/views/servers.py | 4 +++- nova/tests/api/openstack/test_servers.py | 15 +++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py index bb8bb0972..61480da70 100644 --- a/nova/api/openstack/views/servers.py +++ b/nova/api/openstack/views/servers.py @@ -236,7 +236,9 @@ class ViewBuilderV11(ViewBuilder): def generate_next_link(self, server_id, params, is_detail=False): """ Return an href string with proper limit and marker params""" params['marker'] = server_id - return "%s?%s" % (self.base_url, common.dict_to_query_str(params)) + return "%s?%s" % ( + os.path.join(self.base_url, self.project_id, "servers"), + common.dict_to_query_str(params)) def generate_href(self, server_id): """Create an url that refers to a specific server id.""" diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py index 160335d80..b3e4ad0cf 100644 --- a/nova/tests/api/openstack/test_servers.py +++ b/nova/tests/api/openstack/test_servers.py @@ -1161,8 +1161,9 @@ class ServersTest(test.TestCase): self.assertEqual([s['id'] for s in servers], [0, 1, 2]) self.assertEqual(servers_links[0]['rel'], 'next') - qs = urlparse.urlparse(servers_links[0]['href']).query - params = urlparse.parse_qs(qs) + href_parts = urlparse.urlparse(servers_links[0]['href']) + self.assertEqual('/v1.1/fake/servers', href_parts.path) + params = urlparse.parse_qs(href_parts.query) self.assertDictMatch({'limit': ['3'], 'marker': ['2']}, params) req = webob.Request.blank('/v1.1/fake/servers?limit=aaa') @@ -1178,8 +1179,9 @@ class ServersTest(test.TestCase): self.assertEqual([s['id'] for s in servers], [0, 1, 2]) self.assertEqual(servers_links[0]['rel'], 'next') - qs = urlparse.urlparse(servers_links[0]['href']).query - params = urlparse.parse_qs(qs) + href_parts = urlparse.urlparse(servers_links[0]['href']) + self.assertEqual('/v1.1/fake/servers', href_parts.path) + params = urlparse.parse_qs(href_parts.query) self.assertDictMatch({'limit': ['3'], 'marker': ['2']}, params) req = webob.Request.blank('/v1.1/fake/servers/detail?limit=aaa') @@ -1195,8 +1197,9 @@ class ServersTest(test.TestCase): self.assertEqual([s['id'] for s in servers], [0, 1, 2]) self.assertEqual(servers_links[0]['rel'], 'next') - qs = urlparse.urlparse(servers_links[0]['href']).query - params = urlparse.parse_qs(qs) + href_parts = urlparse.urlparse(servers_links[0]['href']) + self.assertEqual('/v1.1/fake/servers', href_parts.path) + params = urlparse.parse_qs(href_parts.query) self.assertDictMatch({'limit': ['3'], 'blah': ['2:t'], 'marker': ['2']}, params) -- cgit