mirror of
https://github.com/goharbor/harbor.git
synced 2024-08-27 14:29:36 +02:00
90 lines
3.3 KiB
Plaintext
90 lines
3.3 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 Longevity
|
|
Resource ../../resources/Util.robot
|
|
Suite Teardown Collect Nightly Logs ${ip} ${SSH_PWD}
|
|
|
|
*** Variables ***
|
|
${HARBOR_URL} https://${ip}
|
|
${SSH_USER} root
|
|
|
|
${image0} consul
|
|
${image1} node
|
|
${image2} tomcat
|
|
${image3} redis
|
|
${image4} httpd
|
|
${image5} busybox
|
|
${image6} mysql
|
|
${image7} registry
|
|
${image8} mongo
|
|
${image9} memcached
|
|
|
|
*** Keywords ***
|
|
Longevity setup
|
|
Run Keyword CA setup
|
|
Run Keyword Prepare Docker Cert ${ip}
|
|
Run Keyword Start Docker Daemon Locally
|
|
|
|
CA setup
|
|
Open Connection ${ip}
|
|
Login ${SSH_USER} ${SSH_PWD}
|
|
SSHLibrary.Get File /data/ca_download/ca.crt
|
|
Close All Connections
|
|
Run mv ca.crt harbor_ca.crt
|
|
Generate Certificate Authority For Chrome ${HARBOR_PASSWORD}
|
|
|
|
Regression Test With DB
|
|
[Arguments] ${HARBOR_URL}
|
|
Run Keyword And Continue On Failure Exe Regression Test Cases ${HARBOR_URL}
|
|
|
|
Exe Regression Test Cases
|
|
[Arguments] ${HARBOR_URL}
|
|
|
|
# New user, new project, push image, pull image
|
|
Init Chrome Driver
|
|
${d}= Get Current Date result_format=%m%s
|
|
Create An New Project With New User url=${HARBOR_URL} username=tester${d} email=tester${d}@vmware.com realname=tester${d} newPassword=Test1@34 comment=harbor projectname=project${d} public=false
|
|
|
|
${rand}= Evaluate random.randint(0, 1) modules=random
|
|
Run Keyword If '${rand}' == '0' Generate Prepared Image ${ip} tester${d} project${d}
|
|
Run Keyword If '${rand}' == '1' Generate Random 10MB Image ${ip} tester${d} project${d}
|
|
|
|
Close Browser
|
|
|
|
Generate Prepared Image
|
|
[Arguments] ${ip} ${user} ${project}
|
|
${rand}= Evaluate random.randint(0, 9) modules=random
|
|
Push image ${ip} ${user} Test1@34 ${project} ${image${rand}}:latest
|
|
Pull image ${ip} ${user} Test1@34 ${project} ${image${rand}}:latest
|
|
Pull image ${ip} ${user} Test1@34 ${project} ${image${rand}}:latest
|
|
|
|
Generate Random 10MB Image
|
|
[Arguments] ${ip} ${user} ${project}
|
|
${rand}= Evaluate random.randint(0, 10000) modules=random
|
|
${rc}= Run And Return Rc docker build -f ./tests/robot-cases/Group12-Longevity/Dockerfile.longevity -t longevity${rand}:latest .
|
|
Should Be Equal As Integers ${rc} 0
|
|
Push image ${ip} ${user} Test1@34 ${project} longevity${rand}:latest
|
|
Pull image ${ip} ${user} Test1@34 ${project} longevity${rand}:latest
|
|
Pull image ${ip} ${user} Test1@34 ${project} longevity${rand}:latest
|
|
|
|
*** Test Cases ***
|
|
Longevity
|
|
Run Keyword Longevity setup
|
|
# Each loop should take between 1 and 2 hours
|
|
:FOR ${idx} IN RANGE 0 48
|
|
\ ${rand}= Evaluate random.randint(10, 50) modules=random
|
|
\ Log To Console \nLoop: ${idx}
|
|
\ Repeat Keyword ${rand} times Regression Test With DB ${HARBOR_URL} |