From 4987e245bb629e3171425bf16db341c5c3a7c3c7 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Mon, 30 May 2016 21:47:31 -0400 Subject: Do not sync user role if LDAP groups are not configured --- tests/units/Core/Ldap/LdapUserTest.php | 9 +++++++-- tests/units/Core/User/UserPropertyTest.php | 24 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/units/Core/Ldap/LdapUserTest.php b/tests/units/Core/Ldap/LdapUserTest.php index 02b9331e..505b8a03 100644 --- a/tests/units/Core/Ldap/LdapUserTest.php +++ b/tests/units/Core/Ldap/LdapUserTest.php @@ -61,7 +61,7 @@ class LdapUserTest extends Base ->getMock(); } - public function testGetUser() + public function testGetUserWithNoGroupConfigured() { $entries = new Entries(array( 'count' => 1, @@ -136,7 +136,7 @@ class LdapUserTest extends Base $this->assertEquals('my_ldap_user', $user->getUsername()); $this->assertEquals('My LDAP user', $user->getName()); $this->assertEquals('user1@localhost', $user->getEmail()); - $this->assertEquals(Role::APP_USER, $user->getRole()); + $this->assertEquals(null, $user->getRole()); $this->assertSame('', $user->getPhoto()); $this->assertEquals(array(), $user->getExternalGroupIds()); $this->assertEquals(array('is_ldap_user' => 1), $user->getExtraAttributes()); @@ -744,6 +744,11 @@ class LdapUserTest extends Base ->method('getGroupUserFilter') ->will($this->returnValue('(&(objectClass=posixGroup)(memberUid=%s))')); + $this->user + ->expects($this->any()) + ->method('getGroupManagerDn') + ->will($this->returnValue('cn=Kanboard Managers,ou=Groups,dc=kanboard,dc=local')); + $this->user ->expects($this->any()) ->method('getBasDn') diff --git a/tests/units/Core/User/UserPropertyTest.php b/tests/units/Core/User/UserPropertyTest.php index a2f052f4..30e651cb 100644 --- a/tests/units/Core/User/UserPropertyTest.php +++ b/tests/units/Core/User/UserPropertyTest.php @@ -56,6 +56,30 @@ class UserPropertyTest extends Base ); $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); + + $profile = array( + 'id' => 123, + 'username' => 'bob', + 'name' => null, + 'email' => '', + 'other_column' => 'myvalue', + 'role' => Role::APP_ADMIN, + ); + + $properties = array( + 'external_id' => '456', + 'username' => 'bobby', + 'name' => 'Bobby', + 'email' => 'admin@localhost', + 'role' => null, + ); + + $expected = array( + 'name' => 'Bobby', + 'email' => 'admin@localhost', + ); + + $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); } public function testFilterPropertiesOverrideExistingValueWhenNecessary() -- cgit v1.2.3