From 2e9f5bc11acbdfd446564058366993a5c9e9e36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Tue, 3 Dec 2024 17:55:11 +0100 Subject: [PATCH] Add integration test for authenticating as a disabled user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel Calviño Sánchez --- .../features/EnvironmentVariable.feature | 10 ++++++++++ .../features/bootstrap/FeatureContext.php | 15 +++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/tests/integration/features/EnvironmentVariable.feature b/tests/integration/features/EnvironmentVariable.feature index ceb84f3bf..5e5e3edb9 100644 --- a/tests/integration/features/EnvironmentVariable.feature +++ b/tests/integration/features/EnvironmentVariable.feature @@ -27,3 +27,13 @@ Feature: EnvironmentVariable And The environment variable "REMOTE_USER" is set to "certainly-not-provisioned-user" When I send a GET request to "http://localhost:8080/index.php/login" Then I should be redirected to "http://localhost:8080/index.php/apps/user_saml/saml/notProvisioned" + + Scenario: Authenticating using environment variable with SSO as a disabled user on backend + Given A local user with uid "provisioned-disabled-user" exists + And A local user with uid "provisioned-disabled-user" is disabled + And The setting "type" is set to "environment-variable" + And The setting "general-require_provisioned_account" is set to "1" + And The setting "general-uid_mapping" is set to "REMOTE_USER" + And The environment variable "REMOTE_USER" is set to "provisioned-disabled-user" + When I send a GET request to "http://localhost:8080/index.php/login" + Then I should be redirected to "http://localhost:8080/index.php/apps/user_saml/saml/error" diff --git a/tests/integration/features/bootstrap/FeatureContext.php b/tests/integration/features/bootstrap/FeatureContext.php index 7adf12ade..27b847312 100644 --- a/tests/integration/features/bootstrap/FeatureContext.php +++ b/tests/integration/features/bootstrap/FeatureContext.php @@ -493,6 +493,21 @@ public function aLocalUserWithUidExists($uid) { ); } + /** + * @Given A local user with uid :uid is disabled + * @param string $uid + */ + public function aLocalUserWithUidIsDisabled($uid) { + shell_exec( + sprintf( + 'OC_PASS=password %s %s user:disable %s', + PHP_BINARY, + __DIR__ . '/../../../../../../occ', + $uid + ) + ); + } + /** * @Then I hack :uid into existence */