/** * Tests EngineBlock_SocialData_FieldMapper->ldapToSocialData() */ public function testLdapToSocialData() { // Check conversion of a record, without filtering. $ldapRecord = array("collabpersonid" => "urn:collab:surfnet.nl:hansz", "displayname" => "Hans Zandbelt"); $socialRecord = $this->EngineBlock_SocialData_FieldMapper->ldapToSocialData($ldapRecord); $this->assertEquals(array("id" => "urn:collab:surfnet.nl:hansz", "displayName" => "Hans Zandbelt", "nickname" => "Hans Zandbelt"), $socialRecord); // Check converstion, filtering to only a single field // Check conversion of a record, without filtering. $ldapRecord = array("collabpersonid" => "urn:collab:surfnet.nl:hansz", "displayname" => "Hans Zandbelt"); $socialRecord = $this->EngineBlock_SocialData_FieldMapper->ldapToSocialData($ldapRecord, array("nickname")); $this->assertEquals(array("nickname" => "Hans Zandbelt"), $socialRecord); // Check converstion, check conversion of single to multivalues // Check conversion of a record, without filtering. $ldapRecord = array("collabpersonid" => "urn:collab:surfnet.nl:hansz", "displayname" => array("Hans Zandbelt"), "mail" => "*****@*****.**"); $socialRecord = $this->EngineBlock_SocialData_FieldMapper->ldapToSocialData($ldapRecord, array("displayName", "emails")); $this->assertEquals(array("displayName" => "Hans Zandbelt", "emails" => array("*****@*****.**")), $socialRecord); // Check if we cleanly handle nonsense keys (return empty array) $ldapRecord = array("collabpersonid" => "urn:collab:surfnet.nl:hansz"); $socialRecord = $this->EngineBlock_SocialData_FieldMapper->ldapToSocialData($ldapRecord, array("batcaveVolume")); $this->assertEquals(count($socialRecord), 0); }
protected function _getLdapUser($userId) { $mapper = new EngineBlock_SocialData_FieldMapper(); $userDirectory = $this->_getUserDirectory(); $users = $userDirectory->findUsersByIdentifier($userId); if (count($users) === 1) { $firstWarningSent = $users[0]['collabpersonfirstwarningsent'][0] === 'TRUE' ? true : false; $secondWarningSent = $users[0]['collabpersonsecondwarningsent'][0] === 'TRUE' ? true : false; $user = $mapper->ldapToSocialData(array_shift($users)); // add first and second warning fields $user['firstWarningSent'] = $firstWarningSent; $user['secondWarningSent'] = $secondWarningSent; return $user; } return null; }