Log To Console"Verify Proxy Cache Image Existence..."
# Only the 3rd project has cached image, so use index 2 of projects for verification.
@{project}=Get Value From Json${json}$.projects.[2].name
Init Chrome Driver
Sign In Harbor${HARBOR_URL}${HARBOR_ADMIN}${HARBOR_PASSWORD}
FOR${project}IN@{project}
@{repo}=Get Value From Json${json}$.projects[?(@.name=${project})].repo
Loop Repo${project}@{repo}
END
Close Browser
Verify Distributions
[Arguments]${json}
Log To Console"Verify Distributions..."
Init Chrome Driver
Sign In Harbor${HARBOR_URL}${HARBOR_ADMIN}${HARBOR_PASSWORD}
@{distribution_names}=Get Value From Json${json}$.distributions..name
Switch To Distribution
FOR${name}IN@{distribution_names}
${endpoint}=Get Value From Json${json}$.distributions[?(@.name=${name})].endpoint
${vendor}=Get Value From Json${json}$.distributions[?(@.name=${name})].vendor
${auth_mode}=Get Value From Json${json}$.distributions[?(@.name=${name})].auth_mode
Retry Wait Until Page Contains Element//div[@class='datagrid-scrolling-cells' and contains(.,'${name}') and contains(.,'${endpoint}[0]') and contains(.,'${vendor}[0]') and contains(.,'${auth_mode}[0]')]
END
Verify P2P Preheat Policy
[Arguments]${json}
Log To Console"P2P Preheat Policy..."
Init Chrome Driver
Sign In Harbor${HARBOR_URL}${HARBOR_ADMIN}${HARBOR_PASSWORD}
Navigate To Projects
@{project}=Get Value From Json${json}$.projects.[*].name
FOR${project}IN@{project}
@{p2p_preheat_policys}=Get Value From Json${json}$.projects[?(@.name=${project})].p2p_preheat_policy
@{policy_names}=Get Value From Json${json}$.projects[?(@.name=${project})].p2p_preheat_policy..name
@{out_has_image}=Get Value From Json${json}$.projects[?(@.name=${project})].has_image