Skip to content

Commit

Permalink
implement tests for unlimited quota restrictions
Browse files Browse the repository at this point in the history
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
  • Loading branch information
Julien Veyssier authored and npmbuildbot-nextcloud[bot] committed Jul 20, 2021
1 parent d2cf158 commit 8943546
Show file tree
Hide file tree
Showing 15 changed files with 203 additions and 277 deletions.
35 changes: 18 additions & 17 deletions apps/settings/js/vue-settings-admin-security.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/settings/js/vue-settings-admin-security.js.map

Large diffs are not rendered by default.

157 changes: 8 additions & 149 deletions apps/settings/js/vue-settings-apps-users-management.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/settings/js/vue-settings-apps-users-management.js.map

Large diffs are not rendered by default.

26 changes: 2 additions & 24 deletions apps/settings/js/vue-settings-nextcloud-pdf.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/settings/js/vue-settings-nextcloud-pdf.js.map

Large diffs are not rendered by default.

26 changes: 12 additions & 14 deletions apps/settings/js/vue-settings-personal-info.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/settings/js/vue-settings-personal-info.js.map

Large diffs are not rendered by default.

108 changes: 54 additions & 54 deletions apps/settings/js/vue-settings-personal-security.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/settings/js/vue-settings-personal-security.js.map

Large diffs are not rendered by default.

25 changes: 12 additions & 13 deletions apps/settings/js/vue-settings-personal-webauthn.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/settings/js/vue-settings-personal-webauthn.js.map

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions apps/settings/js/vue-settings-users-a086f4bfa15a702efa12.js

Large diffs are not rendered by default.

Large diffs are not rendered by default.

65 changes: 65 additions & 0 deletions tests/lib/User/UserTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -724,6 +724,71 @@ public function testSetQuota() {
$user->setQuota('23 TB');
}

public function testGetDefaultUnlimitedQuota() {
/**
* @var UserInterface | \PHPUnit\Framework\MockObject\MockObject $backend
*/
$backend = $this->createMock(\Test\Util\User\Dummy::class);

/** @var PublicEmitter|\PHPUnit\Framework\MockObject\MockObject $emitter */
$emitter = $this->createMock(PublicEmitter::class);
$emitter->expects($this->never())
->method('emit');

$config = $this->createMock(IConfig::class);
$user = new User('foo', $backend, $this->dispatcher, $emitter, $config);

$userValueMap = [
['foo', 'files', 'quota', 'default', 'default'],
];
$appValueMap = [
['files', 'default_quota', 'none', 'none'],
// allow unlimited quota
['files', 'allow_unlimited_quota', '1', '1'],
];
$config->method('getUserValue')
->will($this->returnValueMap($userValueMap));
$config->method('getAppValue')
->will($this->returnValueMap($appValueMap));

$quota = $user->getQuota();
$this->assertEquals('none', $quota);
}

public function testGetDefaultUnlimitedQuotaForbidden() {
/**
* @var UserInterface | \PHPUnit\Framework\MockObject\MockObject $backend
*/
$backend = $this->createMock(\Test\Util\User\Dummy::class);

/** @var PublicEmitter|\PHPUnit\Framework\MockObject\MockObject $emitter */
$emitter = $this->createMock(PublicEmitter::class);
$emitter->expects($this->never())
->method('emit');

$config = $this->createMock(IConfig::class);
$user = new User('foo', $backend, $this->dispatcher, $emitter, $config);

$userValueMap = [
['foo', 'files', 'quota', 'default', 'default'],
];
$appValueMap = [
['files', 'default_quota', 'none', 'none'],
// do not allow unlimited quota
['files', 'allow_unlimited_quota', '1', '0'],
['files', 'quota_preset', '1 GB, 5 GB, 10 GB', '1 GB, 5 GB, 10 GB'],
// expect seeing 1 GB used as fallback value
['files', 'default_quota', '1 GB', '1 GB'],
];
$config->method('getUserValue')
->will($this->returnValueMap($userValueMap));
$config->method('getAppValue')
->will($this->returnValueMap($appValueMap));

$quota = $user->getQuota();
$this->assertEquals('1 GB', $quota);
}

public function testSetQuotaAddressNoChange() {
/**
* @var UserInterface | \PHPUnit\Framework\MockObject\MockObject $backend
Expand Down

0 comments on commit 8943546

Please sign in to comment.