From e337edc50fdf6eb1e96b0a9a8877719a31108a8e Mon Sep 17 00:00:00 2001 From: Anatolii Bazko Date: Fri, 15 Sep 2023 15:01:10 +0200 Subject: [PATCH 1/2] chore: Add Eclipse Che server azure and gitlab providers tests (#564) * chore: Add Eclipse Che server azure and gitlab providers tests Signed-off-by: Anatolii Bazko --- .ci/openshift-ci/common.sh | 41 +++++++------------ ...azure-no-pat-oauth-flow-raw-devfile-url.sh | 36 ++++++++++++++++ .../test-azure-no-pat-oauth-flow-ssh-url.sh | 38 +++++++++++++++++ ...itlab-no-pat-oauth-flow-raw-devfile-url.sh | 35 ++++++++++++++++ .../test-gitlab-no-pat-oauth-flow-ssh-url.sh | 37 +++++++++++++++++ 5 files changed, 160 insertions(+), 27 deletions(-) create mode 100644 .ci/openshift-ci/test-azure-no-pat-oauth-flow-raw-devfile-url.sh create mode 100644 .ci/openshift-ci/test-azure-no-pat-oauth-flow-ssh-url.sh create mode 100644 .ci/openshift-ci/test-gitlab-no-pat-oauth-flow-raw-devfile-url.sh create mode 100644 .ci/openshift-ci/test-gitlab-no-pat-oauth-flow-ssh-url.sh diff --git a/.ci/openshift-ci/common.sh b/.ci/openshift-ci/common.sh index d8d4a9ab40..fc35495781 100644 --- a/.ci/openshift-ci/common.sh +++ b/.ci/openshift-ci/common.sh @@ -98,44 +98,31 @@ requestFactoryResolverGitRepoUrl() { # check that factory resolver returns correct value without any PAT/OAuth setup testFactoryResolverNoPatOAuth() { - PUBLIC_REPO_URL=$1 - PRIVATE_REPO_URL=$2 - echo "[INFO] Check factory resolver for public repository with NO PAT/OAuth setup" - if [ "$(requestFactoryResolverGitRepoUrl ${PUBLIC_REPO_URL} | grep "HTTP/1.1 200")" ]; then - echo "[INFO] Factory resolver returned 'HTTP/1.1 200' status code." - else - echo "[ERROR] Factory resolver returned wrong status code. Expected: HTTP/1.1 200." - exit 1 - fi + testFactoryResolverResponse $1 200 echo "[INFO] Check factory resolver for private repository with NO PAT/OAuth setup" - if [ "$(requestFactoryResolverGitRepoUrl ${PRIVATE_REPO_URL} | grep "HTTP/1.1 400")" ]; then - echo "[INFO] Factory resolver returned 'HTTP/1.1 400' status code. Expected client side error." - else - echo "[ERROR] Factory resolver returned wrong status code. Expected 'HTTP/1.1 400'." - exit 1 - fi + testFactoryResolverResponse $2 400 } # check that factory resolver returns correct value with PAT/OAuth setup testFactoryResolverWithPatOAuth() { - PUBLIC_REPO_URL=$1 - PRIVATE_REPO_URL=$2 - echo "[INFO] Check factory resolver for public repository with PAT/OAuth setup" - if [ "$(requestFactoryResolverGitRepoUrl ${PUBLIC_REPO_URL} | grep "HTTP/1.1 200")" ]; then - echo "[INFO] Factory resolver returned 'HTTP/1.1 200' status code." - else - echo "[ERROR] Factory resolver returned wrong status code. Expected: HTTP/1.1 200" - exit 1 - fi + testFactoryResolverResponse $1 200 echo "[INFO] Check factory resolver for private repository with PAT/OAuth setup" - if [ "$(requestFactoryResolverGitRepoUrl ${PRIVATE_REPO_URL} | grep "HTTP/1.1 200")" ]; then - echo "[INFO] Factory resolver returned 'HTTP/1.1 200' status code." + testFactoryResolverResponse $2 200 +} + +testFactoryResolverResponse() { + URL=$1 + RESPONSE_CODE=$2 + + echo "[INFO] Check factory resolver" + if [ "$(requestFactoryResolverGitRepoUrl ${URL} | grep "HTTP/1.1 ${RESPONSE_CODE}")" ]; then + echo "[INFO] Factory resolver returned 'HTTP/1.1 ${RESPONSE_CODE}' status code. Expected client side response." else - echo "[ERROR] Factory resolver returned wrong status code. Expected: HTTP/1.1 200" + echo "[ERROR] Factory resolver returned wrong status code. Expected: HTTP/1.1 ${RESPONSE_CODE}." exit 1 fi } diff --git a/.ci/openshift-ci/test-azure-no-pat-oauth-flow-raw-devfile-url.sh b/.ci/openshift-ci/test-azure-no-pat-oauth-flow-raw-devfile-url.sh new file mode 100644 index 0000000000..3c2c2e0ace --- /dev/null +++ b/.ci/openshift-ci/test-azure-no-pat-oauth-flow-raw-devfile-url.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Copyright (c) 2023 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Red Hat, Inc. - initial API and implementation +# + +# exit immediately when a command fails +set -ex +# only exit with zero if all commands of the pipeline exit successfully +set -o pipefail + +export PUBLIC_REPO_RAW_PATH_URL=${PUBLIC_REPO_RAW_PATH_URL:-"https://dev.azure.com/chepullreq1/che-pr-public/_apis/git/repositories/public-repo/items?path=/devfile.yaml"} +export PRIVATE_REPO_RAW_PATH_URL=${PRIVATE_REPO_URL:-"https://dev.azure.com/chepullreq1/che-pr-private/_apis/git/repositories/private-repo/items?path=/devfile.yaml"} + +# import common test functions +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +source "${SCRIPT_DIR}"/common.sh + +trap "catchFinish" EXIT SIGINT + +setupTestEnvironment ${OCP_NON_ADMIN_USER_NAME} +testFactoryResolverResponse ${PUBLIC_REPO_RAW_PATH_URL} 200 +testFactoryResolverResponse ${PRIVATE_REPO_RAW_PATH_URL} 500 + +testCloneGitRepoNoProjectExists ${PUBLIC_REPO_WORKSPACE_NAME} ${PUBLIC_PROJECT_NAME} ${PUBLIC_REPO_RAW_PATH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PUBLIC_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +testCloneGitRepoNoProjectExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_RAW_PATH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} \ No newline at end of file diff --git a/.ci/openshift-ci/test-azure-no-pat-oauth-flow-ssh-url.sh b/.ci/openshift-ci/test-azure-no-pat-oauth-flow-ssh-url.sh new file mode 100644 index 0000000000..1218db1bbf --- /dev/null +++ b/.ci/openshift-ci/test-azure-no-pat-oauth-flow-ssh-url.sh @@ -0,0 +1,38 @@ + +#!/bin/bash +# +# Copyright (c) 2023 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Red Hat, Inc. - initial API and implementation +# + +# exit immediately when a command fails +set -ex +# only exit with zero if all commands of the pipeline exit successfully +set -o pipefail + +export PUBLIC_REPO_SSH_URL=${PUBLIC_REPO_SSH_URL:-"git@ssh.dev.azure.com:v3/chepullreq1/che-pr-public/public-repo"} +export PRIVATE_REPO_SSH_URL=${PRIVATE_REPO_SSH_URL:-"git@ssh.dev.azure.com:v3/chepullreq1/che-pr-private/private-repo"} + +# import common test functions +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +source "${SCRIPT_DIR}"/common.sh + +trap "catchFinish" EXIT SIGINT + +setupTestEnvironment ${OCP_NON_ADMIN_USER_NAME} +setupSSHKeyPairs "${AZURE_PRIVATE_KEY}" "${AZURE_PUBLIC_KEY}" +testFactoryResolverResponse ${PUBLIC_REPO_SSH_URL} 200 +testFactoryResolverResponse ${PRIVATE_REPO_SSH_URL} 500 + +testCloneGitRepoProjectShouldExists ${PUBLIC_REPO_WORKSPACE_NAME} ${PUBLIC_PROJECT_NAME} ${PUBLIC_REPO_SSH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PUBLIC_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_SSH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} \ No newline at end of file diff --git a/.ci/openshift-ci/test-gitlab-no-pat-oauth-flow-raw-devfile-url.sh b/.ci/openshift-ci/test-gitlab-no-pat-oauth-flow-raw-devfile-url.sh new file mode 100644 index 0000000000..b12a21369e --- /dev/null +++ b/.ci/openshift-ci/test-gitlab-no-pat-oauth-flow-raw-devfile-url.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# +# Copyright (c) 2023 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Red Hat, Inc. - initial API and implementation +# + +# exit immediately when a command fails +set -ex +# only exit with zero if all commands of the pipeline exit successfully +set -o pipefail + +export PUBLIC_REPO_RAW_PATH_URL=${PUBLIC_REPO_RAW_PATH_URL:-"https://gitlab.com/chepullreq1/public-repo/-/raw/main/devfile.yaml"} +export PRIVATE_REPO_RAW_PATH_URL=${PRIVATE_REPO_URL:-"https://gitlab.com/chepullreq1/private-repo/-/raw/main/devfile.yaml"} + +# import common test functions +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +source "${SCRIPT_DIR}"/common.sh + +trap "catchFinish" EXIT SIGINT + +setupTestEnvironment ${OCP_NON_ADMIN_USER_NAME} +testFactoryResolverNoPatOAuth ${PUBLIC_REPO_RAW_PATH_URL} ${PRIVATE_REPO_RAW_PATH_URL} + +testCloneGitRepoNoProjectExists ${PUBLIC_REPO_WORKSPACE_NAME} ${PUBLIC_PROJECT_NAME} ${PUBLIC_REPO_RAW_PATH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PUBLIC_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +testCloneGitRepoNoProjectExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_RAW_PATH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} diff --git a/.ci/openshift-ci/test-gitlab-no-pat-oauth-flow-ssh-url.sh b/.ci/openshift-ci/test-gitlab-no-pat-oauth-flow-ssh-url.sh new file mode 100644 index 0000000000..13abdb607a --- /dev/null +++ b/.ci/openshift-ci/test-gitlab-no-pat-oauth-flow-ssh-url.sh @@ -0,0 +1,37 @@ + +#!/bin/bash +# +# Copyright (c) 2023 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# Red Hat, Inc. - initial API and implementation +# + +# exit immediately when a command fails +set -ex +# only exit with zero if all commands of the pipeline exit successfully +set -o pipefail + +export PUBLIC_REPO_SSH_URL=${PUBLIC_REPO_SSH_URL:-"git@gitlab.com:chepullreq1/public-repo.git"} +export PRIVATE_REPO_SSH_URL=${PRIVATE_REPO_SSH_URL:-"git@gitlab.com:chepullreq1/private-repo.git"} + +# import common test functions +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +source "${SCRIPT_DIR}"/common.sh + +trap "catchFinish" EXIT SIGINT + +setupTestEnvironment ${OCP_NON_ADMIN_USER_NAME} +setupSSHKeyPairs "${GITLAB_PRIVATE_KEY}" "${GITLAB_PUBLIC_KEY}" +testFactoryResolverNoPatOAuth ${PUBLIC_REPO_SSH_URL} ${PRIVATE_REPO_SSH_URL} + +testCloneGitRepoProjectShouldExists ${PUBLIC_REPO_WORKSPACE_NAME} ${PUBLIC_PROJECT_NAME} ${PUBLIC_REPO_SSH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PUBLIC_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_SSH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} \ No newline at end of file From a3cceea64003568143f8e02b9dbfb76e9917ccdb Mon Sep 17 00:00:00 2001 From: Anatolii Bazko Date: Mon, 18 Sep 2023 11:18:37 +0200 Subject: [PATCH 2/2] chore: Add tests to start a workspace from raw devfile and ssh urls when PAT configured (#566) Signed-off-by: Anatolii Bazko --- .../test-azure-with-pat-setup-flow.sh | 16 ++++++++++++++++ .../test-github-with-pat-setup-flow.sh | 16 ++++++++++++++++ .../test-gitlab-with-pat-setup-flow.sh | 16 ++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/.ci/openshift-ci/test-azure-with-pat-setup-flow.sh b/.ci/openshift-ci/test-azure-with-pat-setup-flow.sh index bc69772ca7..8fe8f4ba20 100644 --- a/.ci/openshift-ci/test-azure-with-pat-setup-flow.sh +++ b/.ci/openshift-ci/test-azure-with-pat-setup-flow.sh @@ -20,6 +20,8 @@ export PUBLIC_REPO_URL=${PUBLIC_REPO_URL:-"https://chepullreq1@dev.azure.com/che export PRIVATE_REPO_URL=${PRIVATE_REPO_URL:-"https://dev.azure.com/chepullreq1/che-pr-private/_git/private-repo"} export GIT_PROVIDER_TYPE=${GIT_PROVIDER_TYPE:-"azure-devops"} export GIT_PROVIDER_URL=${GIT_PROVIDER_URL:-"https://dev.azure.com"} +export PRIVATE_REPO_SSH_URL=${PRIVATE_REPO_SSH_URL:-"git@ssh.dev.azure.com:v3/chepullreq1/che-pr-private/private-repo"} +export PRIVATE_REPO_RAW_PATH_URL=${PRIVATE_REPO_URL:-"https://dev.azure.com/chepullreq1/che-pr-private/_apis/git/repositories/private-repo/items?path=/devfile.yaml"} # import common test functions SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" @@ -31,11 +33,25 @@ setupTestEnvironment ${OCP_NON_ADMIN_USER_NAME} setupPersonalAccessToken ${GIT_PROVIDER_TYPE} ${GIT_PROVIDER_URL} ${AZURE_PAT} requestProvisionNamespace testFactoryResolverWithPatOAuth ${PUBLIC_REPO_URL} ${PRIVATE_REPO_URL} + echo "[INFO] Check clone public repository with PAT setup" testCloneGitRepoProjectShouldExists ${PUBLIC_REPO_WORKSPACE_NAME} ${PUBLIC_PROJECT_NAME} ${PUBLIC_REPO_URL} ${USER_CHE_NAMESPACE} testGitCredentialsData ${USER_CHE_NAMESPACE} ${AZURE_PAT} ${GIT_PROVIDER_URL} deleteTestWorkspace ${PUBLIC_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + echo "[INFO] Check clone private repository with PAT setup" testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_URL} ${USER_CHE_NAMESPACE} testGitCredentialsData ${USER_CHE_NAMESPACE} ${AZURE_PAT} ${GIT_PROVIDER_URL} deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +echo "[INFO] Check clone private repository by raw devfile URL with PAT setup" +testFactoryResolverResponse ${PRIVATE_REPO_RAW_PATH_URL} 200 +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_RAW_PATH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +setupSSHKeyPairs "${AZURE_PRIVATE_KEY}" "${AZURE_PUBLIC_KEY}" + +echo "[INFO] Check clone private repository by SSH URL with PAT setup" +testFactoryResolverResponse ${PRIVATE_REPO_SSH_URL} 200 +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_SSH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} diff --git a/.ci/openshift-ci/test-github-with-pat-setup-flow.sh b/.ci/openshift-ci/test-github-with-pat-setup-flow.sh index 008d7be760..fa997bc307 100644 --- a/.ci/openshift-ci/test-github-with-pat-setup-flow.sh +++ b/.ci/openshift-ci/test-github-with-pat-setup-flow.sh @@ -20,6 +20,8 @@ export PUBLIC_REPO_URL=${PUBLIC_REPO_URL:-"https://github.com/chepullreq1/public export PRIVATE_REPO_URL=${PRIVATE_REPO_URL:-"https://github.com/chepullreq1/private-repo.git"} export GIT_PROVIDER_TYPE=${GIT_PROVIDER_TYPE:-"github"} export GIT_PROVIDER_URL=${GIT_PROVIDER_URL:-"https://github.com"} +export PRIVATE_REPO_RAW_PATH_URL=${PRIVATE_REPO_URL:-"https://raw.githubusercontent.com/chepullreq1/private-repo/main/devfile.yaml"} +export PRIVATE_REPO_SSH_URL=${PRIVATE_REPO_SSH_URL:-"git@github.com:chepullreq1/private-repo.git"} # import common test functions SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" @@ -31,11 +33,25 @@ setupTestEnvironment ${OCP_NON_ADMIN_USER_NAME} setupPersonalAccessToken ${GIT_PROVIDER_TYPE} ${GIT_PROVIDER_URL} ${GITHUB_PAT} requestProvisionNamespace testFactoryResolverWithPatOAuth ${PUBLIC_REPO_URL} ${PRIVATE_REPO_URL} + echo "[INFO] Check clone public repository with PAT setup" testCloneGitRepoProjectShouldExists ${PUBLIC_REPO_WORKSPACE_NAME} ${PUBLIC_PROJECT_NAME} ${PUBLIC_REPO_URL} ${USER_CHE_NAMESPACE} testGitCredentialsData ${USER_CHE_NAMESPACE} ${GITHUB_PAT} ${GIT_PROVIDER_URL} deleteTestWorkspace ${PUBLIC_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + echo "[INFO] Check clone private repository with PAT setup" testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_URL} ${USER_CHE_NAMESPACE} testGitCredentialsData ${USER_CHE_NAMESPACE} ${GITHUB_PAT} ${GIT_PROVIDER_URL} deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +echo "[INFO] Check clone private repository by raw devfile URL with PAT setup" +testFactoryResolverResponse ${PRIVATE_REPO_RAW_PATH_URL} 200 +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_RAW_PATH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +setupSSHKeyPairs "${GITHUB_PRIVATE_KEY}" "${GITHUB_PUBLIC_KEY}" + +echo "[INFO] Check clone private repository by SSH URL with PAT setup" +testFactoryResolverResponse ${PRIVATE_REPO_SSH_URL} 200 +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_SSH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} \ No newline at end of file diff --git a/.ci/openshift-ci/test-gitlab-with-pat-setup-flow.sh b/.ci/openshift-ci/test-gitlab-with-pat-setup-flow.sh index 17efd771cf..f41519c16a 100644 --- a/.ci/openshift-ci/test-gitlab-with-pat-setup-flow.sh +++ b/.ci/openshift-ci/test-gitlab-with-pat-setup-flow.sh @@ -20,6 +20,8 @@ export PUBLIC_REPO_URL=${PUBLIC_REPO_URL:-"https://gitlab.com/chepullreq1/public export PRIVATE_REPO_URL=${PRIVATE_REPO_URL:-"https://gitlab.com/chepullreq1/private-repo.git"} export GIT_PROVIDER_TYPE=${GIT_PROVIDER_TYPE:-"gitlab"} export GIT_PROVIDER_URL=${GIT_PROVIDER_URL:-"https://gitlab.com"} +export PRIVATE_REPO_SSH_URL=${PRIVATE_REPO_SSH_URL:-"git@gitlab.com:chepullreq1/private-repo.git"} +export PRIVATE_REPO_RAW_PATH_URL=${PRIVATE_REPO_URL:-"https://gitlab.com/chepullreq1/private-repo/-/raw/main/devfile.yaml"} # import common test functions SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" @@ -31,11 +33,25 @@ setupTestEnvironment ${OCP_NON_ADMIN_USER_NAME} setupPersonalAccessToken ${GIT_PROVIDER_TYPE} ${GIT_PROVIDER_URL} ${GITLAB_PAT} requestProvisionNamespace testFactoryResolverWithPatOAuth ${PUBLIC_REPO_URL} ${PRIVATE_REPO_URL} + echo "[INFO] Check clone public repository with PAT setup" testCloneGitRepoProjectShouldExists ${PUBLIC_REPO_WORKSPACE_NAME} ${PUBLIC_PROJECT_NAME} ${PUBLIC_REPO_URL} ${USER_CHE_NAMESPACE} testGitCredentialsData ${USER_CHE_NAMESPACE} ${GITLAB_PAT} ${GIT_PROVIDER_URL} deleteTestWorkspace ${PUBLIC_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + echo "[INFO] Check clone private repository with PAT setup" testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_URL} ${USER_CHE_NAMESPACE} testGitCredentialsData ${USER_CHE_NAMESPACE} ${GITLAB_PAT} ${GIT_PROVIDER_URL} deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +echo "[INFO] Check clone private repository by raw devfile URL with PAT setup" +testFactoryResolverResponse ${PRIVATE_REPO_RAW_PATH_URL} 200 +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_RAW_PATH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE} + +setupSSHKeyPairs "${GITLAB_PRIVATE_KEY}" "${GITLAB_PUBLIC_KEY}" + +echo "[INFO] Check clone private repository by SSH URL with PAT setup" +testFactoryResolverResponse ${PRIVATE_REPO_SSH_URL} 200 +testCloneGitRepoProjectShouldExists ${PRIVATE_REPO_WORKSPACE_NAME} ${PRIVATE_PROJECT_NAME} ${PRIVATE_REPO_SSH_URL} ${USER_CHE_NAMESPACE} +deleteTestWorkspace ${PRIVATE_REPO_WORKSPACE_NAME} ${USER_CHE_NAMESPACE}