diff options
author | Roeland Jago Douma <rullzer@owncloud.com> | 2016-01-25 12:09:56 +0100 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2016-01-26 13:59:58 +0100 |
commit | 59c2aae54fad07f2ad12f17e37b498355222ced5 (patch) | |
tree | e233e04016e06a55fba6e8b8865c8c8fcba128bd | |
parent | 7239fea0f02a84585be44596f6c14994b6ba5665 (diff) | |
download | nextcloud-server-59c2aae54fad07f2ad12f17e37b498355222ced5.tar.gz nextcloud-server-59c2aae54fad07f2ad12f17e37b498355222ced5.zip |
[Share 2.0] Fix unit tests
-rw-r--r-- | tests/lib/share20/managertest.php | 98 |
1 files changed, 52 insertions, 46 deletions
diff --git a/tests/lib/share20/managertest.php b/tests/lib/share20/managertest.php index 28303d3152f..5fd3fb7cffa 100644 --- a/tests/lib/share20/managertest.php +++ b/tests/lib/share20/managertest.php @@ -21,9 +21,11 @@ namespace Test\Share20; use OC\Share20\IProviderFactory; +use OC\Share20\IShare; use OC\Share20\Manager; use OC\Share20\Exception; +use OC\Share20\Share; use OCP\IL10N; use OCP\ILogger; use OCP\IConfig; @@ -755,18 +757,22 @@ class ManagerTest extends \Test\TestCase { * @expectedExceptionMessage Path already shared with this user */ public function testUserCreateChecksIdenticalShareExists() { - $share = new \OC\Share20\Share(); + $share = new \OC\Share20\Share(); + $share2 = new \OC\Share20\Share(); $sharedWith = $this->getMock('\OCP\IUser'); - $share->setSharedWith($sharedWith); - $path = $this->getMock('\OCP\Files\Node'); - $share->setPath($path); + + $share->setSharedWith($sharedWith)->setPath($path) + ->setProviderId('foo')->setId('bar'); + + $share2->setSharedWith($sharedWith)->setPath($path) + ->setProviderId('foo')->setId('baz'); $this->defaultProvider ->method('getSharesByPath') ->with($path) - ->willReturn([$share]); + ->willReturn([$share2]); $this->invokePrivate($this->manager, 'userCreateChecks', [$share]); } @@ -776,18 +782,24 @@ class ManagerTest extends \Test\TestCase { * @expectedExceptionMessage Path already shared with this user */ public function testUserCreateChecksIdenticalPathSharedViaGroup() { - $share = new \OC\Share20\Share(); + $share = new \OC\Share20\Share(); + $sharedWith = $this->getMock('\OCP\IUser'); $owner = $this->getMock('\OCP\IUser'); $path = $this->getMock('\OCP\Files\Node'); + $share->setSharedWith($sharedWith) ->setPath($path) - ->setShareOwner($owner); + ->setShareOwner($owner) + ->setProviderId('foo') + ->setId('bar'); $share2 = new \OC\Share20\Share(); $owner2 = $this->getMock('\OCP\IUser'); $share2->setShareType(\OCP\Share::SHARE_TYPE_GROUP) - ->setShareOwner($owner2); + ->setShareOwner($owner2) + ->setProviderId('foo') + ->setId('baz'); $group = $this->getMock('\OCP\IGroup'); $group->method('inGroup') @@ -804,19 +816,23 @@ class ManagerTest extends \Test\TestCase { $this->invokePrivate($this->manager, 'userCreateChecks', [$share]); } - public function xtestUserCreateChecksIdenticalPathNotSharedWithUser() { + public function testUserCreateChecksIdenticalPathNotSharedWithUser() { $share = new \OC\Share20\Share(); $sharedWith = $this->getMock('\OCP\IUser'); $owner = $this->getMock('\OCP\IUser'); $path = $this->getMock('\OCP\Files\Node'); $share->setSharedWith($sharedWith) ->setPath($path) - ->setShareOwner($owner); + ->setShareOwner($owner) + ->setProviderId('foo') + ->setId('bar'); $share2 = new \OC\Share20\Share(); $owner2 = $this->getMock('\OCP\IUser'); $share2->setShareType(\OCP\Share::SHARE_TYPE_GROUP) - ->setShareOwner($owner2); + ->setShareOwner($owner2) + ->setProviderId('foo') + ->setId('baz'); $group = $this->getMock('\OCP\IGroup'); $group->method('inGroup') @@ -888,13 +904,16 @@ class ManagerTest extends \Test\TestCase { $share = new \OC\Share20\Share(); $sharedWith = $this->getMock('\OCP\IGroup'); - $share->setSharedWith($sharedWith); - $path = $this->getMock('\OCP\Files\Node'); - $share->setPath($path); + $share->setSharedWith($sharedWith) + ->setPath($path) + ->setProviderId('foo') + ->setId('bar'); $share2 = new \OC\Share20\Share(); - $share2->setSharedWith($sharedWith); + $share2->setSharedWith($sharedWith) + ->setProviderId('foo') + ->setId('baz'); $this->defaultProvider->method('getSharesByPath') ->with($path) @@ -1310,16 +1329,13 @@ class ManagerTest extends \Test\TestCase { $date = new \DateTime(); - $share = $this->createShare( - null, - \OCP\Share::SHARE_TYPE_LINK, - $path, - null, - $sharedBy, - null, - \OCP\Constants::PERMISSION_ALL, - $date, - 'password'); + $share = new \OC\Share20\Share(); + $share->setShareType(\OCP\Share::SHARE_TYPE_LINK) + ->setPath($path) + ->setSharedBy($sharedBy) + ->setPermissions(\OCP\Constants::PERMISSION_ALL) + ->setExpirationDate($date) + ->setPassword('password'); $manager->expects($this->once()) ->method('canShare') @@ -1356,24 +1372,9 @@ class ManagerTest extends \Test\TestCase { ->expects($this->once()) ->method('create') ->with($share) - ->will($this->returnArgument(0)); - - $share->expects($this->once()) - ->method('setShareOwner') - ->with($shareOwner); - $share->expects($this->once()) - ->method('setTarget') - ->with('/target'); - $share->method('getTarget') - ->willReturn('/target'); - $share->expects($this->once()) - ->method('setExpirationDate') - ->with($date); - $share->expects($this->once()) - ->method('setPassword') - ->with('hashed'); - $share->method('getToken') - ->willReturn('token'); + ->will($this->returnCallback(function(Share $share) { + return $share->setId(42); + })); $hookListner = $this->getMockBuilder('Dummy')->setMethods(['pre', 'post'])->getMock(); \OCP\Util::connectHook('OCP\Share', 'pre_shared', $hookListner, 'pre'); @@ -1409,8 +1410,6 @@ class ManagerTest extends \Test\TestCase { 'shareWith' => null, ]; - $share->method('getId')->willReturn(42); - $hookListner->expects($this->once()) ->method('pre') ->with($this->equalTo($hookListnerExpectsPre)); @@ -1418,7 +1417,14 @@ class ManagerTest extends \Test\TestCase { ->method('post') ->with($this->equalTo($hookListnerExpectsPost)); - $manager->createShare($share); + /** @var IShare $share */ + $share = $manager->createShare($share); + + $this->assertSame($shareOwner, $share->getShareOwner()); + $this->assertEquals('/target', $share->getTarget()); + $this->assertSame($date, $share->getExpirationDate()); + $this->assertEquals('token', $share->getToken()); + $this->assertEquals('hashed', $share->getPassword()); } /** |