From a221f720c75344a19f7d980bcd17b40e335aa30d Mon Sep 17 00:00:00 2001 From: skjnldsv Date: Tue, 15 Apr 2025 10:05:39 +0200 Subject: [PATCH] test: enable rate limiting for ratelimiting.feature Signed-off-by: skjnldsv --- build/integration/config/behat.yml | 10 +++++++ .../bootstrap/RateLimitingContext.php | 30 +++++++++++++++++++ .../ratelimiting.feature | 1 + 3 files changed, 41 insertions(+) create mode 100644 build/integration/features/bootstrap/RateLimitingContext.php rename build/integration/{features => ratelimiting_features}/ratelimiting.feature (99%) diff --git a/build/integration/config/behat.yml b/build/integration/config/behat.yml index 183ce884863..4185378211b 100644 --- a/build/integration/config/behat.yml +++ b/build/integration/config/behat.yml @@ -233,3 +233,13 @@ default: regular_user_password: 123456 - RemoteContext: remote: http://localhost:8080 + ratelimiting: + paths: + - "%paths.base%/../ratelimiting_features" + contexts: + - RateLimitingContext: + baseUrl: http://localhost:8080 + admin: + - admin + - admin + regular_user_password: 123456 diff --git a/build/integration/features/bootstrap/RateLimitingContext.php b/build/integration/features/bootstrap/RateLimitingContext.php new file mode 100644 index 00000000000..ca198dc5514 --- /dev/null +++ b/build/integration/features/bootstrap/RateLimitingContext.php @@ -0,0 +1,30 @@ +runOcc(['config:system:set', 'ratelimit.protection.enabled', '--value', 'true', '--type', 'bool']); + } + + /** + * @AfterScenario @RateLimiting + */ + public function disableRateLimiting() { + // Restore the default rate limiting configuration. + // Ratelimiting is disabled by default, so we need to disable it + $this->runOcc(['config:system:set', 'ratelimit.protection.enabled', '--value', 'false', '--type', 'bool']); + } +} diff --git a/build/integration/features/ratelimiting.feature b/build/integration/ratelimiting_features/ratelimiting.feature similarity index 99% rename from build/integration/features/ratelimiting.feature rename to build/integration/ratelimiting_features/ratelimiting.feature index a2fca2fc6be..43cfddec85d 100644 --- a/build/integration/features/ratelimiting.feature +++ b/build/integration/ratelimiting_features/ratelimiting.feature @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors # SPDX-License-Identifier: AGPL-3.0-or-later +@RateLimiting Feature: ratelimiting Background: