From 83e994c11fcc25a525e604bf7cc100f574794e02 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Thu, 11 Oct 2018 12:20:18 +0200 Subject: Make it possible to enforce mandatory 2FA for groups Signed-off-by: Christoph Wurst --- .../TwoFactorAuth/EnforcementStateTest.php | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 tests/lib/Authentication/TwoFactorAuth/EnforcementStateTest.php (limited to 'tests/lib/Authentication/TwoFactorAuth/EnforcementStateTest.php') diff --git a/tests/lib/Authentication/TwoFactorAuth/EnforcementStateTest.php b/tests/lib/Authentication/TwoFactorAuth/EnforcementStateTest.php new file mode 100644 index 00000000000..0508c84787c --- /dev/null +++ b/tests/lib/Authentication/TwoFactorAuth/EnforcementStateTest.php @@ -0,0 +1,67 @@ + + * + * @author 2018 Christoph Wurst + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +/** + * Created by PhpStorm. + * User: christoph + * Date: 11.10.18 + * Time: 13:01 + */ + +namespace Tests\Authentication\TwoFactorAuth; + +use OC\Authentication\TwoFactorAuth\EnforcementState; +use Test\TestCase; + +class EnforcementStateTest extends TestCase { + + public function testIsEnforced() { + $state = new EnforcementState(true); + + $this->assertTrue($state->isEnforced()); + } + + public function testGetEnforcedGroups() { + $state = new EnforcementState(true, ['twofactorers']); + + $this->assertEquals(['twofactorers'], $state->getEnforcedGroups()); + } + + public function testGetExcludedGroups() { + $state = new EnforcementState(true, [], ['yoloers']); + + $this->assertEquals(['yoloers'], $state->getExcludedGroups()); + } + + public function testJsonSerialize() { + $state = new EnforcementState(true, ['twofactorers'], ['yoloers']); + $expected = [ + 'enforced' => true, + 'enforcedGroups' => ['twofactorers'], + 'excludedGroups' => ['yoloers'], + ]; + + $json = $state->jsonSerialize(); + + $this->assertEquals($expected, $json); + } +} -- cgit v1.2.3