summaryrefslogtreecommitdiff
path: root/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py')
-rw-r--r--test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py57
1 files changed, 17 insertions, 40 deletions
diff --git a/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py b/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py
index c1f5e1d7..53c29f77 100644
--- a/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py
+++ b/test/integration/targets/ansible-galaxy-collection/library/reset_pulp.py
@@ -84,8 +84,7 @@ def invoke_api(module, url, method='GET', data=None, status_codes=None):
resp, info = fetch_url(module, url, method=method, data=data, headers=headers)
if info['status'] not in status_codes:
- info['url'] = url
- module.fail_json(**info)
+ module.fail_json(url=url, **info)
data = to_text(resp.read())
if data:
@@ -106,7 +105,7 @@ def delete_pulp_distribution(distribution, module):
def delete_pulp_orphans(module):
""" Deletes any orphaned pulp objects. """
- orphan_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/orphans/'
+ orphan_uri = module.params['pulp_api'] + '/pulp/api/v3/orphans/'
task_info = invoke_api(module, orphan_uri, method='DELETE', status_codes=[202])
wait_pulp_task(task_info['task'], module)
@@ -126,39 +125,25 @@ def get_galaxy_namespaces(module):
return [n['name'] for n in ns_info['data']]
-def get_pulp_distributions(module, distribution):
+def get_pulp_distributions(module):
""" Gets a list of all the pulp distributions. """
- distro_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/distributions/ansible/ansible/'
- distro_info = invoke_api(module, distro_uri + '?name=' + distribution)
+ distro_uri = module.params['pulp_api'] + '/pulp/api/v3/distributions/ansible/ansible/'
+ distro_info = invoke_api(module, distro_uri)
return [module.params['pulp_api'] + r['pulp_href'] for r in distro_info['results']]
-def get_pulp_repositories(module, repository):
+def get_pulp_repositories(module):
""" Gets a list of all the pulp repositories. """
- repo_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/repositories/ansible/ansible/'
- repo_info = invoke_api(module, repo_uri + '?name=' + repository)
+ repo_uri = module.params['pulp_api'] + '/pulp/api/v3/repositories/ansible/ansible/'
+ repo_info = invoke_api(module, repo_uri)
return [module.params['pulp_api'] + r['pulp_href'] for r in repo_info['results']]
-def get_repo_collections(repository, module):
- collections_uri = module.params['galaxy_ng_server'] + 'v3/plugin/ansible/content/' + repository + '/collections/index/'
- # status code 500 isn't really expected, an unhandled exception is causing this instead of a 404
- # See https://issues.redhat.com/browse/AAH-2329
- info = invoke_api(module, collections_uri + '?limit=100&offset=0', status_codes=[200, 500])
- if not info:
- return []
- return [module.params['pulp_api'] + c['href'] for c in info['data']]
-
-
-def delete_repo_collection(collection, module):
- task_info = invoke_api(module, collection, method='DELETE', status_codes=[202])
- wait_pulp_task(task_info['task'], module)
-
-
def new_galaxy_namespace(name, module):
""" Creates a new namespace in Galaxy NG. """
- ns_uri = module.params['galaxy_ng_server'] + 'v3/namespaces/ '
- data = {'name': name, 'groups': []}
+ ns_uri = module.params['galaxy_ng_server'] + 'v3/_ui/namespaces/'
+ data = {'name': name, 'groups': [{'name': 'system:partner-engineers', 'object_permissions':
+ ['add_namespace', 'change_namespace', 'upload_to_namespace']}]}
ns_info = invoke_api(module, ns_uri, method='POST', data=data, status_codes=[201])
return ns_info['id']
@@ -166,17 +151,16 @@ def new_galaxy_namespace(name, module):
def new_pulp_repository(name, module):
""" Creates a new pulp repository. """
- repo_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/repositories/ansible/ansible/'
- # retain_repo_versions to work around https://issues.redhat.com/browse/AAH-2332
- data = {'name': name, 'retain_repo_versions': '1024'}
+ repo_uri = module.params['pulp_api'] + '/pulp/api/v3/repositories/ansible/ansible/'
+ data = {'name': name}
repo_info = invoke_api(module, repo_uri, method='POST', data=data, status_codes=[201])
- return repo_info['pulp_href']
+ return module.params['pulp_api'] + repo_info['pulp_href']
def new_pulp_distribution(name, base_path, repository, module):
""" Creates a new pulp distribution for a repository. """
- distro_uri = module.params['galaxy_ng_server'] + 'pulp/api/v3/distributions/ansible/ansible/'
+ distro_uri = module.params['pulp_api'] + '/pulp/api/v3/distributions/ansible/ansible/'
data = {'name': name, 'base_path': base_path, 'repository': repository}
task_info = invoke_api(module, distro_uri, method='POST', data=data, status_codes=[202])
task_info = wait_pulp_task(task_info['task'], module)
@@ -210,15 +194,8 @@ def main():
)
module.params['force_basic_auth'] = True
- # It may be due to the process of cleaning up orphans, but we cannot delete the namespace
- # while a collection still exists, so this is just a new safety to nuke all collections
- # first
- for repository in module.params['repositories']:
- [delete_repo_collection(c, module) for c in get_repo_collections(repository, module)]
-
- for repository in module.params['repositories']:
- [delete_pulp_distribution(d, module) for d in get_pulp_distributions(module, repository)]
- [delete_pulp_repository(r, module) for r in get_pulp_repositories(module, repository)]
+ [delete_pulp_distribution(d, module) for d in get_pulp_distributions(module)]
+ [delete_pulp_repository(r, module) for r in get_pulp_repositories(module)]
delete_pulp_orphans(module)
[delete_galaxy_namespace(n, module) for n in get_galaxy_namespaces(module)]