harbor/tests/resources/Harbor-Pages/GC.robot

53 lines
2.3 KiB
Plaintext
Raw Normal View History

# Copyright Project Harbor Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License
*** Settings ***
Documentation This resource provides any keywords related to the Harbor private registry appliance
Resource ../../resources/Util.robot
*** Variables ***
*** Keywords ***
GC Now
[Arguments] ${harbor_url} ${login_user} ${login_pwd} ${untag}=${false}
Switch To Garbage Collection
Run Keyword If '${untag}' == '${true}' Retry Element Click xpath=${checkbox_delete_untagged_artifacts}
Click GC Now
Logout Harbor
Sleep 2
Sign In Harbor ${harbor_url} ${login_user} ${login_pwd}
Switch To Garbage Collection
Sleep 1
#Switch To GC History
#Retry Keyword N Times When Error 60 Retry Wait Until Page Contains Finished
Retry GC Should Be Successful
[Arguments] ${history_id} ${expected_msg}
Retry Keyword N Times When Error 15 GC Should Be Successful ${history_id} ${expected_msg}
GC Should Be Successful
[Arguments] ${history_id} ${expected_msg}
${rc} ${output}= Run And Return Rc And Output curl -u ${HARBOR_ADMIN}:${HARBOR_PASSWORD} -i --insecure -H "Content-Type: application/json" -X GET "https://${ip}/api/v2.0/system/gc/${history_id}/log"
Log All ${output}
Should Be Equal As Integers ${rc} 0
Run Keyword If '${expected_msg}' != '${null}' Should Contain ${output} ${expected_msg}
Should Contain ${output} success to run gc in job.
Get GC Logs
[Arguments]
${cmd}= Set Variable curl -u ${HARBOR_ADMIN}:${HARBOR_PASSWORD} -s --insecure -H "Content-Type: application/json" -X GET "https://${ip}/api/v2.0/system/gc"
Log All cmd:${cmd}
${rc} ${output}= Run And Return Rc And Output ${cmd}
Log All ${output}
[Return] ${output}