@@ -30,9 +30,12 @@ find_selenium_dir() {
3030SELENIUM_ROOT_FOLDER=$( find_selenium_dir $SCRIPT )
3131TEST_DIR=$SELENIUM_ROOT_FOLDER /test
3232BIN_DIR=$SELENIUM_ROOT_FOLDER /bin
33- SCREENS=${SELENIUM_ROOT_FOLDER} /screens/${SUITE}
34- CONF_DIR_PREFIX=$( mktemp -d)
33+ if [[ -z " ${CONF_DIR_PREFIX} " ]]; then
34+ CONF_DIR_PREFIX=$( mktemp -d)
35+ fi
3536CONF_DIR=${CONF_DIR_PREFIX} /selenium/${SUITE}
37+ SCREENS=${CONF_DIR} /screens
38+
3639LOGS=${CONF_DIR} /logs
3740ENV_FILE=$CONF_DIR /.env
3841OTHER_ENV_FILE=$CONF_DIR /.other.env
@@ -117,6 +120,7 @@ init_suite() {
117120
118121 begin " Initializing suite $SUITE ..."
119122 print " > REQUIRED_COMPONENTS: ${REQUIRED_COMPONENTS[*]} "
123+ print " > CONF_DIR_PREFIX: ${CONF_DIR_PREFIX} "
120124 print " > CONF_DIR: ${CONF_DIR} "
121125 print " > TEST_CASES_DIR: ${TEST_CASES_DIR} "
122126 print " > TEST_CONFIG_DIR: ${TEST_CONFIG_DIR} "
@@ -130,8 +134,8 @@ init_suite() {
130134 print " > COMMAND: ${COMMAND} "
131135 end " Initialized suite"
132136
133- mkdir -p ${LOGS} / ${SUITE}
134- mkdir -p ${SCREENS} / ${SUITE}
137+ mkdir -p ${LOGS}
138+ mkdir -p ${SCREENS}
135139}
136140
137141build_mocha_image () {
@@ -358,8 +362,15 @@ _test() {
358362 mocha_test_tag=($( md5sum $SELENIUM_ROOT_FOLDER /package.json) )
359363
360364 generate_node_extra_ca_cert
361- MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR} /node_ca_certs.pem
362- print " > MOUNT_NODE_EXTRA_CA_CERTS: ${MOUNT_NODE_EXTRA_CA_CERTS} "
365+ MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR} /node
366+
367+ EXTRA_ENV_VARS=" "
368+ EXTRA_MOUNTS=" "
369+ if [[ -f ${MOUNT_NODE_EXTRA_CA_CERTS} /node_ca_certs.pem ]]; then
370+ print " > MOUNT_NODE_EXTRA_CA_CERTS: ${MOUNT_NODE_EXTRA_CA_CERTS} "
371+ EXTRA_ENV_VARS=" ${EXTRA_ENV_VARS} --env NODE_EXTRA_CA_CERTS=/nodejs/node_ca_certs.pem "
372+ EXTRA_MOUNTS=" ${EXTRA_MOUNTS} -v ${MOUNT_NODE_EXTRA_CA_CERTS} :/nodejs "
373+ fi
363374
364375 docker run \
365376 --rm \
@@ -375,12 +386,12 @@ _test() {
375386 --env PROFILES=" ${PROFILES} " \
376387 --env ENV_FILE=" /code/.env" \
377388 --env RABBITMQ_CERTS=/etc/rabbitmq/certs \
378- --env NODE_EXTRA_CA_CERTS=/nodejs/ca.pem \
379- -v ${MOUNT_NODE_EXTRA_CA_CERTS} :/nodejs/ca.pem \
389+ ${EXTRA_ENV_VARS} \
380390 -v ${TEST_DIR} :/code/test \
381391 -v ${TEST_CONFIG_DIR} /certs:/etc/rabbitmq/certs \
382392 -v ${SCREENS} :/screens \
383393 -v ${ENV_FILE} :/code/.env \
394+ ${EXTRA_MOUNTS} \
384395 mocha-test:${mocha_test_tag} test /code/test${TEST_CASES_PATH}
385396
386397 TEST_RESULT=$?
@@ -676,7 +687,7 @@ test_local() {
676687 export SELENIUM_POLLING=${SELENIUM_POLLING:- 500}
677688
678689 generate_node_extra_ca_cert
679- MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR} /node_ca_certs.pem
690+ MOUNT_NODE_EXTRA_CA_CERTS=${CONF_DIR} /node/ node_ca_certs.pem
680691
681692 print " > SELENIUM_TIMEOUT: ${SELENIUM_TIMEOUT} "
682693 print " > SELENIUM_POLLING: ${SELENIUM_POLLING} "
@@ -740,16 +751,22 @@ save_components_logs() {
740751 end " Finished saving logs"
741752}
742753generate_node_extra_ca_cert () {
743- echo " Generating ${CONF_DIR} /node_ca_certs.pem ..."
744- rm -f ${CONF_DIR} /node_ca_certs.pem
754+ begin " Generating ${CONF_DIR} /node/node_ca_certs.pem ..."
755+ mkdir -p ${CONF_DIR} /node
756+ rm -f ${CONF_DIR} /node/node_ca_certs.pem
745757 env | while IFS= read -r line; do
746758 value=${line#* =}
747759 name=${line%% =* }
748760
749761 if [[ $name == * NODE_EXTRA_CA_CERTS ]]
750762 then
751- echo " Adding ${TEST_DIR} /${value} to ${CONF_DIR} /node_ca_certs.pem ..."
752- cat ${TEST_DIR} /${value} >> ${CONF_DIR} /node_ca_certs.pem
763+ print " Adding ${TEST_DIR} /${value} to ${CONF_DIR} /node /node_ca_certs.pem ..."
764+ cat ${TEST_DIR} /${value} >> ${CONF_DIR} /node/ node_ca_certs.pem
753765 fi
754- done
766+ done
767+ if [[ -f ${CONF_DIR} /node/node_ca_certs.pem ]]; then
768+ end " Generated ${CONF_DIR} /node/node_ca_certs.pem"
769+ else
770+ end " Did not generate ${CONF_DIR} /node/node_ca_certs.pem"
771+ fi
755772}
0 commit comments