diff --git a/osbuild-composer.spec b/osbuild-composer.spec index 4b018c938..7e32c4194 100644 --- a/osbuild-composer.spec +++ b/osbuild-composer.spec @@ -205,6 +205,7 @@ install -m 0755 -vp tools/libvirt_test.sh %{buildroot}% install -m 0755 -vp tools/s3_test.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp tools/generic_s3_test.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp tools/generic_s3_https_test.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ +install -m 0755 -vp tools/run-mock-auth-servers.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp tools/set-env-variables.sh %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vp tools/test-case-generators/generate-test-cases %{buildroot}%{_libexecdir}/osbuild-composer-test/ install -m 0755 -vd %{buildroot}%{_libexecdir}/tests/osbuild-composer diff --git a/test/cases/api/common/common.sh b/test/cases/api/common/common.sh index 56fe11296..bd4e770e1 100644 --- a/test/cases/api/common/common.sh +++ b/test/cases/api/common/common.sh @@ -44,3 +44,28 @@ function _instanceCheck() { echo "Not RHEL OS. Skip subscription check." fi } + +# Fetch a JWT token +function access_token { + # Refresh token represents the ORG ID + local refresh_token="$1" + curl --request POST \ + --data "refresh_token=$refresh_token" \ + --header "Content-Type: application/x-www-form-urlencoded" \ + --silent \ + --show-error \ + --fail \ + localhost:8081/token | jq -r .access_token +} + +# Get the compose status using a JWT token +function compose_status { + local compose="$1" + local refresh_token="$2" + curl \ + --silent \ + --show-error \ + --fail \ + --header "Authorization: Bearer $(access_token "$refresh_token")" \ + "http://localhost:443/api/image-builder-composer/v2/composes/$compose" +} diff --git a/test/cases/multi-tenancy.sh b/test/cases/multi-tenancy.sh index 54bc9bfef..949cd7e36 100755 --- a/test/cases/multi-tenancy.sh +++ b/test/cases/multi-tenancy.sh @@ -21,7 +21,10 @@ function greenprint { } # Provision the software under test. -/usr/libexec/osbuild-composer-test/provision.sh +/usr/libexec/osbuild-composer-test/provision.sh jwt + +# Source common functions +source /usr/libexec/tests/osbuild-composer/api/common/common.sh greenprint "Registering clean ups" KILL_PIDS=() @@ -39,6 +42,9 @@ function cleanup() { for P in "${KILL_PIDS[@]}"; do sudo pkill -P "$P" done + + /usr/libexec/osbuild-composer-test/run-mock-auth-servers.sh stop + set -eu } trap cleanup EXIT @@ -61,59 +67,6 @@ sudo cp \ "${OSBUILD_COMPOSER_TEST_DATA}"/kerberos/krb5-local.conf \ /etc/krb5.conf.d/local -greenprint "Configuring composer and worker" -sudo tee "/etc/osbuild-composer/osbuild-composer.toml" >/dev/null </dev/null </dev/null </dev/null <