element-web/test/end-to-end-tests/run.sh
David Baker 1c3507bc11
Use the shared secret registration API directly (#7774)
* Use the shared secret registration API directly

rather than invoking the synapse module to do it. It's probably
a bit simpler, if anything, and allows for synapse to be run in
a separate container (or rather, avoids the javascript having to have
a copy of synapse source & server config).

* Make registration secret required

Update commander (8 major versions!) to get requiredOption

* Wrong options object :/
2022-02-11 17:03:22 +00:00

41 lines
892 B
Bash
Executable file

#!/bin/bash
set -e
BASE_DIR=$(cd $(dirname $0) && pwd)
pushd $BASE_DIR
if [ ! -d "synapse/installations" ] || [ ! -d "node_modules" ]; then
echo "Please first run $BASE_DIR/install.sh"
exit 1
fi
has_custom_app=$(node has-custom-app.js $@)
if [ ! -d "element/element-web" ] && [ $has_custom_app -ne "1" ]; then
echo "Please provide an instance of Element to test against by passing --app-url <url> or running $BASE_DIR/element/install.sh"
exit 1
fi
stop_servers() {
if [ $has_custom_app -ne "1" ]; then
./element/stop.sh
fi
./synapse/stop.sh
}
handle_error() {
EXIT_CODE=$?
stop_servers
exit $EXIT_CODE
}
trap 'handle_error' ERR
./synapse/start.sh
reg_secret=`./synapse/getcfg.sh registration_shared_secret`
if [ $has_custom_app -ne "1" ]; then
./element/start.sh
fi
yarn build
node lib/start.js --registration-shared-secret=$reg_secret $@
stop_servers