diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2015-12-11 17:25:57 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2015-12-11 17:25:57 +0100 |
commit | 35a2639701ffdd257adbd7270ef8648c4ae9f15b (patch) | |
tree | 90a6beb8129183f9c809fa5ba8d42fad2613de53 /apps | |
parent | aedbc0c6269aa16a733bd025aeb6d1a2360743fe (diff) | |
download | nextcloud-server-35a2639701ffdd257adbd7270ef8648c4ae9f15b.tar.gz nextcloud-server-35a2639701ffdd257adbd7270ef8648c4ae9f15b.zip |
unit test on getHome in combination with OfflineUser
Diffstat (limited to 'apps')
-rw-r--r-- | apps/user_ldap/tests/user_ldap.php | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/apps/user_ldap/tests/user_ldap.php b/apps/user_ldap/tests/user_ldap.php index b08706c71d9..3aec2a5ce57 100644 --- a/apps/user_ldap/tests/user_ldap.php +++ b/apps/user_ldap/tests/user_ldap.php @@ -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') |