unit test on getHome in combination with OfflineUser

This commit is contained in:
Arthur Schiwon 2015-12-11 17:25:57 +01:00
parent aedbc0c626
commit 35a2639701
1 changed files with 52 additions and 2 deletions

View File

@ -70,14 +70,26 @@ class Test_User_Ldap_Direct extends \Test\TestCase {
array($lw, null, null));
$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->getMock('\OCA\user_ldap\lib\FilesystemHelper'),
$this->getMock('\OCA\user_ldap\lib\LogWrapper'),
$this->getMock('\OCP\IAvatarManager'),
$this->getMock('\OCP\Image'),
$this->getMock('\OCP\IDBConnection')
);
])
->getMock();
$um->expects($this->any())
->method('getDeletedUser')
->will($this->returnValue($offlineUser));
$access = $this->getMock('\OCA\user_ldap\lib\Access',
$accMethods,
@ -661,6 +673,44 @@ class Test_User_Ldap_Direct extends \Test\TestCase {
$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) {
$access->connection->expects($this->any())
->method('__get')