* @author Lukas Reschke * @author Morris Jobke * @author Robin McCorkell * @author Vincent Petry * * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License, version 3, * along with this program. If not, see * */ namespace OCA\Files_External\Tests; use OCA\Files_External\Lib\Auth\AuthMechanism; use OCA\Files_External\Lib\Backend\Backend; use OCA\Files_External\Lib\DefinitionParameter; use OCA\Files_External\Lib\StorageConfig; class StorageConfigTest extends \Test\TestCase { public function testJsonSerialization() { $backend = $this->getMockBuilder(Backend::class) ->disableOriginalConstructor() ->getMock(); $parameter = $this->getMockBuilder(DefinitionParameter::class) ->disableOriginalConstructor() ->getMock(); $parameter ->expects($this->once()) ->method('getType') ->willReturn(1); $backend ->expects($this->once()) ->method('getParameters') ->willReturn(['secure' => $parameter]); $backend->method('getIdentifier') ->willReturn('storage::identifier'); $authMech = $this->getMockBuilder(AuthMechanism::class) ->disableOriginalConstructor() ->getMock(); $authMech->method('getIdentifier') ->willReturn('auth::identifier'); $storageConfig = new StorageConfig(1); $storageConfig->setMountPoint('test'); $storageConfig->setBackend($backend); $storageConfig->setAuthMechanism($authMech); $storageConfig->setBackendOptions(['user' => 'test', 'password' => 'password123', 'secure' => '1']); $storageConfig->setPriority(128); $storageConfig->setApplicableUsers(['user1', 'user2']); $storageConfig->setApplicableGroups(['group1', 'group2']); $storageConfig->setMountOptions(['preview' => false]); $json = $storageConfig->jsonSerialize(); $this->assertSame(1, $json['id']); $this->assertSame('/test', $json['mountPoint']); $this->assertSame('storage::identifier', $json['backend']); $this->assertSame('auth::identifier', $json['authMechanism']); $this->assertSame('test', $json['backendOptions']['user']); $this->assertSame('password123', $json['backendOptions']['password']); $this->assertSame(true, $json['backendOptions']['secure']); $this->assertSame(128, $json['priority']); $this->assertSame(['user1', 'user2'], $json['applicableUsers']); $this->assertSame(['group1', 'group2'], $json['applicableGroups']); $this->assertSame(['preview' => false], $json['mountOptions']); } } enaming-a-share-by-a-user-with-stale-shares'>add-integration-tests-for-renaming-a-share-by-a-user-with-stale-shares Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
blob: a463b4e7ef2faebf569cf722b0e1a6bbf454eeb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

declare(strict_types=1);
/**
 * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

namespace OCA\Files_Sharing\Config;

use NCU\Config\Lexicon\ConfigLexiconEntry;
use NCU\Config\Lexicon\ConfigLexiconStrictness;
use NCU\Config\Lexicon\IConfigLexicon;
use NCU\Config\ValueType;

/**
 * Config Lexicon for files_sharing.
 *
 * Please Add & Manage your Config Keys in that file and keep the Lexicon up to date!
 *
 * {@see IConfigLexicon}
 */
class ConfigLexicon implements IConfigLexicon {
	public const SHOW_FEDERATED_AS_INTERNAL = 'show_federated_shares_as_internal';

	public function getStrictness(): ConfigLexiconStrictness {
		return ConfigLexiconStrictness::IGNORE;
	}

	public function getAppConfigs(): array {
		return [
			new ConfigLexiconEntry(self::SHOW_FEDERATED_AS_INTERNAL, ValueType::BOOL, false, 'shows federated shares as internal shares', true),
		];
	}

	public function getUserConfigs(): array {
		return [];
	}
}