mirror of
https://github.com/goharbor/harbor
synced 2025-04-21 20:27:18 +00:00
Update the test script for the project permissions (#19623)
Signed-off-by: AllForNothing <sshijun@vmware.com>
This commit is contained in:
parent
bf251ef0aa
commit
f26b9f52e9
@ -76,7 +76,7 @@ read_project = Permission("{}/projects/{}".format(harbor_base_url, project_id),
|
|||||||
False)
|
False)
|
||||||
update_project = Permission("{}/projects/{}".format(harbor_base_url, project_id), "PUT", 200,
|
update_project = Permission("{}/projects/{}".format(harbor_base_url, project_id), "PUT", 200,
|
||||||
project_payload_for_update, False)
|
project_payload_for_update, False)
|
||||||
delete_project = Permission("{}/projects/{}".format(harbor_base_url, project_id), "DELETE", 200,
|
delete_project = Permission("{}/projects/{}".format(harbor_base_url, project_id), "DELETE", 412,
|
||||||
project_payload_for_update, False)
|
project_payload_for_update, False)
|
||||||
deletable_project = Permission("{}/projects/{}/_deletable".format(harbor_base_url, project_id), "GET", 200,
|
deletable_project = Permission("{}/projects/{}/_deletable".format(harbor_base_url, project_id), "GET", 200,
|
||||||
project_payload_for_update, False)
|
project_payload_for_update, False)
|
||||||
@ -256,32 +256,45 @@ tag_retention_rule_payload = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
response = requests.request("GET", "{}/projects/{}/metadatas/retention_id".format(harbor_base_url, project_id),
|
|
||||||
data=None, verify=False,
|
def get_retention_id() -> str:
|
||||||
|
# create retention rule fist
|
||||||
|
# this request can be failed(retention rule existed) or succeeded, but we can finally get the retention id
|
||||||
|
requests.request("POST", "{}/retentions".format(harbor_base_url),
|
||||||
|
data=json.dumps(tag_retention_rule_payload), verify=False,
|
||||||
auth=(admin_name, admin_password), headers={"Content-Type": "application/json"})
|
auth=(admin_name, admin_password), headers={"Content-Type": "application/json"})
|
||||||
create_status_code = 400 if "retention_id" in (json.loads(response.text)) else 201
|
|
||||||
create_tag_retention_rule = Permission("{}/retentions".format(harbor_base_url, project_id), "POST",
|
|
||||||
create_status_code,
|
|
||||||
tag_retention_rule_payload)
|
|
||||||
# get retention_id
|
|
||||||
response1 = requests.request("GET", "{}/projects/{}/metadatas/retention_id".format(harbor_base_url, project_id),
|
response1 = requests.request("GET", "{}/projects/{}/metadatas/retention_id".format(harbor_base_url, project_id),
|
||||||
data=None, verify=False,
|
data=None, verify=False,
|
||||||
auth=(admin_name, admin_password), headers={"Content-Type": "application/json"})
|
auth=(admin_name, admin_password), headers={"Content-Type": "application/json"})
|
||||||
|
retention_id = project_id
|
||||||
|
if "retention_id" in json.loads(response1.text):
|
||||||
retention_id = json.loads(response1.text)["retention_id"]
|
retention_id = json.loads(response1.text)["retention_id"]
|
||||||
|
return retention_id
|
||||||
|
|
||||||
|
|
||||||
|
# because get_retention_id() has been called, so the expected status code is 400
|
||||||
|
create_tag_retention_rule = Permission("{}/retentions".format(harbor_base_url), "POST",
|
||||||
|
400,
|
||||||
|
tag_retention_rule_payload)
|
||||||
|
|
||||||
update_retention_payload = copy.deepcopy(tag_retention_rule_payload)
|
update_retention_payload = copy.deepcopy(tag_retention_rule_payload)
|
||||||
update_retention_payload["rules"][0]["disabled"] = True
|
update_retention_payload["rules"][0]["disabled"] = True
|
||||||
read_tag_retention = Permission("{}/retentions/{}".format(harbor_base_url, retention_id), "GET", 200)
|
read_tag_retention = Permission("{}/retentions/{}".format(harbor_base_url, get_retention_id()), "GET", 200)
|
||||||
update_tag_retention = Permission("{}/retentions/{}".format(harbor_base_url, retention_id), "PUT", 200,
|
update_tag_retention = Permission("{}/retentions/{}".format(harbor_base_url, get_retention_id()), "PUT", 200,
|
||||||
update_retention_payload)
|
update_retention_payload)
|
||||||
delete_tag_retention = Permission("{}/retentions/{}".format(harbor_base_url, retention_id), "DELETE", 200)
|
delete_tag_retention = Permission("{}/retentions/{}".format(harbor_base_url, get_retention_id()), "DELETE", 200)
|
||||||
execute_tag_retention = Permission("{}/retentions/{}/executions".format(harbor_base_url, retention_id), "POST", 201)
|
execute_tag_retention = Permission("{}/retentions/{}/executions".format(harbor_base_url, get_retention_id()), "POST",
|
||||||
list_tag_retention_execution = Permission("{}/retentions/{}/executions".format(harbor_base_url, retention_id), "GET",
|
201)
|
||||||
|
list_tag_retention_execution = Permission("{}/retentions/{}/executions".format(harbor_base_url, get_retention_id()),
|
||||||
|
"GET",
|
||||||
200)
|
200)
|
||||||
stop_tag_retention = Permission("{}/retentions/{}/executions/0".format(harbor_base_url, retention_id), "PATCH", 404,
|
stop_tag_retention = Permission("{}/retentions/{}/executions/0".format(harbor_base_url, get_retention_id()), "PATCH",
|
||||||
|
404,
|
||||||
{"action": "stop"})
|
{"action": "stop"})
|
||||||
list_tag_retention_tasks = Permission("{}/retentions/{}/executions/0/tasks".format(harbor_base_url, retention_id),
|
list_tag_retention_tasks = Permission("{}/retentions/{}/executions/0/tasks".format(harbor_base_url, get_retention_id()),
|
||||||
"GET", 404)
|
"GET", 404)
|
||||||
read_tag_retention_tasks = Permission("{}/retentions/{}/executions/0/tasks/0".format(harbor_base_url, retention_id),
|
read_tag_retention_tasks = Permission(
|
||||||
|
"{}/retentions/{}/executions/0/tasks/0".format(harbor_base_url, get_retention_id()),
|
||||||
"GET", 404)
|
"GET", 404)
|
||||||
|
|
||||||
# 15. Resource log actions: ['list']
|
# 15. Resource log actions: ['list']
|
||||||
|
Loading…
x
Reference in New Issue
Block a user