diff --git a/.ci/cloudbuild.yaml b/.ci/cloudbuild.yaml index e31e8beb..5550058e 100644 --- a/.ci/cloudbuild.yaml +++ b/.ci/cloudbuild.yaml @@ -13,6 +13,21 @@ # limitations under the License. steps: + - id: check the private DNS zone and the private connection + name: gcr.io/cloud-builders/git + entrypoint: bash + args: + - '-c' + - | + apt-get update + apt-get install dnsutils -y + echo "dig ${_DNS_NAME} ... (with +trace)" + dig +trace ${_DNS_NAME} + echo "dig ${_DNS_NAME} ... (without +trace)" + dig ${_DNS_NAME} + echo "cat /etc/resolv.conf" + cat /etc/resolv.conf + - id: run integration tests name: python:${_VERSION} entrypoint: bash @@ -20,6 +35,9 @@ steps: - "IP_TYPE=${_IP_TYPE}" secretEnv: [ + "MYSQL_PSA_CONNECTION_NAME", + "MYSQL_PSA_USER", + "MYSQL_PSA_PASS", "MYSQL_CONNECTION_NAME", "MYSQL_USER", "MYSQL_IAM_USER", @@ -59,6 +77,12 @@ availableSecrets: env: "MYSQL_IAM_USER" - versionName: "projects/$PROJECT_ID/secrets/MYSQL_PASS/versions/latest" env: "MYSQL_PASS" + - versionName: "projects/$PROJECT_ID/secrets/MYSQL_PSA_CONNECTION_NAME/versions/latest" + env: "MYSQL_PSA_CONNECTION_NAME" + - versionName: "projects/$PROJECT_ID/secrets/MYSQL_PSA_USER/versions/latest" + env: "MYSQL_PSA_USER" + - versionName: "projects/$PROJECT_ID/secrets/MYSQL_PSA_PASS/versions/latest" + env: "MYSQL_PSA_PASS" - versionName: "projects/$PROJECT_ID/secrets/MYSQL_DB/versions/latest" env: "MYSQL_DB" - versionName: "projects/$PROJECT_ID/secrets/MYSQL_MCP_CONNECTION_NAME/versions/latest" @@ -100,6 +124,7 @@ availableSecrets: substitutions: _VERSION: ${_VERSION} _IP_TYPE: ${_IP_TYPE} + _DNS_NAME: ${_DNS_NAME} options: dynamicSubstitutions: true diff --git a/tests/system/test_pymysql_connection.py b/tests/system/test_pymysql_connection.py index f5dd8a1e..ac8bd342 100644 --- a/tests/system/test_pymysql_connection.py +++ b/tests/system/test_pymysql_connection.py @@ -90,12 +90,17 @@ def create_sqlalchemy_engine( def test_pymysql_connection() -> None: """Basic test to get time from database.""" - inst_conn_name = os.environ["MYSQL_CONNECTION_NAME"] - user = os.environ["MYSQL_USER"] - password = os.environ["MYSQL_PASS"] + inst_conn_name = os.environ.get( + "MYSQL_PSA_CONNECTION_NAME", os.environ["MYSQL_CONNECTION_NAME"] + ) + user = os.environ.get("MYSQL_PSA_USER", os.environ["MYSQL_USER"]) + password = os.environ.get("MYSQL_PSA_PASS", os.environ["MYSQL_PASS"]) db = os.environ["MYSQL_DB"] ip_type = os.environ.get("IP_TYPE", "public") + if ip_type == "private": + ip_type = "PSC" + engine, connector = create_sqlalchemy_engine( inst_conn_name, user, password, db, ip_type )