diff options
author | Andreas Fischer <bantu@owncloud.com> | 2013-09-23 15:12:38 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@owncloud.com> | 2013-09-23 15:12:38 +0200 |
commit | 437858852c039ba7fef7e6cf2a4a2e9dae68c1a2 (patch) | |
tree | 8ab405d33f7000ccede7dda359f490e4f7c4dbc1 /tests | |
parent | 9851f0f4f2a97dc6ac1382bcd533eb23feffa4e0 (diff) | |
parent | a92d4c2c0932f5c662ed846763e3059ebdcde07c (diff) | |
download | nextcloud-server-437858852c039ba7fef7e6cf2a4a2e9dae68c1a2.tar.gz nextcloud-server-437858852c039ba7fef7e6cf2a4a2e9dae68c1a2.zip |
Merge pull request #4856 from owncloud/fix-link-expiration
Fix Sharing "Expiration Date" for Shares of type Link (i.e. Token)
* owncloud/fix-link-expiration:
Perform expiration date checking before returning share data for token.
Tests whether expired/valid link share is still accessible.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/share/share.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/lib/share/share.php b/tests/lib/share/share.php index e02b0e4354d..8e9eef65d32 100644 --- a/tests/lib/share/share.php +++ b/tests/lib/share/share.php @@ -535,4 +535,52 @@ class Test_Share extends PHPUnit_Framework_TestCase { 'Failed asserting that user 3 still has access to test.txt after expiration date has been set.' ); } + + protected function getShareByValidToken($token) { + $row = OCP\Share::getShareByToken($token); + $this->assertInternalType( + 'array', + $row, + "Failed asserting that a share for token $token exists." + ); + return $row; + } + + public function testShareItemWithLink() { + OC_User::setUserId($this->user1); + $token = OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_LINK, null, OCP\PERMISSION_READ); + $this->assertInternalType( + 'string', + $token, + 'Failed asserting that user 1 successfully shared text.txt as link with token.' + ); + + // testGetShareByTokenNoExpiration + $row = $this->getShareByValidToken($token); + $this->assertEmpty( + $row['expiration'], + 'Failed asserting that the returned row does not have an expiration date.' + ); + + // testGetShareByTokenExpirationValid + $this->assertTrue( + OCP\Share::setExpirationDate('test', 'test.txt', $this->dateInFuture), + 'Failed asserting that user 1 successfully set a future expiration date for the test.txt share.' + ); + $row = $this->getShareByValidToken($token); + $this->assertNotEmpty( + $row['expiration'], + 'Failed asserting that the returned row has an expiration date.' + ); + + // testGetShareByTokenExpirationExpired + $this->assertTrue( + OCP\Share::setExpirationDate('test', 'test.txt', $this->dateInPast), + 'Failed asserting that user 1 successfully set a past expiration date for the test.txt share.' + ); + $this->assertFalse( + OCP\Share::getShareByToken($token), + 'Failed asserting that an expired share could not be found.' + ); + } } |