mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-25 03:35:21 +01:00
Update testcase for test env change, especially for webhook configuration
Signed-off-by: stonezdj <stone.zhang@broadcom.com>
This commit is contained in:
parent
201d421dad
commit
d67cdd7858
@ -38,9 +38,6 @@ def cnab_push_bundle(bundle_file, target):
|
||||
def push_cnab_bundle(harbor_server, user, password, service_image, invocation_image, target, auto_update_bundle = True):
|
||||
docker_api.docker_info_display()
|
||||
|
||||
#Add docker login command to avoid pull request access rate elimitation by docker hub
|
||||
docker_api.docker_login_cmd("", DOCKER_USER, DOCKER_PWD, enable_manifest = False)
|
||||
|
||||
docker_api.docker_login_cmd(harbor_server, user, password, enable_manifest = False)
|
||||
bundle_file = load_bundle(service_image, invocation_image)
|
||||
fixed_bundle_file = cnab_fixup_bundle(bundle_file, target, auto_update_bundle = auto_update_bundle)
|
||||
|
@ -71,7 +71,7 @@ class TestCNAB(unittest.TestCase):
|
||||
|
||||
#3. Push bundle to harbor as repository(RA);
|
||||
target = harbor_server + "/" + TestCNAB.project_name + "/" + TestCNAB.cnab_repo_name + ":" + TestCNAB.cnab_tag
|
||||
TestCNAB.reference_sha256 = library.cnab.push_cnab_bundle(harbor_server, TestCNAB.user_name, TestCNAB.user_push_cnab_password, "goharbor/harbor-log:v1.10.0", "kong:latest", target)
|
||||
TestCNAB.reference_sha256 = library.cnab.push_cnab_bundle(harbor_server, TestCNAB.user_name, TestCNAB.user_push_cnab_password, "registry.goharbor.io/nightly/goharbor/harbor-log:v1.10.0", "registry.goharbor.io/nightly/library/kong:latest", target)
|
||||
|
||||
#4. Get repository from Harbor successfully;
|
||||
TestCNAB.cnab_bundle_data = TestCNAB.repo.get_repository(TestCNAB.project_name, TestCNAB.cnab_repo_name, **TestCNAB.USER_CLIENT)
|
||||
|
@ -81,8 +81,8 @@ list_project = Permission("{}/projects".format(harbor_base_url), "GET", 200, pro
|
||||
registry_payload = {
|
||||
"insecure": False,
|
||||
"name": "registry-{}".format(random.randint(1000, 9999)),
|
||||
"type": "docker-hub",
|
||||
"url": "https://hub.docker.com"
|
||||
"type": "harbor",
|
||||
"url": "https://registry.goharbor.io"
|
||||
}
|
||||
create_registry = Permission("{}/registries".format(harbor_base_url), "POST", 201, registry_payload, "id", id_from_header=True)
|
||||
list_registry = Permission("{}/registries".format(harbor_base_url), "GET", 200, registry_payload)
|
||||
@ -93,8 +93,8 @@ delete_registry = Permission("{}/registries/{}".format(harbor_base_url, ID_PLACE
|
||||
registry_ping_payload = {
|
||||
"insecure": False,
|
||||
"name": "registry-{}".format(random.randint(1000, 9999)),
|
||||
"type": "docker-hub",
|
||||
"url": "https://hub.docker.com"
|
||||
"type": "harbor",
|
||||
"url": "https://registry.goharbor.io"
|
||||
}
|
||||
ping_registry = Permission("{}/registries/ping".format(harbor_base_url), "POST", 200, registry_ping_payload)
|
||||
# registry permissions end
|
||||
|
@ -261,6 +261,19 @@ Docker Image Can Not Be Pulled
|
||||
Log To Console Cannot Pull Image From Docker - Pull Log: ${out[1]}
|
||||
Should Be Equal As Strings '${out[0]}' 'PASS'
|
||||
|
||||
Docker Image Can Not Be Pulled With Credential
|
||||
[Arguments] ${server} ${username} ${password} ${image}
|
||||
FOR ${idx} IN RANGE 0 30
|
||||
${out}= Run Keyword And Ignore Error Docker Login ${server} ${username} ${password}
|
||||
Log To Console Return value is ${out}
|
||||
${out}= Run Keyword And Ignore Error Command Should be Failed docker pull ${image}
|
||||
Exit For Loop If '${out[0]}'=='PASS'
|
||||
Log To Console Docker pull return value is ${out}
|
||||
Sleep 3
|
||||
END
|
||||
Log To Console Cannot Pull Image From Docker - Pull Log: ${out[1]}
|
||||
Should Be Equal As Strings '${out[0]}' 'PASS'
|
||||
|
||||
Docker Image Can Be Pulled
|
||||
[Arguments] ${image} ${period}=60 ${times}=2
|
||||
FOR ${n} IN RANGE 1 ${times}
|
||||
@ -274,3 +287,17 @@ Docker Image Can Be Pulled
|
||||
END
|
||||
Run Keyword If '${out[0]}'=='FAIL' Capture Page Screenshot
|
||||
Should Be Equal As Strings '${out[0]}' 'PASS'
|
||||
|
||||
Docker Image Can Be Pulled With Credential
|
||||
[Arguments] ${server} ${username} ${password} ${image} ${period}=60 ${times}=2
|
||||
FOR ${n} IN RANGE 1 ${times}
|
||||
Sleep ${period}
|
||||
${out}= Run Keyword And Ignore Error Docker Login ${server} ${username} ${password}
|
||||
Log To Console Return value is ${out}
|
||||
${out}= Run Keyword And Ignore Error Docker Pull ${image}
|
||||
Log To Console Return value is ${out[0]}
|
||||
Exit For Loop If '${out[0]}'=='PASS'
|
||||
Sleep 5
|
||||
END
|
||||
Run Keyword If '${out[0]}'=='FAIL' Capture Page Screenshot
|
||||
Should Be Equal As Strings '${out[0]}' 'PASS'
|
@ -302,11 +302,13 @@ Body Of Replication Of Push Images to Registry Triggered By Event
|
||||
Select Rule rule${d}
|
||||
${endpoint_body}= Fetch From Right ${endpoint} //
|
||||
${dest_namespace}= Set Variable If '${provider}'=='gitlab' ${endpoint_body}/${dest_namespace} ${dest_namespace}
|
||||
Run Keyword If '${provider}'=='docker-hub' or '${provider}'=='gitlab' Docker Image Can Be Pulled ${dest_namespace}/${image}:${tag1} times=3
|
||||
Run Keyword If '${provider}'=='docker-hub' Docker Image Can Be Pulled ${dest_namespace}/${image}:${tag1} times=3
|
||||
Run Keyword If '${provider}'=='gitlab' Docker Image Can Be Pulled With Credential registry.gitlab.com ${username} ${pwd} ${dest_namespace}/${image}:${tag1} times=3
|
||||
Executions Result Count Should Be Succeeded event_based 1
|
||||
Go Into Project project${d}
|
||||
Delete Repo project${d} ${image}
|
||||
Run Keyword If '${provider}'=='docker-hub' or '${provider}'=='gitlab' Docker Image Can Not Be Pulled ${dest_namespace}/${image}:${tag1}
|
||||
Run Keyword If '${provider}'=='docker-hub' Docker Image Can Not Be Pulled ${dest_namespace}/${image}:${tag1}
|
||||
Run Keyword If '${provider}'=='gitlab' Docker Image Can Not Be Pulled With Credential registry.gitlab.com ${username} ${pwd} ${dest_namespace}/${image}:${tag1}
|
||||
Switch To Replication Manage
|
||||
Filter Replication Rule rule${d}
|
||||
Select Rule rule${d}
|
||||
@ -669,14 +671,14 @@ Create Schedules For Job Service Dashboard Schedules
|
||||
Add A Tag Retention Rule
|
||||
Set Tag Retention Policy Schedule ${schedule_type} ${schedule_cron}
|
||||
# Create a preheat policy triggered by schedule
|
||||
Create An New Distribution Dragonfly ${distribution_name} ${distribution_endpoint}
|
||||
Create An New Distribution Dragonfly ${distribution_name} ${distribution_endpoint} ${DRAGONFLY_AUTH_TOKEN}
|
||||
Go Into Project ${project_name}
|
||||
Create An New P2P Preheat Policy ${p2p_policy_name} ${distribution_name} ** ** Scheduled ${schedule_type} ${schedule_cron}
|
||||
# Create a replication policy triggered by schedule
|
||||
Switch to Registries
|
||||
Create A New Endpoint docker-hub docker-hub${d} ${null} ${null} ${null} Y
|
||||
Create A New Endpoint harbor goharbor${d} ${null} ${null} ${null} Y
|
||||
Switch To Replication Manage
|
||||
Create A Rule With Existing Endpoint ${replication_policy_name} pull goharbor/harbor-core image docker-hub${d} ${project_name} filter_tag=dev mode=Scheduled cron=${schedule_cron}
|
||||
Create A Rule With Existing Endpoint ${replication_policy_name} pull harbor-ci/goharbor/harbor-core image goharbor${d} ${project_name} filter_tag=dev mode=Scheduled cron=${schedule_cron}
|
||||
# Set up a schedule to scan all
|
||||
Switch To Vulnerability Page
|
||||
Set Scan Schedule Custom value=${schedule_cron}
|
||||
|
@ -299,10 +299,11 @@ Test Case - Replication Of Pull Images from Gitlab To Self
|
||||
${image1}= Get From Dictionary ${image1_with_tag} image
|
||||
${image2}= Get From Dictionary ${image2_with_tag} image
|
||||
@{target_images}= Create List '&{image1_with_tag}' '&{image2_with_tag}'
|
||||
Body Of Replication Of Pull Images from Registry To Self gitlab https://registry.gitlab.com ${gitlab_id} ${gitlab_key} dannylunsa/test_replication/{${image1},${image2}} ${null} N Flatten All Levels @{target_images}
|
||||
#harbor424542/harbor-ci is the project created in gitlab by user stonezdj, change it when the gitlab user changed
|
||||
Body Of Replication Of Pull Images from Registry To Self gitlab https://registry.gitlab.com ${gitlab_id} ${gitlab_key} harbor424542/harbor-ci/{${image1},${image2}} ${null} N Flatten All Levels @{target_images}
|
||||
|
||||
Test Case - Replication Of Push Images to Gitlab Triggered By Event
|
||||
Body Of Replication Of Push Images to Registry Triggered By Event gitlab https://registry.gitlab.com ${gitlab_id} ${gitlab_key} dannylunsa/test_replication
|
||||
Body Of Replication Of Push Images to Registry Triggered By Event gitlab https://registry.gitlab.com ${gitlab_id} ${gitlab_key} harbor424542/harbor-ci
|
||||
|
||||
Test Case - Replication Of Pull Manifest List and CNAB from Harbor To Self
|
||||
&{image1_with_tag}= Create Dictionary image=busybox tag=1.32.0 total_artifact_count=9 archive_count=0
|
||||
|
@ -43,7 +43,7 @@ Test Case - Artifact Event Type Webhook Functionality
|
||||
${image}= Set Variable busybox
|
||||
${tag}= Set Variable latest
|
||||
${d}= Get Current Date result_format=%m%s
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
@ -70,7 +70,7 @@ Test Case - Scan Event Type Webhook Functionality
|
||||
${image2}= Set Variable goharbor/harbor-e2e-engine
|
||||
${tag2}= Set Variable latest-api
|
||||
${d}= Get Current Date result_format=%m%s
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
@ -96,7 +96,7 @@ Test Case - Tag Retention And Replication Event Type Webhook Functionality
|
||||
${tag1}= Set Variable latest
|
||||
${tag2}= Set Variable stable
|
||||
${d}= Get Current Date result_format=%m%s
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
@ -124,7 +124,7 @@ Test Case - Tag Retention And Replication Event Type Webhook Functionality
|
||||
Test Case - Tag Quota Event Type Webhook Functionality
|
||||
[Tags] quota_webhook need_webhook_endpoint
|
||||
Init Chrome Driver
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
@ -141,7 +141,7 @@ Test Case - Artifact Event Type Webhook Functionality By CloudEvents Format
|
||||
${tag}= Set Variable latest
|
||||
${payload_format}= Set Variable CloudEvents
|
||||
${d}= Get Current Date result_format=%m%s
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
@ -169,7 +169,7 @@ Test Case - Scan Event Type Webhook Functionality By CloudEvents Format
|
||||
${tag2}= Set Variable 5.0.0-api
|
||||
${payload_format}= Set Variable CloudEvents
|
||||
${d}= Get Current Date result_format=%m%s
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
@ -196,7 +196,7 @@ Test Case - Tag Retention And Replication Event Type Webhook Functionality By Cl
|
||||
${tag2}= Set Variable stable
|
||||
${payload_format}= Set Variable CloudEvents
|
||||
${d}= Get Current Date result_format=%m%s
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
@ -225,7 +225,7 @@ Test Case - Tag Quota Event Type Webhook Functionality By CloudEvents Format
|
||||
[Tags] quota_webhook_cloudevents need_webhook_endpoint
|
||||
${payload_format}= Set Variable CloudEvents
|
||||
Init Chrome Driver
|
||||
Go To http://${WEBHOOK_ENDPOINT}
|
||||
Go To http://${WEBHOOK_ENDPOINT_UI}
|
||||
${webhook_endpoint_url}= Get Text //p//code
|
||||
New Tab
|
||||
Sign In Harbor ${HARBOR_URL} ${HARBOR_ADMIN} ${HARBOR_PASSWORD}
|
||||
|
Loading…
Reference in New Issue
Block a user