summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit/api
diff options
context:
space:
mode:
authorPete Zaitcev <zaitcev@kotori.zaitcev.us>2020-05-15 01:00:32 -0500
committerPete Zaitcev <zaitcev@kotori.zaitcev.us>2020-05-16 14:40:28 +0000
commit41a2e82939e3fa60922923263e8d96d9c1da2635 (patch)
treead973419bf7053b3cfaa3f58e68b8335e158f243 /openstackclient/tests/unit/api
parentfdefe5558b7237757d788ee000382f913772bffc (diff)
downloadpython-openstackclient-41a2e82939e3fa60922923263e8d96d9c1da2635.tar.gz
Make container list --all work
The caller in openstackclient/object/v1/object.py passed a keyword argument full_listing, but the eventual callee container_list() expected all_data. So, --all did not work at all. The issue passed undetected because --all did not have a test, so we added a unit test. In addition, exisiting tests were using a test set that did not look like the real container listing, so we changed LIST_CONTAINER_RESP to be realistic. Change-Id: Id0604bcab25892e43c26cd6656b2b2eef5daa69b
Diffstat (limited to 'openstackclient/tests/unit/api')
-rw-r--r--openstackclient/tests/unit/api/test_object_store_v1.py60
1 files changed, 30 insertions, 30 deletions
diff --git a/openstackclient/tests/unit/api/test_object_store_v1.py b/openstackclient/tests/unit/api/test_object_store_v1.py
index 96c68d5a..b9e0740c 100644
--- a/openstackclient/tests/unit/api/test_object_store_v1.py
+++ b/openstackclient/tests/unit/api/test_object_store_v1.py
@@ -30,8 +30,10 @@ FAKE_CONTAINER = 'rainbarrel'
FAKE_OBJECT = 'spigot'
LIST_CONTAINER_RESP = [
- 'qaz',
- 'fred',
+ {"name": "qaz", "count": 0, "bytes": 0,
+ "last_modified": "2020-05-16T05:52:07.377550"},
+ {"name": "fred", "count": 0, "bytes": 0,
+ "last_modified": "2020-05-16T05:55:07.377550"},
]
LIST_OBJECT_RESP = [
@@ -117,34 +119,32 @@ class TestContainer(TestObjectAPIv1):
)
self.assertEqual(LIST_CONTAINER_RESP, ret)
-# def test_container_list_full_listing(self):
-# sess = self.app.client_manager.session
-#
-# def side_effect(*args, **kwargs):
-# rv = sess.get().json.return_value
-# sess.get().json.return_value = []
-# sess.get().json.side_effect = None
-# return rv
-#
-# resp = [{'name': 'is-name'}]
-# sess.get().json.return_value = resp
-# sess.get().json.side_effect = side_effect
-#
-# data = lib_container.list_containers(
-# self.app.client_manager.session,
-# fake_url,
-# full_listing=True,
-# )
-#
-# # Check expected values
-# sess.get.assert_called_with(
-# fake_url,
-# params={
-# 'format': 'json',
-# 'marker': 'is-name',
-# }
-# )
-# self.assertEqual(resp, data)
+ def test_container_list_full_listing(self):
+ self.requests_mock.register_uri(
+ 'GET',
+ FAKE_URL + '?limit=1&format=json',
+ json=[LIST_CONTAINER_RESP[0]],
+ status_code=200,
+ )
+ self.requests_mock.register_uri(
+ 'GET',
+ FAKE_URL +
+ '?marker=%s&limit=1&format=json' % LIST_CONTAINER_RESP[0]['name'],
+ json=[LIST_CONTAINER_RESP[1]],
+ status_code=200,
+ )
+ self.requests_mock.register_uri(
+ 'GET',
+ FAKE_URL +
+ '?marker=%s&limit=1&format=json' % LIST_CONTAINER_RESP[1]['name'],
+ json=[],
+ status_code=200,
+ )
+ ret = self.api.container_list(
+ limit=1,
+ full_listing=True,
+ )
+ self.assertEqual(LIST_CONTAINER_RESP, ret)
def test_container_show(self):
headers = {