From e5cd8488006cde16ea4bdcfdb6f492759ddba95b Mon Sep 17 00:00:00 2001 From: Derek Ho Date: Tue, 18 Jun 2024 11:23:50 -0400 Subject: [PATCH] Try passing through Signed-off-by: Derek Ho --- .ci/run-repository.sh | 23 ++++++++++++++++++- .../test_server_secured/test_clients.py | 4 +++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.ci/run-repository.sh b/.ci/run-repository.sh index 9160eb72..4ad01d69 100755 --- a/.ci/run-repository.sh +++ b/.ci/run-repository.sh @@ -30,7 +30,27 @@ docker build \ echo -e "\033[1m>>>>> Run [opensearch-project/opensearch-py container] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m" mkdir -p junit -docker run \ + +OPENSEARCH_REQUIRED_VERSION="2.12.0" +# Starting in 2.12.0, security demo configuration script requires an initial admin password +COMPARE_VERSION=`echo $OPENSEARCH_REQUIRED_VERSION $OPENSEARCH_VERSION | tr ' ' '\n' | sort -V | uniq | head -n 1` +if [ "$COMPARE_VERSION" != "$OPENSEARCH_REQUIRED_VERSION" ]; then + docker run \ + --network=${network_name} \ + --env "STACK_VERSION=${STACK_VERSION}" \ + --env "OPENSEARCH_URL=${opensearch_url}" \ + --env "OPENSEARCH_VERSION=${OPENSEARCH_VERSION}" \ + --env "TEST_SUITE=${TEST_SUITE}" \ + --env "PYTHON_CONNECTION_CLASS=${PYTHON_CONNECTION_CLASS}" \ + --env "TEST_TYPE=server" \ + --env "TEST_PATTERN=${TEST_PATTERN}" \ + --env "OPENSEARCH_INITIAL_ADMIN_PASSWORD=admin" \ + --name opensearch-py \ + --rm \ + opensearch-project/opensearch-py \ + python setup.py test +else + docker run \ --network=${network_name} \ --env "STACK_VERSION=${STACK_VERSION}" \ --env "OPENSEARCH_URL=${opensearch_url}" \ @@ -44,5 +64,6 @@ docker run \ --rm \ opensearch-project/opensearch-py \ python setup.py test +fi unset TEST_PATTERN diff --git a/test_opensearchpy/test_server_secured/test_clients.py b/test_opensearchpy/test_server_secured/test_clients.py index c885b58d..d959cd51 100644 --- a/test_opensearchpy/test_server_secured/test_clients.py +++ b/test_opensearchpy/test_server_secured/test_clients.py @@ -7,6 +7,7 @@ # Modifications Copyright OpenSearch Contributors. See # GitHub history for details. +import os from unittest import TestCase from opensearchpy import OpenSearch @@ -15,9 +16,10 @@ class TestSecurity(TestCase): def test_security(self) -> None: + password = os.environ.get("OPENSEARCH_INITIAL_ADMIN_PASSWORD", "admin") client = OpenSearch( OPENSEARCH_URL, - http_auth=("admin", "admin"), + http_auth=("admin", password), verify_certs=False, )