@@ -30,12 +30,18 @@ function clean() {
3030}
3131
3232# # build - Builds the project without running tests.
33- function test () {
33+ function build () {
3434 mvn install -DskipTests=true
3535}
3636
3737# # test - Runs local unit tests.
3838function test() {
39+ if [[ " $( uname -s) " == " Darwin" ]]; then
40+ echo " macOS detected. Setting up IP aliases for tests."
41+ echo " You may be prompted for your password to run sudo."
42+ sudo ifconfig lo0 alias 127.0.0.2 up
43+ sudo ifconfig lo0 alias 127.0.0.3 up
44+ fi
3945 mvn install
4046}
4147
@@ -80,45 +86,52 @@ function deps() {
8086# them to target/e2e.env to run e2e tests.
8187#
8288function write_e2e_env(){
83- secret_vars=(MYSQL_CONNECTION_NAME
84- MYSQL_USER
85- MYSQL_PASS
86- MYSQL_DB
87- MYSQL_IAM_CONNECTION_NAME
88- MYSQL_USER_IAM_JAVA
89- POSTGRES_CONNECTION_NAME
90- POSTGRES_IAM_CONNECTION_NAME
91- POSTGRES_USER
92- POSTGRES_USER_IAM_JAVA
93- POSTGRES_PASS
94- POSTGRES_DB
95- POSTGRES_CAS_CONNECTION_NAME
96- POSTGRES_CAS_PASS
97- POSTGRES_CUSTOMER_CAS_CONNECTION_NAME
98- POSTGRES_CUSTOMER_CAS_PASS
99- POSTGRES_CUSTOMER_CAS_PASS_VALID_DOMAIN_NAME
100- POSTGRES_CUSTOMER_CAS_PASS_INVALID_DOMAIN_NAME
101- SQLSERVER_CONNECTION_NAME
102- SQLSERVER_USER
103- SQLSERVER_PASS
104- SQLSERVER_DB
105- IMPERSONATED_USER
106- QUOTA_PROJECT
107- )
89+ # Set the default to .envrc file if no argument is passed
90+ outfile=" ${1:- .envrc} "
91+ secret_vars=(
92+ MYSQL_CONNECTION_NAME=MYSQL_CONNECTION_NAME
93+ MYSQL_USER=MYSQL_USER
94+ MYSQL_USER_IAM=MYSQL_USER_IAM_GO
95+ MYSQL_PASS=MYSQL_PASS
96+ MYSQL_DB=MYSQL_DB
97+ MYSQL_MCP_CONNECTION_NAME=MYSQL_MCP_CONNECTION_NAME
98+ MYSQL_MCP_PASS=MYSQL_MCP_PASS
99+ POSTGRES_CONNECTION_NAME=POSTGRES_CONNECTION_NAME
100+ POSTGRES_USER=POSTGRES_USER
101+ POSTGRES_USER_IAM=POSTGRES_USER_IAM_GO
102+ POSTGRES_PASS=POSTGRES_PASS
103+ POSTGRES_DB=POSTGRES_DB
104+ POSTGRES_CAS_CONNECTION_NAME=POSTGRES_CAS_CONNECTION_NAME
105+ POSTGRES_CAS_PASS=POSTGRES_CAS_PASS
106+ POSTGRES_CUSTOMER_CAS_CONNECTION_NAME=POSTGRES_CUSTOMER_CAS_CONNECTION_NAME
107+ POSTGRES_CUSTOMER_CAS_PASS=POSTGRES_CUSTOMER_CAS_PASS
108+ POSTGRES_CUSTOMER_CAS_DOMAIN_NAME=POSTGRES_CUSTOMER_CAS_DOMAIN_NAME
109+ POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME=POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME
110+ POSTGRES_MCP_CONNECTION_NAME=POSTGRES_MCP_CONNECTION_NAME
111+ POSTGRES_MCP_PASS=POSTGRES_MCP_PASS
112+ SQLSERVER_CONNECTION_NAME=SQLSERVER_CONNECTION_NAME
113+ SQLSERVER_USER=SQLSERVER_USER
114+ SQLSERVER_PASS=SQLSERVER_PASS
115+ SQLSERVER_DB=SQLSERVER_DB
116+ QUOTA_PROJECT=QUOTA_PROJECT
117+ )
108118
109119 if [[ -z " ${TEST_PROJECT:- } " ]] ; then
110120 echo " Set TEST_PROJECT environment variable to the project containing"
111121 echo " the e2e test suite secrets."
112122 exit 1
113123 fi
114124
115- echo " Getting test secrets from $TEST_PROJECT into $1 "
125+ echo " Getting test secrets from $TEST_PROJECT into $outfile "
116126 {
117- for name in " ${secret_vars[@]} " ; do
118- val=$( gcloud secrets versions access latest --project " $TEST_PROJECT " --secret=" $name " )
119- echo " export $name =\'$val \'"
127+ for env_name in " ${secret_vars[@]} " ; do
128+ env_var_name=" ${env_name%% =* } "
129+ secret_name=" ${env_name##* =} "
130+ set -x
131+ val=$( gcloud secrets versions access latest --project " $TEST_PROJECT " --secret=" $secret_name " )
132+ echo " export $env_var_name ='$val '"
120133 done
121- } > " $1 "
134+ } > " $outfile "
122135
123136}
124137
0 commit comments