/** * @param string $configPrefix */ private function addAccess($configPrefix) { static $ocConfig; static $fs; static $log; static $avatarM; static $userMap; static $groupMap; static $db; static $userManager; if (is_null($fs)) { $ocConfig = \OC::$server->getConfig(); $fs = new FilesystemHelper(); $log = new LogWrapper(); $avatarM = \OC::$server->getAvatarManager(); $db = \OC::$server->getDatabaseConnection(); $userMap = new UserMapping($db); $groupMap = new GroupMapping($db); $userManager = \OC::$server->getUserManager(); } $userManager = new user\Manager($ocConfig, $fs, $log, $avatarM, new \OCP\Image(), $db, $userManager); $connector = new Connection($this->ldap, $configPrefix); $access = new Access($connector, $this->ldap, $userManager); $access->setUserMapper($userMap); $access->setGroupMapper($groupMap); self::$accesses[$configPrefix] = $access; }
/** * @return \OCA\user_ldap\GROUP_LDAP|\OCA\user_ldap\Group_Proxy */ private static function getGroupBE() { if (!is_null(self::$groupBE)) { return self::$groupBE; } $helper = new Helper(); $configPrefixes = $helper->getServerConfigurationPrefixes(true); $ldapWrapper = new LDAP(); if (count($configPrefixes) === 1) { //avoid the proxy when there is only one LDAP server configured $dbc = \OC::$server->getDatabaseConnection(); $userManager = new user\Manager(\OC::$server->getConfig(), new FilesystemHelper(), new LogWrapper(), \OC::$server->getAvatarManager(), new \OCP\Image(), $dbc); $connector = new Connection($ldapWrapper, $configPrefixes[0]); $ldapAccess = new Access($connector, $ldapWrapper, $userManager); $groupMapper = new GroupMapping($dbc); $userMapper = new UserMapping($dbc); $ldapAccess->setGroupMapper($groupMapper); $ldapAccess->setUserMapper($userMapper); self::$groupBE = new \OCA\user_ldap\GROUP_LDAP($ldapAccess); } else { self::$groupBE = new \OCA\user_ldap\Group_Proxy($configPrefixes, $ldapWrapper); } return self::$groupBE; }
public function testBatchApplyUserAttributes() { list($lw, $con, $um) = $this->getConnectorAndLdapMock(); $access = new Access($con, $lw, $um); $mapperMock = $this->getMockBuilder('\\OCA\\User_LDAP\\Mapping\\UserMapping')->disableOriginalConstructor()->getMock(); $userMock = $this->getMockBuilder('\\OCA\\user_ldap\\lib\\user\\User')->disableOriginalConstructor()->getMock(); $access->setUserMapper($mapperMock); $data = array(array('dn' => 'foobar', $con->ldapUserDisplayName => 'barfoo'), array('dn' => 'foo', $con->ldapUserDisplayName => 'bar'), array('dn' => 'raboof', $con->ldapUserDisplayName => 'oofrab')); $userMock->expects($this->exactly(count($data)))->method('processAttributes'); $um->expects($this->exactly(count($data)))->method('get')->will($this->returnValue($userMock)); $access->batchApplyUserAttributes($data); }