mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-27 04:35:16 +01:00
921aa2a27c
Add GC details and GC workers UI test case Fix #19277 Signed-off-by: Yang Jiao <jiaoya@vmware.com>
90 lines
4.4 KiB
Plaintext
90 lines
4.4 KiB
Plaintext
# 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 ***
|
|
Switch To Garbage Collection
|
|
Retry Double Keywords When Error Retry Element Click xpath=${gc_page_xpath} Retry Wait Until Page Contains Element ${gc_now_button}
|
|
|
|
GC Now
|
|
[Arguments] ${untag}=${false} ${dry_run}=${false} ${workers}=${null}
|
|
Switch To Garbage Collection
|
|
Run Keyword If '${untag}' == '${true}' Retry Element Click xpath=${checkbox_delete_untagged_artifacts}
|
|
${button}= Run Keyword If ${dry_run}==${false} Set Variable ${gc_now_button} ELSE Set Variable ${dry_run_button}
|
|
Run Keyword If '${workers}' != '${null}' Select From List By Value ${gc_workers_select} ${workers}
|
|
Retry Double Keywords When Error Retry Element Click ${button} Retry Wait Until Page Contains Running
|
|
${execution_id}= Get Text ${gc_latest_execution_id}
|
|
[Return] ${execution_id}
|
|
|
|
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
|
|
${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}
|
|
|
|
Set GC Schedule
|
|
[Arguments] ${type} ${value}=${null}
|
|
Switch To Garbage Collection
|
|
Retry Double Keywords When Error Retry Element Click ${gc_schedule_edit_btn} Retry Wait Until Page Not Contains Element ${gc_schedule_edit_btn}
|
|
Retry Element Click ${GC_schedule_select}
|
|
Run Keyword If '${type}'=='custom' Run Keywords Retry Element Click ${vulnerability_dropdown_list_item_custom} AND Retry Text Input ${targetCron_id} ${value}
|
|
... ELSE Retry Element Click ${vulnerability_dropdown_list_item_none}
|
|
Retry Double Keywords When Error Retry Element Click ${GC_schedule_save_btn} Retry Wait Until Page Not Contains Element ${gc_schedule_save_btn}
|
|
|
|
Go To GC Log
|
|
[Arguments] ${gc_job_id}
|
|
Retry Link Click //clr-dg-row[.//clr-dg-cell[text()='${gc_job_id}']]//a
|
|
Switch Window locator=NEW
|
|
|
|
Check GC Log
|
|
[Arguments] ${gc_job_id} ${log_containing} ${log_excluding}
|
|
Go To GC Log ${gc_job_id}
|
|
FOR ${log} IN @{log_containing}
|
|
Wait Until Page Contains ${log}
|
|
END
|
|
FOR ${log} IN @{log_excluding}
|
|
Wait Until Page Does Not Contain ${log}
|
|
END
|
|
Switch Window locator=MAIN
|
|
|
|
Check GC History
|
|
[Arguments] ${gc_job_id} ${details} ${trigger_type}=Manual ${dry_run}=No ${status}=SUCCESS
|
|
${row}= Set Variable //clr-dg-row[.//clr-dg-cell[text()='${gc_job_id}']]
|
|
Wait Until Element Is Visible And Enabled ${row}//clr-dg-cell[2][text()='${trigger_type}']
|
|
Wait Until Element Is Visible And Enabled ${row}//clr-dg-cell[3][text()='${dry_run}']
|
|
Wait Until Element Is Visible And Enabled ${row}//clr-dg-cell[4][text()='${status}']
|
|
Wait Until Element Is Visible And Enabled ${row}//clr-dg-cell[5]//span[contains(text(),'${details}')]
|
|
|
|
Wait Until GC Complete
|
|
[Arguments] ${gc_job_id} ${status}=SUCCESS
|
|
Wait Until Element Is Visible And Enabled //clr-dg-row[.//clr-dg-cell[text()='${gc_job_id}']]//clr-dg-cell[text()='${status}']
|