Add integration test for web based installer
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
This commit is contained in:
parent
3d9077ae3a
commit
951f7f5eaf
|
@ -322,6 +322,14 @@ pipeline:
|
||||||
when:
|
when:
|
||||||
matrix:
|
matrix:
|
||||||
TESTS: integration-sharees-features
|
TESTS: integration-sharees-features
|
||||||
|
integration-setup-features:
|
||||||
|
image: nextcloudci/integration-php7.0:integration-php7.0-2
|
||||||
|
commands:
|
||||||
|
- cd build/integration
|
||||||
|
- ./run.sh setup_features/setup.feature
|
||||||
|
when:
|
||||||
|
matrix:
|
||||||
|
TESTS: integration-setup-features
|
||||||
nodb-codecov:
|
nodb-codecov:
|
||||||
image: nextcloudci/php7.0:php7.0-6
|
image: nextcloudci/php7.0:php7.0-6
|
||||||
commands:
|
commands:
|
||||||
|
@ -365,6 +373,7 @@ matrix:
|
||||||
- TESTS: integration-provisioning-v2
|
- TESTS: integration-provisioning-v2
|
||||||
- TESTS: integration-webdav-related
|
- TESTS: integration-webdav-related
|
||||||
- TESTS: integration-sharees-features
|
- TESTS: integration-sharees-features
|
||||||
|
- TESTS: integration-setup-features
|
||||||
- TESTS: jsunit
|
- TESTS: jsunit
|
||||||
- TESTS: check-autoloader
|
- TESTS: check-autoloader
|
||||||
- TESTS: app-check-code
|
- TESTS: app-check-code
|
||||||
|
|
|
@ -52,6 +52,16 @@ default:
|
||||||
- admin
|
- admin
|
||||||
- admin
|
- admin
|
||||||
regular_user_password: 123456
|
regular_user_password: 123456
|
||||||
|
setup:
|
||||||
|
paths:
|
||||||
|
- %paths.base%/../setup_features
|
||||||
|
contexts:
|
||||||
|
- SetupContext:
|
||||||
|
baseUrl: http://localhost:8080/ocs/
|
||||||
|
admin:
|
||||||
|
- admin
|
||||||
|
- admin
|
||||||
|
regular_user_password: 123456
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
|
||||||
|
*
|
||||||
|
* @author Morris Jobke <hey@morrisjobke.de>
|
||||||
|
* @copyright Morris Jobke
|
||||||
|
*
|
||||||
|
* @license GNU AGPL version 3 or any later version
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program 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 Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
use Behat\Behat\Context\Context;
|
||||||
|
|
||||||
|
require __DIR__ . '/../../vendor/autoload.php';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup context.
|
||||||
|
*/
|
||||||
|
class SetupContext implements Context {
|
||||||
|
use BasicStructure;
|
||||||
|
}
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
COMPOSER=$(which composer)
|
COMPOSER=$(which composer)
|
||||||
|
|
||||||
|
SCENARIO_TO_RUN=$1
|
||||||
|
HIDE_OC_LOGS=$2
|
||||||
|
|
||||||
if [ -x "$COMPOSER" ]; then
|
if [ -x "$COMPOSER" ]; then
|
||||||
echo "Using composer executable $COMPOSER"
|
echo "Using composer executable $COMPOSER"
|
||||||
else
|
else
|
||||||
|
@ -9,14 +12,20 @@ else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
INSTALLED=$(../../occ status | grep installed: | cut -d " " -f 5)
|
||||||
|
|
||||||
|
if [ "$INSTALLED" == "true" ]; then
|
||||||
# Disable bruteforce protection because the integration tests do trigger them
|
# Disable bruteforce protection because the integration tests do trigger them
|
||||||
../../occ config:system:set auth.bruteforce.protection.enabled --value false --type bool
|
../../occ config:system:set auth.bruteforce.protection.enabled --value false --type bool
|
||||||
|
else
|
||||||
|
if [ "$SCENARIO_TO_RUN" != "setup_features/setup.feature" ]; then
|
||||||
|
echo "Nextcloud instance needs to be installed" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
composer install
|
composer install
|
||||||
|
|
||||||
SCENARIO_TO_RUN=$1
|
|
||||||
HIDE_OC_LOGS=$2
|
|
||||||
|
|
||||||
# avoid port collision on jenkins - use $EXECUTOR_NUMBER
|
# avoid port collision on jenkins - use $EXECUTOR_NUMBER
|
||||||
if [ -z "$EXECUTOR_NUMBER" ]; then
|
if [ -z "$EXECUTOR_NUMBER" ]; then
|
||||||
EXECUTOR_NUMBER=0
|
EXECUTOR_NUMBER=0
|
||||||
|
@ -36,6 +45,7 @@ echo $PHPPID_FED
|
||||||
export TEST_SERVER_URL="http://localhost:$PORT/ocs/"
|
export TEST_SERVER_URL="http://localhost:$PORT/ocs/"
|
||||||
export TEST_SERVER_FED_URL="http://localhost:$PORT_FED/ocs/"
|
export TEST_SERVER_FED_URL="http://localhost:$PORT_FED/ocs/"
|
||||||
|
|
||||||
|
if [ "$INSTALLED" == "true" ]; then
|
||||||
#Enable external storage app
|
#Enable external storage app
|
||||||
../../occ app:enable files_external
|
../../occ app:enable files_external
|
||||||
|
|
||||||
|
@ -45,6 +55,7 @@ OUTPUT_CREATE_STORAGE=`../../occ files_external:create local_storage local null:
|
||||||
ID_STORAGE=`echo $OUTPUT_CREATE_STORAGE | awk {'print $5'}`
|
ID_STORAGE=`echo $OUTPUT_CREATE_STORAGE | awk {'print $5'}`
|
||||||
|
|
||||||
../../occ files_external:option $ID_STORAGE enable_sharing true
|
../../occ files_external:option $ID_STORAGE enable_sharing true
|
||||||
|
fi
|
||||||
|
|
||||||
vendor/bin/behat -f junit -f pretty $SCENARIO_TO_RUN
|
vendor/bin/behat -f junit -f pretty $SCENARIO_TO_RUN
|
||||||
RESULT=$?
|
RESULT=$?
|
||||||
|
@ -52,10 +63,12 @@ RESULT=$?
|
||||||
kill $PHPPID
|
kill $PHPPID
|
||||||
kill $PHPPID_FED
|
kill $PHPPID_FED
|
||||||
|
|
||||||
|
if [ "$INSTALLED" -eq "true" ]; then
|
||||||
../../occ files_external:delete -y $ID_STORAGE
|
../../occ files_external:delete -y $ID_STORAGE
|
||||||
|
|
||||||
#Disable external storage app
|
#Disable external storage app
|
||||||
../../occ app:disable files_external
|
../../occ app:disable files_external
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z $HIDE_OC_LOGS ]; then
|
if [ -z $HIDE_OC_LOGS ]; then
|
||||||
tail "../../data/nextcloud.log"
|
tail "../../data/nextcloud.log"
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
Feature: setup
|
||||||
|
|
||||||
|
Scenario: setup page is shown properly
|
||||||
|
When requesting "/index.php" with "GET"
|
||||||
|
Then the HTTP status code should be "200"
|
Loading…
Reference in New Issue