diff --git a/tests/integration/features/EnvironmentVariable.feature b/tests/integration/features/EnvironmentVariable.feature index ceb84f3b..5e5e3edb 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 7adf12ad..27b84731 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 */