diff options
Diffstat (limited to 'csit/db-migrator')
-rw-r--r-- | csit/db-migrator/plans/setup.sh | 26 | ||||
-rw-r--r-- | csit/db-migrator/plans/teardown.sh | 22 | ||||
-rw-r--r-- | csit/db-migrator/plans/testplan.txt | 3 | ||||
-rw-r--r-- | csit/db-migrator/tests/db-migrator-test.robot | 34 |
4 files changed, 85 insertions, 0 deletions
diff --git a/csit/db-migrator/plans/setup.sh b/csit/db-migrator/plans/setup.sh new file mode 100644 index 00000000..31d93111 --- /dev/null +++ b/csit/db-migrator/plans/setup.sh @@ -0,0 +1,26 @@ +echo "Uninstall docker-py and reinstall docker." +python3 -m pip uninstall -y docker-py +python3 -m pip uninstall -y docker +python3 -m pip install -U docker +python3 -m pip install -U robotframework-databaselibrary +python3 -m pip install psycopg2-binary + +sudo apt-get -y install libxml2-utils + +source "${SCRIPTS}"/get-versions.sh + +cd "${SCRIPTS}" +docker-compose -f "${SCRIPTS}"/compose-postgres.yml up -d + +sleep 15 +unset http_proxy https_proxy + +POSTGRES_IP=$(get-instance-ip.sh postgres) +POLICY_API_IP=$(get-instance-ip.sh policy-api) + +echo POSTGRES IP IS "${POSTGRES_IP}" +echo POLICY_API_IP IS "${POLICY_API_IP}" + +ROBOT_VARIABLES="" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POSTGRES_IP:${POSTGRES_IP}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}"
\ No newline at end of file diff --git a/csit/db-migrator/plans/teardown.sh b/csit/db-migrator/plans/teardown.sh new file mode 100644 index 00000000..30a0f48d --- /dev/null +++ b/csit/db-migrator/plans/teardown.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2022 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +docker logs postgres + +docker-compose -f ${SCRIPTS}/compose-postgres.yml down -v
\ No newline at end of file diff --git a/csit/db-migrator/plans/testplan.txt b/csit/db-migrator/plans/testplan.txt new file mode 100644 index 00000000..4d281179 --- /dev/null +++ b/csit/db-migrator/plans/testplan.txt @@ -0,0 +1,3 @@ +# Test suites are relative paths under [policy/docker.git]/csit/[project]/tests. +# Place the suites in run order. +db-migrator-test.robot diff --git a/csit/db-migrator/tests/db-migrator-test.robot b/csit/db-migrator/tests/db-migrator-test.robot new file mode 100644 index 00000000..44cb1553 --- /dev/null +++ b/csit/db-migrator/tests/db-migrator-test.robot @@ -0,0 +1,34 @@ +*** Settings *** +Suite Setup Connect To Database psycopg2 ${DB_NAME} ${DB_USERNAME} ${DB_PASSWORD} ${POSTGRES_IP} ${DB_PORT} +Suite Teardown Disconnect From Database +Library DatabaseLibrary +Library String +Library RequestsLibrary +Library OperatingSystem +Library json +Resource ${CURDIR}/../../common-library.robot + +*** Variables *** +${DB_NAME} = policyadmin +${DB_USERNAME} = policy_user +${DB_PASSWORD} = policy_user +${DB_PORT} = 5432 +${PGPASSWORD} = policy_user + +*** Keywords *** +GetReq + [Arguments] ${url} + ${auth}= PolicyAdminAuth + ${resp}= PerformGetRequest ${POLICY_API_IP} ${url} 200 null ${auth} + [return] ${resp} + +*** Test Cases *** +Test Connection + ${output} = Execute SQL String SELECT datname FROM pg_database WHERE datname='policyadmin'; + Log ${output} + Should Be Equal As Strings ${output} None + +Healthcheck + [Documentation] Verify policy api health check + ${resp}= GetReq /policy/api/v1/healthcheck + Should Be Equal As Strings ${resp.json()['code']} 200
\ No newline at end of file |