'bob', 'name' => 'Bob', 'role' => Role::APP_USER, 'is_ldap_user' => 1, ); $this->assertEquals($expected, UserProperty::getProperties($user)); $user = new LdapUserProvider('ldapId', 'bob', '', '', '', array()); $expected = array( 'username' => 'bob', 'is_ldap_user' => 1, ); $this->assertEquals($expected, UserProperty::getProperties($user)); } public function testFilterPropertiesDoNotOverrideExistingValue() { $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' => '', ); $expected = array( 'name' => 'Bobby', 'email' => 'admin@localhost', ); $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() { $profile = array( 'id' => 123, 'username' => 'bob', 'name' => null, 'email' => '', 'other_column' => 'myvalue', 'role' => Role::APP_USER, ); $properties = array( 'external_id' => '456', 'username' => 'bobby', 'name' => 'Bobby', 'email' => 'admin@localhost', 'role' => Role::APP_MANAGER, ); $expected = array( 'name' => 'Bobby', 'email' => 'admin@localhost', 'role' => Role::APP_MANAGER, ); $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); } public function testFilterPropertiesDoNotOverrideSameValue() { $profile = array( 'id' => 123, 'username' => 'bob', 'name' => 'Bobby', 'email' => 'admin@example.org', 'other_column' => 'myvalue', 'role' => Role::APP_MANAGER, ); $properties = array( 'external_id' => '456', 'username' => 'bobby', 'name' => 'Bobby', 'email' => 'admin@localhost', 'role' => Role::APP_MANAGER, ); $expected = array( 'email' => 'admin@localhost', ); $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); } }