summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2017-04-11 01:30:32 +0200
committerLukas Reschke <lukas@statuscode.ch>2017-04-11 01:39:54 +0200
commitb882f65fbb408aaf820bdd37420efb1dcbbfaba3 (patch)
tree7a1d60fbf1624e96739291aab06863333bc0b720 /build
parentaacbb560ae5bbae3541e901915937cc3384353ef (diff)
downloadnextcloud-server-b882f65fbb408aaf820bdd37420efb1dcbbfaba3.tar.gz
nextcloud-server-b882f65fbb408aaf820bdd37420efb1dcbbfaba3.zip
Add integration tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
Diffstat (limited to 'build')
-rw-r--r--build/integration/features/bootstrap/Auth.php3
-rw-r--r--build/integration/features/bootstrap/CommandLineContext.php14
-rw-r--r--build/integration/features/maintenance-mode.feature34
3 files changed, 51 insertions, 0 deletions
diff --git a/build/integration/features/bootstrap/Auth.php b/build/integration/features/bootstrap/Auth.php
index fd1b2e05a80..7addcab5f97 100644
--- a/build/integration/features/bootstrap/Auth.php
+++ b/build/integration/features/bootstrap/Auth.php
@@ -22,6 +22,7 @@
use GuzzleHttp\Client;
use GuzzleHttp\Exception\ClientException;
+use GuzzleHttp\Exception\ServerException;
use GuzzleHttp\Cookie\CookieJar;
require __DIR__ . '/../../vendor/autoload.php';
@@ -68,6 +69,8 @@ trait Auth {
$this->response = $this->client->send($request);
} catch (ClientException $ex) {
$this->response = $ex->getResponse();
+ } catch (ServerException $ex) {
+ $this->response = $ex->getResponse();
}
}
diff --git a/build/integration/features/bootstrap/CommandLineContext.php b/build/integration/features/bootstrap/CommandLineContext.php
index c8253966cdb..9a48c8517c7 100644
--- a/build/integration/features/bootstrap/CommandLineContext.php
+++ b/build/integration/features/bootstrap/CommandLineContext.php
@@ -36,6 +36,20 @@ class CommandLineContext implements \Behat\Behat\Context\Context {
$this->remoteBaseUrl = $baseUrl;
}
+ /**
+ * @Given Maintenance mode is enabled
+ */
+ public function maintenanceModeIsEnabled() {
+ $this->runOcc(['maintenance:mode', '--on']);
+ }
+
+ /**
+ * @Then Maintenance mode is disabled
+ */
+ public function maintenanceModeIsDisabled() {
+ $this->runOcc(['maintenance:mode', '--off']);
+ }
+
/** @BeforeScenario */
public function gatherContexts(BeforeScenarioScope $scope) {
$environment = $scope->getEnvironment();
diff --git a/build/integration/features/maintenance-mode.feature b/build/integration/features/maintenance-mode.feature
new file mode 100644
index 00000000000..a2e61a7e605
--- /dev/null
+++ b/build/integration/features/maintenance-mode.feature
@@ -0,0 +1,34 @@
+Feature: maintenance-mode
+
+ Background:
+ Given Maintenance mode is enabled
+
+ Scenario: Accessing /index.php with maintenance mode enabled
+ When requesting "/index.php" with "GET"
+ Then the HTTP status code should be "503"
+ Then Maintenance mode is disabled
+
+ Scenario: Accessing /remote.php/webdav with maintenance mode enabled
+ When requesting "/remote.php/webdav" with "GET"
+ Then the HTTP status code should be "503"
+ Then Maintenance mode is disabled
+
+ Scenario: Accessing /remote.php/dav with maintenance mode enabled
+ When requesting "/remote.php/dav" with "GET"
+ Then the HTTP status code should be "503"
+ Then Maintenance mode is disabled
+
+ Scenario: Accessing /ocs/v1.php with maintenance mode enabled
+ When requesting "/ocs/v1.php" with "GET"
+ Then the HTTP status code should be "503"
+ Then Maintenance mode is disabled
+
+ Scenario: Accessing /ocs/v2.php with maintenance mode enabled
+ When requesting "/ocs/v2.php" with "GET"
+ Then the HTTP status code should be "503"
+ Then Maintenance mode is disabled
+
+ Scenario: Accessing /public.php/webdav with maintenance mode enabled
+ When requesting "/public.php/webdav" with "GET"
+ Then the HTTP status code should be "503"
+ Then Maintenance mode is disabled