Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/user_saml.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorblizzz <blizzz@arthur-schiwon.de>2018-03-19 14:20:05 +0300
committerGitHub <noreply@github.com>2018-03-19 14:20:05 +0300
commit1df4ef8f2beac00e75e76bce495efc8f409c312c (patch)
treed3b87090023ca1f6735d9a6896fcb9a3ee4a4e79 /tests
parent95623a79a093b3f345c0d0bdf5cde88ee284d1c7 (diff)
parentbed32b460fdba7d8d8ef0586c63272c6d2575643 (diff)
Merge pull request #192 from nextcloud/fix/162/search-uid-if-not-known
try to lookup a user if the uid does not resolve and autoprov is disabled
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/Controller/SAMLControllerTest.php53
1 files changed, 52 insertions, 1 deletions
diff --git a/tests/unit/Controller/SAMLControllerTest.php b/tests/unit/Controller/SAMLControllerTest.php
index d0ad4e0a..def38c1f 100644
--- a/tests/unit/Controller/SAMLControllerTest.php
+++ b/tests/unit/Controller/SAMLControllerTest.php
@@ -367,7 +367,7 @@ class SAMLControllerTest extends TestCase {
->with('user_saml', 'general-uid_mapping')
->willReturn('uid');
$this->userManager
- ->expects($this->once())
+ ->expects($this->any())
->method('userExists')
->with('MyUid')
->willReturn(false);
@@ -385,6 +385,57 @@ class SAMLControllerTest extends TestCase {
$this->assertEquals($expected, $this->samlController->login());
}
+ public function testLoginWithEnvVariableAndNotYetMappedUserWithoutProvisioning() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getAppValue')
+ ->with('user_saml', 'type')
+ ->willReturn('environment-variable');
+ $this->session
+ ->expects($this->once())
+ ->method('get')
+ ->with('user_saml.samlUserData')
+ ->willReturn([
+ 'foo' => 'bar',
+ 'uid' => 'MyUid',
+ 'bar' => 'foo',
+ ]);
+ $this->config
+ ->expects($this->at(1))
+ ->method('getAppValue')
+ ->with('user_saml', 'general-uid_mapping')
+ ->willReturn('uid');
+ $this->userManager
+ ->expects($this->exactly(2))
+ ->method('userExists')
+ ->with('MyUid')
+ ->willReturnOnConsecutiveCalls(false, true);
+ $this->userManager
+ ->expects($this->once())
+ ->method('get')
+ ->with('MyUid')
+ ->willReturn($this->createMock(IUser::class));
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('getAbsoluteUrl')
+ ->with('/')
+ ->willReturn('https://nextcloud.com/absolute/');
+ $this->urlGenerator
+ ->expects($this->never())
+ ->method('linkToRouteAbsolute');
+ $this->userBackend
+ ->expects($this->once())
+ ->method('autoprovisionAllowed')
+ ->willReturn(false);
+ $this->userBackend
+ ->expects($this->once())
+ ->method('getCurrentUserId')
+ ->willReturn('MyUid');
+
+ $expected = new RedirectResponse('https://nextcloud.com/absolute/');
+ $this->assertEquals($expected, $this->samlController->login());
+ }
+
public function testNotProvisioned() {
$expected = new TemplateResponse('user_saml', 'notProvisioned', [], 'guest');
$this->assertEquals($expected, $this->samlController->notProvisioned());