summaryrefslogtreecommitdiff
path: root/novaclient/tests/unit/fixture_data/servers.py
diff options
context:
space:
mode:
authorJacek Tomasiak <jacek.tomasiak@gmail.com>2018-01-16 11:09:26 +0100
committerJacek Tomasiak <jacek.tomasiak@gmail.com>2018-02-07 18:00:20 +0100
commiteff607ccef91d09052d58f6798f68d67404f51ce (patch)
tree6f18c4aba79169da9d21465c9b3cb3f8b3555cd5 /novaclient/tests/unit/fixture_data/servers.py
parent5de74bef5c67f08811ab0c166df0230b01e4ed8a (diff)
downloadpython-novaclient-eff607ccef91d09052d58f6798f68d67404f51ce.tar.gz
Fix listing of instances above API max_limit
Output of `nova list` command contained only `max_limit` entries even when there were more. The list needs to be obtained in multiple requests and the paging loop was terminated prematurely. Change-Id: I4194e6d5e34ecc0ac704851c08bb895e223aa850 Closes-Bug: 1743532
Diffstat (limited to 'novaclient/tests/unit/fixture_data/servers.py')
-rw-r--r--novaclient/tests/unit/fixture_data/servers.py32
1 files changed, 30 insertions, 2 deletions
diff --git a/novaclient/tests/unit/fixture_data/servers.py b/novaclient/tests/unit/fixture_data/servers.py
index 2402cd10..3950158d 100644
--- a/novaclient/tests/unit/fixture_data/servers.py
+++ b/novaclient/tests/unit/fixture_data/servers.py
@@ -32,6 +32,16 @@ class Base(base.Fixture):
self.requests_mock.get(self.url(),
json=get_servers,
+ headers=self.json_headers,
+ complete_qs=True)
+
+ self.requests_mock.get(self.url(name='sample-server'),
+ json=get_servers,
+ headers=self.json_headers,
+ complete_qs=True)
+
+ self.requests_mock.get(self.url(marker='5678'),
+ json={"servers": []},
headers=self.json_headers)
self.server_1234 = {
@@ -160,14 +170,32 @@ class Base(base.Fixture):
self.requests_mock.get(
self.url('detail', marker=self.server_1234["id"]),
+ json={"servers": [self.server_5678, self.server_9012]},
+ headers=self.json_headers, complete_qs=True)
+
+ self.requests_mock.get(
+ self.url('detail', marker=self.server_1234["id"], limit=2),
+ json={"servers": [self.server_5678, self.server_9012]},
+ headers=self.json_headers, complete_qs=True)
+
+ # simulate max_limit=2 by returning 2 items when limit=3
+ # another request should be triggered with limit=1 to get complete
+ # result
+ self.requests_mock.get(
+ self.url('detail', limit=3),
json={"servers": [self.server_1234, self.server_5678]},
headers=self.json_headers, complete_qs=True)
self.requests_mock.get(
- self.url('detail', marker=self.server_5678["id"]),
- json={"servers": []},
+ self.url('detail', marker=self.server_5678["id"], limit=1),
+ json={"servers": [self.server_9012]},
headers=self.json_headers, complete_qs=True)
+ self.requests_mock.get(
+ self.url('detail', marker=self.server_9012["id"]),
+ json={"servers": []},
+ headers=self.json_headers)
+
self.server_1235 = self.server_1234.copy()
self.server_1235['id'] = 1235
self.server_1235['status'] = 'error'