aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2023-08-07 16:07:20 +0200
committerCôme Chilliet <91878298+come-nc@users.noreply.github.com>2023-08-28 09:40:12 +0200
commitfd0de0a2d1f3ced04451342ad8f3a2ad0e68eb8c (patch)
tree9beaa4cefa4f4ac6b5c833bfff63c88e121f1323
parent8c9aa9a91962afe32e50c594dbc67352a963e4cd (diff)
downloadnextcloud-server-fd0de0a2d1f3ced04451342ad8f3a2ad0e68eb8c.tar.gz
nextcloud-server-fd0de0a2d1f3ced04451342ad8f3a2ad0e68eb8c.zip
Fix tests, add test for the new feature
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
-rw-r--r--tests/lib/Share20/ManagerTest.php90
1 files changed, 77 insertions, 13 deletions
diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php
index e8704600e2a..1f3bcd405a1 100644
--- a/tests/lib/Share20/ManagerTest.php
+++ b/tests/lib/Share20/ManagerTest.php
@@ -2729,10 +2729,12 @@ class ManagerTest extends \Test\TestCase {
public function testGetShareByToken() {
$this->config
- ->expects($this->once())
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('core', 'shareapi_allow_links', 'yes')
- ->willReturn('yes');
+ ->willReturnMap([
+ ['core', 'shareapi_allow_links', 'yes', 'yes'],
+ ['files_sharing', 'hide_disabled_user_shares', 'no', 'no'],
+ ]);
$factory = $this->createMock(IProviderFactory::class);
@@ -2774,10 +2776,12 @@ class ManagerTest extends \Test\TestCase {
public function testGetShareByTokenRoom() {
$this->config
- ->expects($this->once())
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('core', 'shareapi_allow_links', 'yes')
- ->willReturn('no');
+ ->willReturnMap([
+ ['core', 'shareapi_allow_links', 'yes', 'no'],
+ ['files_sharing', 'hide_disabled_user_shares', 'no', 'no'],
+ ]);
$factory = $this->createMock(IProviderFactory::class);
@@ -2826,10 +2830,12 @@ class ManagerTest extends \Test\TestCase {
public function testGetShareByTokenWithException() {
$this->config
- ->expects($this->once())
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('core', 'shareapi_allow_links', 'yes')
- ->willReturn('yes');
+ ->willReturnMap([
+ ['core', 'shareapi_allow_links', 'yes', 'yes'],
+ ['files_sharing', 'hide_disabled_user_shares', 'no', 'no'],
+ ]);
$factory = $this->createMock(IProviderFactory::class);
@@ -2876,6 +2882,61 @@ class ManagerTest extends \Test\TestCase {
}
+ public function testGetShareByTokenHideDisabledUser() {
+ $this->expectException(\OCP\Share\Exceptions\ShareNotFound::class);
+ $this->expectExceptionMessage('The requested share comes from a disabled user');
+
+ $this->config
+ ->expects($this->exactly(2))
+ ->method('getAppValue')
+ ->willReturnMap([
+ ['core', 'shareapi_allow_links', 'yes', 'yes'],
+ ['files_sharing', 'hide_disabled_user_shares', 'no', 'yes'],
+ ]);
+
+ $this->l->expects($this->once())
+ ->method('t')
+ ->willReturnArgument(0);
+
+ $manager = $this->createManagerMock()
+ ->setMethods(['deleteShare'])
+ ->getMock();
+
+ $date = new \DateTime();
+ $date->setTime(0, 0, 0);
+ $date->add(new \DateInterval('P2D'));
+ $share = $this->manager->newShare();
+ $share->setExpirationDate($date);
+ $share->setShareOwner('owner');
+ $share->setSharedBy('sharedBy');
+
+ $sharedBy = $this->createMock(IUser::class);
+ $owner = $this->createMock(IUser::class);
+
+ $this->userManager->method('get')->willReturnMap([
+ ['sharedBy', $sharedBy],
+ ['owner', $owner],
+ ]);
+
+ $owner->expects($this->once())
+ ->method('isEnabled')
+ ->willReturn(true);
+ $sharedBy->expects($this->once())
+ ->method('isEnabled')
+ ->willReturn(false);
+
+ $this->defaultProvider->expects($this->once())
+ ->method('getShareByToken')
+ ->with('expiredToken')
+ ->willReturn($share);
+
+ $manager->expects($this->never())
+ ->method('deleteShare');
+
+ $manager->getShareByToken('expiredToken');
+ }
+
+
public function testGetShareByTokenExpired() {
$this->expectException(\OCP\Share\Exceptions\ShareNotFound::class);
$this->expectExceptionMessage('The requested share does not exist anymore');
@@ -2913,10 +2974,12 @@ class ManagerTest extends \Test\TestCase {
public function testGetShareByTokenNotExpired() {
$this->config
- ->expects($this->once())
+ ->expects($this->exactly(2))
->method('getAppValue')
- ->with('core', 'shareapi_allow_links', 'yes')
- ->willReturn('yes');
+ ->willReturnMap([
+ ['core', 'shareapi_allow_links', 'yes', 'yes'],
+ ['files_sharing', 'hide_disabled_user_shares', 'no', 'no'],
+ ]);
$date = new \DateTime();
$date->setTime(0, 0, 0);
@@ -2948,11 +3011,12 @@ class ManagerTest extends \Test\TestCase {
public function testGetShareByTokenPublicUploadDisabled() {
$this->config
- ->expects($this->exactly(2))
+ ->expects($this->exactly(3))
->method('getAppValue')
->willReturnMap([
['core', 'shareapi_allow_links', 'yes', 'yes'],
['core', 'shareapi_allow_public_upload', 'yes', 'no'],
+ ['files_sharing', 'hide_disabled_user_shares', 'no', 'no'],
]);
$share = $this->manager->newShare();