add UI test for project quota sorting (#19935)

Signed-off-by: Shengwen Yu <yshengwen@vmware.com>
This commit is contained in:
Shengwen YU 2024-02-02 14:20:40 +08:00 committed by GitHub
parent 09d1f8e9fc
commit fb1e828547
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,35 @@
# 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 Project Quotas Tag
Retry Element Click xpath=${administration_project_quotas_tag_xpath}
Sleep 1
Check Project Quota Sorting
[Arguments] ${proj1} ${proj2}
# check project quota sorting in ascending order
Retry Element Click xpath=${sort_used_storage_button}
Retry Wait Element Visible //div[@class='datagrid-table']//clr-dg-row[2]//clr-dg-cell[1]//a[contains(text(), '${proj1}')]
Retry Wait Element Visible //div[@class='datagrid-table']//clr-dg-row[3]//clr-dg-cell[1]//a[contains(text(), '${proj2}')]
# check project quota sorting in descending order
Retry Element Click xpath=${sort_used_storage_button}
Retry Wait Element Visible //div[@class='datagrid-table']//clr-dg-row[1]//clr-dg-cell[1]//a[contains(text(), '${proj2}')]
Retry Wait Element Visible //div[@class='datagrid-table']//clr-dg-row[2]//clr-dg-cell[1]//a[contains(text(), '${proj1}')]

View File

@ -0,0 +1,20 @@
# 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
*** Variables ***
${administration_project_quotas_tag_xpath} //clr-vertical-nav-group-children/a[contains(.,'Project Quotas')]
${sort_used_storage_button} //div[@class='datagrid-table']//div[@class='datagrid-header']//button[normalize-space()='Storage']

View File

@ -50,6 +50,8 @@ Resource Harbor-Pages/Replication.robot
Resource Harbor-Pages/Replication_Elements.robot
Resource Harbor-Pages/UserProfile.robot
Resource Harbor-Pages/UserProfile_Elements.robot
Resource Harbor-Pages/Administration-Project-Quotas.robot
Resource Harbor-Pages/Administration-Project-Quotas_Elements.robot
Resource Harbor-Pages/Administration-Users.robot
Resource Harbor-Pages/Administration-Users_Elements.robot
Resource Harbor-Pages/GC.robot

View File

@ -23,6 +23,25 @@ ${SSH_USER} root
${HARBOR_ADMIN} admin
*** Test Cases ***
Test Case - Project Quota Sorting
[Tags] project_quota_sorting
Init Chrome Driver
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
${d1}= Get Current Date result_format=%m%s
Create An New Project And Go Into Project project${d1}
Push Image With Tag ${ip} ${HARBOR_ADMIN} ${HARBOR_PASSWORD} project${d1} alpine 2.6 2.6
${d2}= Get Current Date result_format=%m%s
Create An New Project And Go Into Project project${d2}
Push Image With Tag ${ip} ${HARBOR_ADMIN} ${HARBOR_PASSWORD} project${d2} photon 2.0 2.0
Switch to Project Quotas Tag
Check Project Quota Sorting project${d1} project${d2}
Go Into Project project${d1}
Delete Repo project${d1} alpine
Go Into Project project${d2}
Delete Repo project${d2} photon
GC Now
Close Browser
Test Case - Garbage Collection
Init Chrome Driver
${d}= Get Current Date result_format=%m%s