#!/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://192.168.33.211/" /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://192.168.33.211/appsuite/" /opt/open-xchange/tests/frontend/ui/.env setOXProperty SMTP_SERVER "192.168.33.211" /opt/open-xchange/tests/frontend/ui/.env setOXProperty IMAP_SERVER "192.168.33.211" /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 elif [[ "${FEATURE_ENABLE}" = false ]]; then echo "" # do something to disable it fi if [[ "${RESTART_OX}" = true ]]; then restartService open-xchange fi