Code owners
Assign users and groups as approvers for specific file changes. Learn more.
codecept.sh 3.45 KiB
#!/bin/bash
#
# Copyright (C) 2019 OX Software GmbH
#
# This file is part of OX Automation.
#
# OX Automation is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OX Automation is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OX Automation. If not, see <http://www.gnu.org/licenses/>.
#
#
# Authors:
# Daniel Pondruff <daniel.pondruffopen-xchange.com>
#
set -e
SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P)"
# sourcing some commonly used functions and executing basic checks
source ${SCRIPT_DIR}/../lib/common.bash
source ${SCRIPT_DIR}/../lib/setup.bash
checkRootPrivileges
detectDistribution
## Help text
show_usage() {
echo -n "
$0 [OPTIONS]
--enable
--disable
--restart
-k | --key <value>
"
}
### reading config from command line; overriding defaults
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h|--help)
show_usage
exit 0
shift
;;
--debug)
echo "WARNING: Debug flag set (--debug)"
set -x
shift
;;
--enable)
FEATURE_ENABLE=true
shift
;;
--disable)
FEATURE_ENABLE=false
shift
;;
-k|--key)
value="$2"
shift
shift
;;
--restart)
RESTART_OX=true
shift
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
if [[ "${FEATURE_ENABLE}" = true ]]; then
echo "Install Docker !" # TODO
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
apt-get update && apt-get install docker-ce
echo "Install dep" # DEBIAN ONLY ! TODO
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get update && \
apt-get install -y git nodejs yarn nmap default-jre jq
echo "Clone Repo"
rm -rf /opt/open-xchange/tests/frontend
git clone --depth 1 -b master https://gitlab.open-xchange.com/frontend/core /opt/open-xchange/tests/frontend
cd /opt/open-xchange/tests/frontend/ui
npm install -g allure-commandline --save-dev
setOXProperty PROVISIONING_URL "http://localhost/" /opt/open-xchange/tests/frontend/ui/.env
setOXProperty CONTEXT_ID "1337" /opt/open-xchange/tests/frontend/ui/.env
setOXProperty SELENIUM_HOST "localhost" /opt/open-xchange/tests/frontend/ui/.env
setOXProperty LAUNCH_URL "http://localhost/appsuite/" /opt/open-xchange/tests/frontend/ui/.env
setOXProperty PROVISIONING_URL "http://localhost/" /opt/open-xchange/tests/frontend/ui/.env
yarn
[ ! "$(docker ps -a | grep "hA4uYS")" ] && docker run --name "hA4uYS" -d -p 4444:4444 -p 5900:5900 -v /dev/shm:/dev/shm selenium/standalone-chrome-debug:latest
yarn e2e --verbose --debug
elif [[ "${FEATURE_ENABLE}" = false ]]; then
echo ""
# do something to disable it
fi
if [[ "${RESTART_OX}" = true ]]; then
restartService open-xchange
fi