diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-01-23 12:16:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-23 12:16:09 +0100 |
commit | 6cef7c78dd5f8e2e8e1fe91bd2c7d1298f7e4df9 (patch) | |
tree | baacbe285948be9ad26d141940d40a31fed46f30 /test | |
parent | 1305f7c47a4c324c3afd873a244fe2315249a25d (diff) | |
parent | c9baa6b93b38b96b2b85bfb732c3677f31574ba1 (diff) | |
download | podman-6cef7c78dd5f8e2e8e1fe91bd2c7d1298f7e4df9.tar.gz podman-6cef7c78dd5f8e2e8e1fe91bd2c7d1298f7e4df9.tar.bz2 podman-6cef7c78dd5f8e2e8e1fe91bd2c7d1298f7e4df9.zip |
Merge pull request #9028 from mlegenovic/master
Accept and ignore 'null' as value for X-Registry-Auth
Diffstat (limited to 'test')
-rw-r--r-- | test/apiv2/rest_api/test_rest_v2_0_0.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/apiv2/rest_api/test_rest_v2_0_0.py b/test/apiv2/rest_api/test_rest_v2_0_0.py index cc66dd5af..5676ff65d 100644 --- a/test/apiv2/rest_api/test_rest_v2_0_0.py +++ b/test/apiv2/rest_api/test_rest_v2_0_0.py @@ -356,6 +356,52 @@ class TestApi(unittest.TestCase): self.assertTrue(keys["stream"], "Expected to find stream progress stanza's") def test_search_compat(self): + url = PODMAN_URL + "/v1.40/images/search" + # Had issues with this test hanging when repositories not happy + def do_search1(): + payload = {'term': 'alpine'} + r = requests.get(url, params=payload, timeout=5) + self.assertEqual(r.status_code, 200, r.text) + objs = json.loads(r.text) + self.assertIn(type(objs), (list,)) + + def do_search2(): + payload = {'term': 'alpine', 'limit': 1} + r = requests.get(url, params=payload, timeout=5) + self.assertEqual(r.status_code, 200, r.text) + objs = json.loads(r.text) + self.assertIn(type(objs), (list,)) + self.assertEqual(len(objs), 1) + + def do_search3(): + payload = {'term': 'alpine', 'filters': {'is-official': True}} + r = requests.get(url, params=payload, timeout=5) + self.assertEqual(r.status_code, 200, r.text) + objs = json.loads(r.text) + self.assertIn(type(objs), (list,)) +# TODO: Request should return only one item, but it returns more. For now this check is commented out. +# self.assertEqual(len(objs), 1) + + def do_search4(): + headers = {'X-Registry-Auth': 'null'} + payload = {'term': 'alpine'} + r = requests.get(url, params=payload, headers=headers, timeout=5) + self.assertEqual(r.status_code, 200, r.text) + + def do_search5(): + headers = {'X-Registry-Auth': 'invalid value'} + payload = {'term': 'alpine'} + r = requests.get(url, params=payload, headers=headers, timeout=5) + self.assertEqual(r.status_code, 400, r.text) + + search_methods = [do_search1, do_search2, do_search3, do_search4, do_search5] + for search_method in search_methods: + search = Process(target=search_method) + search.start() + search.join(timeout=10) + self.assertFalse(search.is_alive(), "/images/search took too long") + + def test_search_compat_with_(self): # Had issues with this test hanging when repositories not happy def do_search(): r = requests.get(PODMAN_URL + "/v1.40/images/search?term=alpine", timeout=5) |