aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/Authentication/TwoFactorAuth
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2018-08-08 15:25:59 +0200
committerChristoph Wurst <christoph@winzerhof-wurst.at>2018-08-08 15:25:59 +0200
commitc6e47e8a5139cccdd51a6c68e112e28b73adaddd (patch)
treedf14c63255cdc6e0d379aaa1899dfc991534c796 /tests/lib/Authentication/TwoFactorAuth
parent6b1ba9cdaf3ce5d63e6e46bcbc677cf7933f5fb3 (diff)
downloadnextcloud-server-c6e47e8a5139cccdd51a6c68e112e28b73adaddd.tar.gz
nextcloud-server-c6e47e8a5139cccdd51a6c68e112e28b73adaddd.zip
Fix login redirection if only one 2FA provider is active
Fixes https://github.com/nextcloud/server/issues/10500. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'tests/lib/Authentication/TwoFactorAuth')
-rw-r--r--tests/lib/Authentication/TwoFactorAuth/ProviderSetTest.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/lib/Authentication/TwoFactorAuth/ProviderSetTest.php b/tests/lib/Authentication/TwoFactorAuth/ProviderSetTest.php
index a6f0a703d5e..3587204aba9 100644
--- a/tests/lib/Authentication/TwoFactorAuth/ProviderSetTest.php
+++ b/tests/lib/Authentication/TwoFactorAuth/ProviderSetTest.php
@@ -26,6 +26,7 @@ declare(strict_types=1);
namespace Test\Authentication\TwoFactorAuth;
use OC\Authentication\TwoFactorAuth\ProviderSet;
+use OCA\TwoFactorBackupCodes\Provider\BackupCodesProvider;
use OCP\Authentication\TwoFactorAuth\IProvider;
use Test\TestCase;
@@ -49,6 +50,23 @@ class ProviderSetTest extends TestCase {
$this->assertEquals($expected, $set->getProviders());
}
+ public function testGet3rdPartyProviders() {
+ $p1 = $this->createMock(IProvider::class);
+ $p1->method('getId')->willReturn('p1');
+ $p2 = $this->createMock(IProvider::class);
+ $p2->method('getId')->willReturn('p2');
+ $p3 = $this->createMock(BackupCodesProvider::class);
+ $p3->method('getId')->willReturn('p3');
+ $expected = [
+ 'p1' => $p1,
+ 'p2' => $p2,
+ ];
+
+ $set = new ProviderSet([$p2, $p1], false);
+
+ $this->assertEquals($expected, $set->get3rdPartyProviders());
+ }
+
public function testGetProvider() {
$p1 = $this->createMock(IProvider::class);
$p1->method('getId')->willReturn('p1');