/** * Prepares the Access mock for getUsers tests * @param \OCA\user_ldap\lib\Access $access mock * @return void */ private function prepareAccessForGetUsers(&$access) { $access->expects($this->once())->method('escapeFilterPart')->will($this->returnCallback(function ($search) { return $search; })); $access->expects($this->any())->method('getFilterPartForUserSearch')->will($this->returnCallback(function ($search) { return $search; })); $access->expects($this->any())->method('combineFilterWithAnd')->will($this->returnCallback(function ($param) { return $param[1]; })); $access->expects($this->any())->method('fetchListOfUsers')->will($this->returnCallback(function ($search, $a, $l, $o) { $users = array('gunslinger', 'newyorker', 'ladyofshadows'); if (empty($search)) { $result = $users; } else { $result = array(); foreach ($users as $user) { if (stripos($user, $search) !== false) { $result[] = $user; } } } if (!is_null($l) || !is_null($o)) { $result = array_slice($result, $o, $l); } return $result; })); $access->expects($this->any())->method('ownCloudUserNames')->will($this->returnArgument(0)); }