diff --git a/helm/scripts/remove_remote_users_by_prefix.sh b/helm/scripts/remove_remote_users_by_prefix.sh new file mode 100755 index 0000000000000000000000000000000000000000..9f084e6ba055dd6c9147fe54fea29866e81541d3 --- /dev/null +++ b/helm/scripts/remove_remote_users_by_prefix.sh @@ -0,0 +1,118 @@ +#!/bin/bash +source $(dirname "$(readlink -f "$0")")/variables.sh + +# User to remove +USERNAME_PREFIX= + +help() { + echo "Usage: $1 " + echo " -u : User prefix to use" + echo " -h : show this help" + exit 1 +} + +# Read params +while getopts ":u:p:t:h" opt; do + case $opt in + u) + USERNAME_PREFIX="$OPTARG" + ;; + h) + help + ;; + \?) + echo "Not valid option: -$OPTARG" >&2 + help + ;; + :) + echo "The -$OPTARG option requires an argument." >&2 + help + ;; + esac +done + +if [[ "$USERNAME_PREFIX" == "" ]] +then + echo "USERNAME_PREFIX must be set with option -u" + help + exit -1 +fi + +# Other Stuff +DOCKER_ROBOT_IMAGE=labs.etsi.org:5050/ocf/capif/robot-tests-image +DOCKER_ROBOT_IMAGE_VERSION=1.0 + +TEST_FOLDER=$CAPIF_BASE_DIR/tests +RESULT_FOLDER=$CAPIF_BASE_DIR/results +ROBOT_DOCKER_FILE_FOLDER=$CAPIF_BASE_DIR/tools/robot + +# nginx Hostname and http port (80 by default) to reach for tests +CAPIF_REGISTER=$REGISTER_HOSTNAME +CAPIF_REGISTER_PORT=443 +CAPIF_HTTPS_PORT=443 + +# VAULT access configuration +CAPIF_VAULT=$VAULT_HOSTNAME +CAPIF_VAULT_PORT=80 +CAPIF_VAULT_TOKEN=$VAULT_ACCESS_TOKEN + +# Mock Server +MOCK_SERVER_URL=http://mock-server-$CAPIF_CI_ENV_ENDPOINT.$CAPIF_DOMAIN:80 +NOTIFICATION_DESTINATION_URL=http://mock-server.$CAPIF_NAMESPACE.svc.cluster.local:9090 + +# Show variables +echo "CAPIF_HOSTNAME = $CAPIF_HOSTNAME" +echo "CAPIF_REGISTER = $CAPIF_REGISTER" +echo "CAPIF_HTTP_PORT = $CAPIF_HTTP_PORT" +echo "CAPIF_HTTPS_PORT = $CAPIF_HTTPS_PORT" +echo "CAPIF_VAULT = $CAPIF_VAULT" +echo "CAPIF_VAULT_PORT = $CAPIF_VAULT_PORT" +echo "CAPIF_VAULT_TOKEN = $CAPIF_VAULT_TOKEN" +echo "TOTAL_USERS=$TOTAL_USERS" +echo "USERNAME_PREFIX=$USERNAME_PREFIX" +echo "USER_PASSWORD=$USER_PASSWORD" +echo "MOCK_SERVER_URL=$MOCK_SERVER_URL" +echo "NOTIFICATION_DESTINATION_URL=$NOTIFICATION_DESTINATION_URL" + +docker >/dev/null 2>/dev/null +if [[ $? -ne 0 ]] +then + echo "Docker maybe is not installed. Please check if docker CLI is present." + exit -1 +fi + +docker pull $DOCKER_ROBOT_IMAGE:$DOCKER_ROBOT_IMAGE_VERSION || echo "Docker image ($DOCKER_ROBOT_IMAGE:$DOCKER_ROBOT_IMAGE_VERSION) not present on repository" +docker images|grep -Eq '^'$DOCKER_ROBOT_IMAGE'[ ]+[ ]'$DOCKER_ROBOT_IMAGE_VERSION'' +if [[ $? -ne 0 ]] +then + read -p "Robot image is not present. To continue, Do you want to build it? (y/n)" build_robot_image + if [[ $build_robot_image == "y" ]] + then + echo "Building Robot docker image." + cd $ROBOT_DOCKER_FILE_FOLDER + docker build --no-cache -t $DOCKER_ROBOT_IMAGE:$DOCKER_ROBOT_IMAGE_VERSION . + cd $CAPIF_BASE_DIR + else + exit -2 + fi +fi + +cd $CAPIF_BASE_DIR + +mkdir -p $RESULT_FOLDER + +docker run -ti --rm --network="host" \ + -v $TEST_FOLDER:/opt/robot-tests/tests \ + -v $RESULT_FOLDER:/opt/robot-tests/results ${DOCKER_ROBOT_IMAGE}:${DOCKER_ROBOT_IMAGE_VERSION} \ + --variable CAPIF_HOSTNAME:$CAPIF_HOSTNAME \ + --variable CAPIF_HTTP_PORT:$CAPIF_HTTP_PORT \ + --variable CAPIF_HTTPS_PORT:$CAPIF_HTTPS_PORT \ + --variable CAPIF_REGISTER:$CAPIF_REGISTER \ + --variable CAPIF_REGISTER_PORT:$CAPIF_REGISTER_PORT \ + --variable CAPIF_VAULT:$CAPIF_VAULT \ + --variable CAPIF_VAULT_PORT:$CAPIF_VAULT_PORT \ + --variable CAPIF_VAULT_TOKEN:$CAPIF_VAULT_TOKEN \ + --variable NOTIFICATION_DESTINATION_URL:$NOTIFICATION_DESTINATION_URL \ + --variable MOCK_SERVER_URL:$MOCK_SERVER_URL \ + --variable USERNAME_PREFIX:$USERNAME_PREFIX \ + --include remove-users-by-prefix diff --git a/tests/tasks/Users Management/users.robot b/tests/tasks/Users Management/users.robot index 1558f860b1e074487403663a4dc3a47c62a6c4a3..64991b50efb2638a1495b081c9fc73744ca75dfa 100644 --- a/tests/tasks/Users Management/users.robot +++ b/tests/tasks/Users Management/users.robot @@ -33,6 +33,9 @@ Create Client Users FOR ${counter} IN RANGE ${TOTAL_USERS} ${USERNAME}= Set Variable ${USERNAME_PREFIX}_${counter} + IF ${TOTAL_USERS} == 1 + ${USERNAME}= Set Variable ${USERNAME_PREFIX} + END ${resp}= Run Keyword And Continue On Failure Create User At Register ... ${USERNAME}