From c66ab0d142cbb319e41f66a2fe1352a70ecc4c06 Mon Sep 17 00:00:00 2001 From: myufei Date: Fri, 3 Nov 2017 14:36:40 +0800 Subject: [PATCH] Add project level policy auto case --- tests/resources/Docker-Util.robot | 10 +++- .../Harbor-Pages/Project-Config.robot | 50 +++++++++++++++++++ tests/resources/Util.robot | 1 + tests/robot-cases/Group0-BAT/BAT.robot | 31 ++++++++++++ 4 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 tests/resources/Harbor-Pages/Project-Config.robot diff --git a/tests/resources/Docker-Util.robot b/tests/resources/Docker-Util.robot index c3770f3c0..1fb4a3bfe 100644 --- a/tests/resources/Docker-Util.robot +++ b/tests/resources/Docker-Util.robot @@ -69,6 +69,14 @@ Cannot Pull image Log ${output} Should Not Be Equal As Integers ${rc} 0 +Cannot Pull Unsigned Image + [Arguments] ${ip} ${user} ${pass} ${proj} ${imagewithtag} + ${rc} ${output}= Run And Return Rc And Output docker login -u ${user} -p ${pass} ${ip} + Should Be Equal As Integers ${rc} 0 + ${rc} ${output}= Run And Return Rc And Output docker pull ${ip}/${proj}/${imagewithtag} + Should Contain ${output} The image is not signed in Notary + Should Not Be Equal As Integers ${rc} 0 + Cannot Push image [Arguments] ${ip} ${user} ${pwd} ${project} ${image} Log To Console \nRunning docker push ${image}... @@ -123,4 +131,4 @@ Kill Local Docker Daemon Terminate Process ${handle} Process Should Be Stopped ${handle} ${rc}= Run And Return Rc kill -9 ${dockerd-pid} - Should Be Equal As Integers ${rc} 0 \ No newline at end of file + Should Be Equal As Integers ${rc} 0 diff --git a/tests/resources/Harbor-Pages/Project-Config.robot b/tests/resources/Harbor-Pages/Project-Config.robot new file mode 100644 index 000000000..a51e01ba2 --- /dev/null +++ b/tests/resources/Harbor-Pages/Project-Config.robot @@ -0,0 +1,50 @@ +*** Settings *** + +Resource ../../resources/Util.robot + +*** Variables *** +${HARBOR_VERSION} V1.1.1 + +*** Keywords *** + +Goto Project Config + Click Element //project-detail//ul/li[contains(.,'Configuration')] + +Click Project Public + Mouse Down //hbr-project-policy-config//input[@name='public'] + Mouse Up //hbr-project-policy-config//input[@name='public'] + +Click Content Trust + Mouse Down //hbr-project-policy-config//input[@name='content-trust'] + Mouse Up //hbr-project-policy-config//input[@name='content-trust'] + +Click Prevent Running + Mouse Down //hbr-project-policy-config//input[@name='prevent-vulnerability-image'] + Mouse Up //hbr-project-policy-config//input[@name='prevent-vulnerability-image'] + +Select Prevent Level +#value NEGLIGIBLE LOW MEDIUM HIGH + [Arguments] ${level} + Click Element //hbr-project-policy-config//select + Click Element //hbr-project-policy-config//select/option[contains(.,'${level}')] +Click Auto Scan + Mouse Down //hbr-project-policy-config//input[@name='scan-image-on-push'] + Mouse Up //hbr-project-policy-config//input[@name='scan-image-on-push'] + +Save Project Config + Sleep 1 + Click Element //hbr-project-policy-config//button[contains(.,'SAVE')] + +#assert +Public Should Be Selected + Checkbox Should Be Selected //hbr-project-policy-config//input[@name='public'] +Project Should Be Public + [Arguments] ${projid} + Page Should Contain Element //clr-dg-row-master[contains(.,'${projid}')]//clr-dg-cell[contains(.,'Public')] +Content Trust Should Be Selected + Checkbox Should Be Selected //hbr-project-policy-config//input[@name='content-trust'] +Prevent Running Should Be Selected + Checkbox Should Be Selected //hbr-project-policy-config//input[@name='prevent-vulnerability-image'] +Auto Scan Should Be Selected + Checkbox Should Be Selected //hbr-project-policy-config//input[@name='scan-image-on-push'] + diff --git a/tests/resources/Util.robot b/tests/resources/Util.robot index 1c3bbb9df..ae1012734 100644 --- a/tests/resources/Util.robot +++ b/tests/resources/Util.robot @@ -45,3 +45,4 @@ Resource Admiral-Util.robot Resource OVA-Util.robot Resource Cert-Util.robot Resource SeleniumUtil.robot +Resource Harbor-Pages/Project-Config.robot diff --git a/tests/robot-cases/Group0-BAT/BAT.robot b/tests/robot-cases/Group0-BAT/BAT.robot index 63530f2f9..044d94e54 100644 --- a/tests/robot-cases/Group0-BAT/BAT.robot +++ b/tests/robot-cases/Group0-BAT/BAT.robot @@ -137,6 +137,37 @@ Test Case - Manage project publicity Project Should Display project${d} Close Browser +Test Case - Project Level Policy Public + Init Chrome Driver + ${d}= Get Current Date result_format=%m%s + Sign In Harbor ${HARBOR_URL} %{HARBOR_ADMIN} %{HARBOR_PASSWORD} + Create An New Project project${d} + Go Into Project project${d} + Goto Project Config + Click Project Public + Save Project Config + #verify + Public Should Be Selected + Back To Projects + #project${d} default should be private + Project Should Be Public project${d} + Close Browser + +Test Case - Project Level Policy Content Trust + Init Chrome Driver + ${d}= Get Current Date result_format=%m%s + Sign In Harbor ${HARBOR_URL} %{HARBOR_ADMIN} %{HARBOR_PASSWORD} + Create An New Project project${d} + Push Image ${ip} %{HARBOR_ADMIN} %{HARBOR_PASSWORD} project${d} hello-world:latest + Go Into Project project${d} + Goto Project Config + Click Content Trust + Save Project Config + #verify + Content Trust Should Be Selected + Cannot Pull Unsigned Image ${ip} %{HARBOR_ADMIN} %{HARBOR_PASSWORD} project${d} hello-world:latest + Close Browser + Test Case - Edit Project Creation # create normal user and login Init Chrome Driver