harbor/tests/resources/Harbor-Pages/Log_Rotation.robot
Yang Jiao 97b285168a
Refactor unstable test cases (#19350)
Fix #19282

Signed-off-by: Yang Jiao <jiaoya@vmware.com>
2023-09-13 08:14:34 +00:00

59 lines
3.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
*** Keywords ***
Switch To Log Rotation
Retry Element Click //clr-main-container//clr-vertical-nav-group//span[contains(.,'Clean Up')]
Retry Element Click ${log_rotation_page_xpath}
Purge Now
[Arguments] ${keep_records} ${keep_records_unit} ${expected_status}=SUCCESS ${exclude_operations}=@{EMPTY}
Retry Text Input ${keep_records_input} ${keep_records}
Retry Double Keywords When Error Retry Element Click ${keep_records_unit_select} Retry Element Click ${keep_records_unit_select}//option[contains(.,'${keep_records_unit}')]
${len}= Get Length ${exclude_operations}
Run Keyword If ${len} > 0 Click Exclude Operation @{exclude_operations}
Retry Double Keywords When Error Retry Button Click ${purge_now_btn} Retry Wait Until Page Contains Element ${latest_purge_job_status_xpath}\[contains(.,'${expected_status}')]
Run Keyword If '${expected_status}' == 'SUCCESS' Retry Action Keyword Verify Last completed Time
Click Exclude Operation
[Arguments] @{exclude_operations}
FOR ${element} IN @{exclude_operations}
Retry Element Click //form//div//label[contains(@class,'clr-control-label') and contains(.,'${element}')]
END
Verify Last completed Time
${latest_purge_job_update_time}= Get Text ${latest_purge_job_update_time_xpath}
${purge_job_last_completed_time}= Get Text ${purge_job_last_completed_time_xpath}
Should Be Equal ${latest_purge_job_update_time} ${purge_job_last_completed_time}
Set Log Rotation Schedule
[Arguments] ${keep_records} ${keep_records_unit} ${type} ${cron}=${null} ${exclude_operations}=@{EMPTY}
Retry Text Input ${keep_records_input} ${keep_records}
Retry Double Keywords When Error Retry Element Click ${keep_records_unit_select} Retry Element Click ${keep_records_unit_select}//option[contains(.,'${keep_records_unit}')]
Retry Button Click ${log_rotation_schedule_edit_btn}
Retry Double Keywords When Error Retry Element Click ${log_rotation_schedule_select} Retry Element Click ${log_rotation_schedule_select}//option[contains(.,'${type}')]
Run Keyword If '${type}' == 'Custom' Retry Text Input ${log_rotation_schedule_cron_input} ${cron}
${len}= Get Length ${exclude_operations}
Run Keyword If ${len} > 0 Click Exclude Operation @{exclude_operations}
Retry Double Keywords When Error Retry Button Click ${log_rotation_schedule_save_btn} Retry Wait Until Page Contains Purge schedule has been reset
Get Purge Job Results
${cmd}= Set Variable curl -u ${HARBOR_ADMIN}:${HARBOR_PASSWORD} -s --insecure -H "Content-Type: application/json" -X GET "https://${ip}/api/v2.0/system/purgeaudit?sort=-creation_time&page=1&page_size=100"
${rc} ${output}= Run And Return Rc And Output ${cmd}
Log ${output}
[Return] ${output}