Quellcode durchsuchen

Added unit test

Tests added to make sure that removing an expire date when this is
enforced is not allowed.
tags/v8.1.0alpha1
Roeland Jago Douma vor 9 Jahren
Ursprung
Commit
dd3307dd19
2 geänderte Dateien mit 53 neuen und 0 gelöschten Zeilen
  1. 18
    0
      apps/files_sharing/tests/api.php
  2. 35
    0
      tests/lib/share/share.php

+ 18
- 0
apps/files_sharing/tests/api.php Datei anzeigen

@@ -1079,6 +1079,24 @@ class Test_Files_Sharing_Api extends TestCase {
$this->assertTrue(is_array($updatedLinkShare));
$this->assertEquals($dateWithinRange->format('Y-m-d') . ' 00:00:00', $updatedLinkShare['expiration']);


// Try to remove expire date
$params = array();
$params['id'] = $linkShare['id'];
$params['_put'] = ['expireDate' => ''];

$result = \OCA\Files_Sharing\API\Local::updateShare($params);

$this->assertFalse($result->succeeded());

$items = \OCP\Share::getItemShared('file', $linkShare['file_source']);

$updatedLinkShare = reset($items);

// date shouldn't be changed
$this->assertTrue(is_array($updatedLinkShare));
$this->assertEquals($dateWithinRange->format('Y-m-d') . ' 00:00:00', $updatedLinkShare['expiration']);

// cleanup
$config->setAppValue('core', 'shareapi_default_expire_date', 'no');
$config->setAppValue('core', 'shareapi_enforce_expire_date', 'no');

+ 35
- 0
tests/lib/share/share.php Datei anzeigen

@@ -1051,6 +1051,41 @@ class Test_Share extends \Test\TestCase {
),
);
}

/**
* Ensure that we do not allow removing a an expiration date from a link share if this
* is enforced by the settings.
*/
public function testClearExpireDateWhileEnforced() {
OC_User::setUserId($this->user1);

\OC_Appconfig::setValue('core', 'shareapi_default_expire_date', 'yes');
\OC_Appconfig::setValue('core', 'shareapi_expire_after_n_days', '2');
\OC_Appconfig::setValue('core', 'shareapi_enforce_expire_date', 'yes');

$token = OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_LINK, null, \OCP\Constants::PERMISSION_READ);
$this->assertInternalType(
'string',
$token,
'Failed asserting that user 1 successfully shared text.txt as link with token.'
);

$setExpireDateFailed = false;
try {
$this->assertTrue(
OCP\Share::setExpirationDate('test', 'test.txt', '', ''),
'Failed asserting that user 1 successfully set an expiration date for the test.txt share.'
);
} catch (\Exception $e) {
$setExpireDateFailed = true;
}

$this->assertTrue($setExpireDateFailed);

\OC_Appconfig::deleteKey('core', 'shareapi_default_expire_date');
\OC_Appconfig::deleteKey('core', 'shareapi_expire_after_n_days');
\OC_Appconfig::deleteKey('core', 'shareapi_enforce_expire_date');
}
}

class DummyShareClass extends \OC\Share\Share {

Laden…
Abbrechen
Speichern