Skip to content

Commit c74214f

Browse files
committed
More stuff.
No-Issue Signed-off-by: James Tanner <tanner.jc@gmail.com>
1 parent b884068 commit c74214f

File tree

2 files changed

+37
-13
lines changed

2 files changed

+37
-13
lines changed

galaxy_ng/tests/integration/utils/collections.py

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -525,12 +525,18 @@ def get_all_collections_by_repo(api_client=None):
525525
""" Return a dict of each repo and their collections """
526526
assert api_client is not None, "api_client is a required param"
527527
api_prefix = api_client.config.get("api_prefix").rstrip("/")
528-
collections = {
529-
'staging': {},
530-
'published': {},
531-
'community': {},
532-
'rh-certified': {},
533-
}
528+
529+
# get all distributions ...
530+
# /api/galaxy/pulp/api/v3/distributions/
531+
distro_names = []
532+
next_page = f'{api_prefix}/pulp/api/v3/distributions/'
533+
while next_page:
534+
resp = api_client(next_page)
535+
next_page = resp.get('links', {}).get('next')
536+
for distro in resp['results']:
537+
distro_names.append(distro['name'])
538+
539+
collections = dict((x, {}) for x in distro_names)
534540
for repo in collections.keys():
535541
next_page = f'{api_prefix}/_ui/v1/collection-versions/?repository={repo}'
536542
while next_page:
@@ -638,25 +644,43 @@ def delete_all_collections(api_client):
638644
def delete_all_collections_in_namespace(api_client, namespace_name):
639645

640646
assert api_client is not None, "api_client is a required param"
647+
api_prefix = api_client.config.get("api_prefix").rstrip("/")
641648

642649
# accumlate a list of matching collections in each repo
643650
ctuples = set()
651+
652+
'''
644653
cmap = get_all_collections_by_repo(api_client)
645654
for repo, cvs in cmap.items():
646655
for cv_spec in cvs.keys():
647656
if cv_spec[0] == namespace_name:
648657
ctuples.add((repo, cv_spec[0], cv_spec[1]))
658+
'''
659+
660+
#import epdb; epdb.st()
661+
next_page = f'{api_prefix}/_ui/v1/collection-versions/?namespace={namespace_name}'
662+
while next_page:
663+
resp = api_client(next_page)
664+
next_page = resp.get('links', {}).get('next')
665+
666+
for collection in resp['data']:
667+
for repository_name in collection['repository_list']:
668+
ctuples.add((repository_name, collection['namespace'], collection['name']))
649669

650670
# delete each collection ...
671+
results = []
651672
for ctuple in ctuples:
652673
crepo = ctuple[0]
653674
cname = ctuple[2]
654675

655-
recursive_delete(api_client, namespace_name, cname, crepo)
676+
res = recursive_delete(api_client, namespace_name, cname, crepo)
677+
results.append(res)
678+
679+
return results
656680

657681

658-
def recursvive_delete(api_client, namespace_name, cname, crepo):
659-
return recursive_delete(api_client, namespace_name, cname, crepo)
682+
#def recursvive_delete(api_client, namespace_name, cname, crepo):
683+
# return recursive_delete(api_client, namespace_name, cname, crepo)
660684

661685

662686
def recursive_delete(api_client, namespace_name, cname, crepo):
@@ -672,7 +696,7 @@ def recursive_delete(api_client, namespace_name, cname, crepo):
672696

673697
if dependants:
674698
for ns, name in dependants:
675-
recursvive_delete(api_client, ns, name, crepo)
699+
recursive_delete(api_client, ns, name, crepo)
676700

677701
# Try deleting the whole collection ...
678702
try:

galaxy_ng/tests/integration/utils/namespaces.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def cleanup_namespace(name, api_client=None):
9595

9696
resp = api_client(f'{api_prefix}/v3/namespaces/?name={name}', method='GET')
9797
if resp['meta']['count'] > 0:
98-
delete_all_collections_in_namespace(api_client, name)
98+
dres = delete_all_collections_in_namespace(api_client, name)
9999

100100
for result in resp['data']:
101101
ns_name = result['name']
@@ -104,8 +104,8 @@ def cleanup_namespace(name, api_client=None):
104104
# exception on json parsing expected ...
105105
try:
106106
api_client(ns_url, method='DELETE')
107-
except Exception:
108-
pass
107+
except Exception as e:
108+
print(e)
109109

110110
resp = api_client(f'{api_prefix}/v3/namespaces/?name={name}', method='GET')
111111
assert resp['meta']['count'] == 0

0 commit comments

Comments
 (0)