diff options
| author | William Wolf <throughnothing@gmail.com> | 2011-09-19 21:53:21 -0400 |
|---|---|---|
| committer | William Wolf <throughnothing@gmail.com> | 2011-09-19 21:53:21 -0400 |
| commit | a0e705359353cb6a9b0c3fc8178e714e4350c585 (patch) | |
| tree | 83aa6fc4632eaeb7a5cb8dd9ac9a9b0b35462d61 | |
| parent | c7f04b68ba752766fa2fc1edb68e6fb0219606e3 (diff) | |
oops, add project_id and 'servers' to next links
| -rw-r--r-- | nova/api/openstack/views/servers.py | 4 | ||||
| -rw-r--r-- | 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) |
