Skip to content
Snippets Groups Projects
Commit 35a26397 authored by Arthur Schiwon's avatar Arthur Schiwon
Browse files

unit test on getHome in combination with OfflineUser

parent aedbc0c6
No related branches found
No related tags found
No related merge requests found
...@@ -70,14 +70,26 @@ class Test_User_Ldap_Direct extends \Test\TestCase { ...@@ -70,14 +70,26 @@ class Test_User_Ldap_Direct extends \Test\TestCase {
array($lw, null, null)); array($lw, null, null));
$this->configMock = $this->getMock('\OCP\IConfig'); $this->configMock = $this->getMock('\OCP\IConfig');
$um = new \OCA\user_ldap\lib\user\Manager(
$offlineUser = $this->getMockBuilder('\OCA\user_ldap\lib\user\OfflineUser')
->disableOriginalConstructor()
->getMock();
$um = $this->getMockBuilder('\OCA\user_ldap\lib\user\Manager')
->setMethods(['getDeletedUser'])
->setConstructorArgs([
$this->configMock, $this->configMock,
$this->getMock('\OCA\user_ldap\lib\FilesystemHelper'), $this->getMock('\OCA\user_ldap\lib\FilesystemHelper'),
$this->getMock('\OCA\user_ldap\lib\LogWrapper'), $this->getMock('\OCA\user_ldap\lib\LogWrapper'),
$this->getMock('\OCP\IAvatarManager'), $this->getMock('\OCP\IAvatarManager'),
$this->getMock('\OCP\Image'), $this->getMock('\OCP\Image'),
$this->getMock('\OCP\IDBConnection') $this->getMock('\OCP\IDBConnection')
); ])
->getMock();
$um->expects($this->any())
->method('getDeletedUser')
->will($this->returnValue($offlineUser));
$access = $this->getMock('\OCA\user_ldap\lib\Access', $access = $this->getMock('\OCA\user_ldap\lib\Access',
$accMethods, $accMethods,
...@@ -661,6 +673,44 @@ class Test_User_Ldap_Direct extends \Test\TestCase { ...@@ -661,6 +673,44 @@ class Test_User_Ldap_Direct extends \Test\TestCase {
$this->assertFalse($result); $this->assertFalse($result);
} }
/**
* @expectedException \OC\User\NoUserException
*/
public function testGetHomeDeletedUser() {
$access = $this->getAccessMock();
$backend = new UserLDAP($access, $this->getMock('\OCP\IConfig'));
$this->prepareMockForUserExists($access);
$access->connection->expects($this->any())
->method('__get')
->will($this->returnCallback(function($name) {
if($name === 'homeFolderNamingRule') {
return 'attr:testAttribute';
}
return null;
}));
$access->expects($this->any())
->method('readAttribute')
->will($this->returnValue([]));
$userMapper = $this->getMockBuilder('\OCA\User_LDAP\Mapping\UserMapping')
->disableOriginalConstructor()
->getMock();
$access->expects($this->any())
->method('getUserMapper')
->will($this->returnValue($userMapper));
$this->configMock->expects($this->any())
->method('getUserValue')
->will($this->returnValue(true));
//no path at all – triggers OC default behaviour
$result = $backend->getHome('newyorker');
$this->assertFalse($result);
}
private function prepareAccessForGetDisplayName(&$access) { private function prepareAccessForGetDisplayName(&$access) {
$access->connection->expects($this->any()) $access->connection->expects($this->any())
->method('__get') ->method('__get')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment