diff options
| author | Jacek Tomasiak <jacek.tomasiak@gmail.com> | 2018-01-16 11:09:26 +0100 |
|---|---|---|
| committer | Jacek Tomasiak <jacek.tomasiak@gmail.com> | 2018-02-07 18:00:20 +0100 |
| commit | eff607ccef91d09052d58f6798f68d67404f51ce (patch) | |
| tree | 6f18c4aba79169da9d21465c9b3cb3f8b3555cd5 /novaclient/tests/unit/fixture_data/servers.py | |
| parent | 5de74bef5c67f08811ab0c166df0230b01e4ed8a (diff) | |
| download | python-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.py | 32 |
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' |
