]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add unit tests to enforce a relaxed default share expiration date
authorDaniel Calviño Sánchez <danxuliu@gmail.com>
Wed, 11 Nov 2020 18:36:04 +0000 (19:36 +0100)
committerDaniel Calviño Sánchez <danxuliu@gmail.com>
Thu, 12 Nov 2020 10:57:28 +0000 (11:57 +0100)
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
tests/lib/Share20/ManagerTest.php

index 68da78dd8f8e09bf476abb044fe42abea1c6707f..f351412c95895985679b6e4b0c6911b6b394cfe9 100644 (file)
@@ -833,6 +833,27 @@ class ManagerTest extends \Test\TestCase {
                $this->assertEquals($expected, $share->getExpirationDate());
        }
 
+       public function testValidateExpirationDateEnforceRelaxedDefaultButNotSetNewShare() {
+               $share = $this->manager->newShare();
+
+               $this->config->method('getAppValue')
+                       ->willReturnMap([
+                               ['core', 'shareapi_enforce_expire_date', 'no', 'yes'],
+                               ['core', 'shareapi_expire_after_n_days', '7', '3'],
+                               ['core', 'shareapi_default_expire_date', 'no', 'yes'],
+                               ['core', 'link_defaultExpDays', 3, '1'],
+                       ]);
+
+               $expected = new \DateTime();
+               $expected->setTime(0,0,0);
+               $expected->add(new \DateInterval('P1D'));
+
+               self::invokePrivate($this->manager, 'validateExpirationDate', [$share]);
+
+               $this->assertNotNull($share->getExpirationDate());
+               $this->assertEquals($expected, $share->getExpirationDate());
+       }
+
        public function testValidateExpirationDateEnforceTooFarIntoFuture() {
                $future = new \DateTime();
                $future->add(new \DateInterval('P7D'));