6 cd $FULL_PATH_BUILD_DIR
8 MGR
=2 RGW
=1 ..
/src
/vstart.sh
-n -d
11 # Create an Object Gateway User
12 .
/bin
/radosgw-admin user create
--uid=dev
--display-name=Developer
--system
14 .
/bin
/ceph dashboard set-rgw-api-user-id dev
15 # Obtain and set access and secret key for the previously created user. $() is safer than backticks `..`
16 RGW_ACCESS_KEY_FILE
="/tmp/rgw-user-access-key.txt"
17 printf "$(./bin/radosgw-admin user info --uid=dev | jq -r .keys[0].access_key)" > "${RGW_ACCESS_KEY_FILE}"
18 .
/bin
/ceph dashboard set-rgw-api-access-key
-i "${RGW_ACCESS_KEY_FILE}"
19 RGW_SECRET_KEY_FILE
="/tmp/rgw-user-secret-key.txt"
20 printf "$(./bin/radosgw-admin user info --uid=dev | jq -r .keys[0].secret_key)" > "${RGW_SECRET_KEY_FILE}"
21 .
/bin
/ceph dashboard set-rgw-api-secret-key
-i "${RGW_SECRET_KEY_FILE}"
22 # Set SSL verify to False
23 .
/bin
/ceph dashboard set-rgw-api-ssl-verify False
25 CYPRESS_BASE_URL
=$
(.
/bin
/ceph mgr services | jq
-r .dashboard
)
29 if [ "$REMOTE" == "false" ]; then
30 cd ${FULL_PATH_BUILD_DIR}
36 check_device_available
() {
39 if [ "$DEVICE" == "docker" ]; then
40 [ -x "$(command -v docker)" ] || failed
=true
47 [ -x "$(command -v chrome)" ] ||
[ -x "$(command -v google-chrome)" ] ||
48 [ -x "$(command -v google-chrome-stable)" ] || failed
=true
51 [ -x "$(command -v chromium)" ] ||
[ -x "$(command -v chromium-browser)" ] || failed
=true
56 if [ "$failed" = "true" ]; then
57 echo "ERROR: $DEVICE not found. You need to install $DEVICE or \
58 use a different device. Supported devices: chrome (default), chromium, electron or docker."
63 : ${CYPRESS_BASE_URL:=''}
64 : ${CYPRESS_LOGIN_PWD:=''}
65 : ${CYPRESS_LOGIN_USER:=''}
71 while getopts 'd:p:r:u:' flag
; do
74 p
) CYPRESS_LOGIN_PWD
=$OPTARG;;
76 CYPRESS_BASE_URL
=$OPTARG;;
77 u
) CYPRESS_LOGIN_USER
=$OPTARG;;
82 [ -z "$BUILD_DIR" ] && BUILD_DIR
=build
83 cd ..
/..
/..
/..
/${BUILD_DIR}
84 FULL_PATH_BUILD_DIR
=`pwd`
86 [[ "$(command -v npm)" == '' ]] && .
${FULL_PATH_BUILD_DIR}/src
/pybind
/mgr
/dashboard
/node-env
/bin
/activate
88 : ${CYPRESS_CACHE_FOLDER:="${FULL_PATH_BUILD_DIR}/src/pybind/mgr/dashboard/cypress"}
90 export CYPRESS_BASE_URL CYPRESS_CACHE_FOLDER CYPRESS_LOGIN_USER CYPRESS_LOGIN_PWD NO_COLOR
92 check_device_available
94 if [ "$CYPRESS_BASE_URL" == "" ]; then
106 --env CYPRESS_BASE_URL \
107 --env CYPRESS_LOGIN_USER \
108 --env CYPRESS_LOGIN_PWD \
111 cypress
/included
:4.4.0 || failed
=1
115 npx cypress run
$CYPRESS_ARGS --browser $DEVICE --headless || stop
1