From 631303c1e74cb10a63fa46f99e3111067ec2f010 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Thu, 6 Aug 2015 15:44:24 +0200 Subject: [PATCH] First integration tests for provisioning api --- build/integration/composer.json | 6 ++++++ build/integration/config/behat.yml | 17 +++++++++++++++++ .../features/provisioning-v1.feature | 9 +++++++++ .../features/provisioning-v2.feature | 9 +++++++++ build/integration/run.sh | 18 ++++++++++++++++++ 5 files changed, 59 insertions(+) create mode 100644 build/integration/composer.json create mode 100644 build/integration/config/behat.yml create mode 100644 build/integration/features/provisioning-v1.feature create mode 100644 build/integration/features/provisioning-v2.feature create mode 100755 build/integration/run.sh diff --git a/build/integration/composer.json b/build/integration/composer.json new file mode 100644 index 00000000000..f77ddba9bcd --- /dev/null +++ b/build/integration/composer.json @@ -0,0 +1,6 @@ +{ + "require-dev": { + "guzzlehttp/guzzle": "~5.0", + "behat/behat": "2.4.*@stable" + } +} diff --git a/build/integration/config/behat.yml b/build/integration/config/behat.yml new file mode 100644 index 00000000000..78a228a5c1e --- /dev/null +++ b/build/integration/config/behat.yml @@ -0,0 +1,17 @@ +default: + paths: + features: ../features + bootstrap: %behat.paths.features%/bootstrap + + context: + parameters: + baseUrl: http://localhost:8080/ocs/ + admin: + - admin + - admin + +ci: + formatter: + name: junit + parameters: + output_path: ./output diff --git a/build/integration/features/provisioning-v1.feature b/build/integration/features/provisioning-v1.feature new file mode 100644 index 00000000000..dd574186b56 --- /dev/null +++ b/build/integration/features/provisioning-v1.feature @@ -0,0 +1,9 @@ +Feature: provisioning + Background: + Given using api version "1" + + Scenario: Getting an not existing user + Given As an "admin" + When sending "GET" to "/cloud/users/test" + Then the status code should be "200" + diff --git a/build/integration/features/provisioning-v2.feature b/build/integration/features/provisioning-v2.feature new file mode 100644 index 00000000000..72ceed5d6a5 --- /dev/null +++ b/build/integration/features/provisioning-v2.feature @@ -0,0 +1,9 @@ +Feature: provisioning + Background: + Given using api version "2" + + Scenario: Getting an not existing user + Given As an "admin" + When sending "GET" to "/cloud/users/test" + Then the status code should be "404" + diff --git a/build/integration/run.sh b/build/integration/run.sh new file mode 100755 index 00000000000..40afbe85b9b --- /dev/null +++ b/build/integration/run.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +composer install + +# TODO: avoid port collision on jenkins - use $EXECUTOR_NUMBER +if [ -z "$EXECUTOR_NUMBER" ]; then + EXECUTOR_NUMBER=0 +fi +PORT=$((8080 + $EXECUTOR_NUMBER)) +echo $PORT +php -S localhost:$PORT -t ../.. & +PHPPID=$! +echo $PHPPID + +export BEHAT_PARAMS="context[parameters][base_url]=http://localhost:$PORT/ocs" +vendor/bin/behat + +kill $PHPPID