diff options
Diffstat (limited to 'tests/lib/AppConfigTest.php')
-rw-r--r-- | tests/lib/AppConfigTest.php | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/tests/lib/AppConfigTest.php b/tests/lib/AppConfigTest.php index faeaa4c4560..408e4321d4f 100644 --- a/tests/lib/AppConfigTest.php +++ b/tests/lib/AppConfigTest.php @@ -14,6 +14,7 @@ use OCP\Exceptions\AppConfigUnknownKeyException; use OCP\IAppConfig; use OCP\IDBConnection; use OCP\Security\ICrypto; +use OCP\Server; use Psr\Log\LoggerInterface; /** @@ -35,10 +36,10 @@ class AppConfigTest extends TestCase { * @var array<string, array<string, array<string, string, int, bool, bool>>> * [appId => [configKey, configValue, valueType, lazy, sensitive]] */ - private static array $baseStruct = - [ + private static array $baseStruct + = [ 'testapp' => [ - 'enabled' => ['enabled', 'true'], + 'enabled' => ['enabled', 'yes'], 'installed_version' => ['installed_version', '1.2.3'], 'depends_on' => ['depends_on', 'someapp'], 'deletethis' => ['deletethis', 'deletethis'], @@ -49,11 +50,12 @@ class AppConfigTest extends TestCase { 'otherkey' => ['otherkey', 'othervalue'] ], '123456' => [ - 'enabled' => ['enabled', 'true'], + 'enabled' => ['enabled', 'yes'], 'key' => ['key', 'value'] ], 'anotherapp' => [ - 'enabled' => ['enabled', 'false'], + 'enabled' => ['enabled', 'no'], + 'installed_version' => ['installed_version', '3.2.1'], 'key' => ['key', 'value'] ], 'non-sensitive-app' => [ @@ -86,9 +88,9 @@ class AppConfigTest extends TestCase { protected function setUp(): void { parent::setUp(); - $this->connection = \OCP\Server::get(IDBConnection::class); - $this->logger = \OCP\Server::get(LoggerInterface::class); - $this->crypto = \OCP\Server::get(ICrypto::class); + $this->connection = Server::get(IDBConnection::class); + $this->logger = Server::get(LoggerInterface::class); + $this->crypto = Server::get(ICrypto::class); // storing current config and emptying the data table $sql = $this->connection->getQueryBuilder(); @@ -175,7 +177,7 @@ class AppConfigTest extends TestCase { */ private function generateAppConfig(bool $preLoading = true): IAppConfig { /** @var AppConfig $config */ - $config = new \OC\AppConfig( + $config = new AppConfig( $this->connection, $this->logger, $this->crypto, @@ -211,6 +213,19 @@ class AppConfigTest extends TestCase { $this->assertEqualsCanonicalizing(array_keys(self::$baseStruct), $config->getApps()); } + public function testGetAppInstalledVersions(): void { + $config = $this->generateAppConfig(false); + + $this->assertEquals( + ['testapp' => '1.2.3', 'anotherapp' => '3.2.1'], + $config->getAppInstalledVersions(false) + ); + $this->assertEquals( + ['testapp' => '1.2.3'], + $config->getAppInstalledVersions(true) + ); + } + /** * returns list of app and their keys * @@ -253,11 +268,11 @@ class AppConfigTest extends TestCase { } /** - * @dataProvider providerGetAppKeys * * @param string $appId * @param array $expectedKeys */ + #[\PHPUnit\Framework\Attributes\DataProvider('providerGetAppKeys')] public function testGetKeys(string $appId, array $expectedKeys): void { $config = $this->generateAppConfig(); $this->assertEqualsCanonicalizing($expectedKeys, $config->getKeys($appId)); @@ -269,13 +284,13 @@ class AppConfigTest extends TestCase { } /** - * @dataProvider providerGetKeys * * @param string $appId * @param string $configKey * @param string $value * @param bool $lazy */ + #[\PHPUnit\Framework\Attributes\DataProvider('providerGetKeys')] public function testHasKey(string $appId, string $configKey, string $value, int $type, bool $lazy): void { $config = $this->generateAppConfig(); $this->assertEquals(true, $config->hasKey($appId, $configKey, $lazy)); @@ -306,9 +321,7 @@ class AppConfigTest extends TestCase { $this->assertSame(true, $config->hasKey('non-sensitive-app', 'lazy-key', null)); } - /** - * @dataProvider providerGetKeys - */ + #[\PHPUnit\Framework\Attributes\DataProvider('providerGetKeys')] public function testIsSensitive( string $appId, string $configKey, string $configValue, int $type, bool $lazy, bool $sensitive, ): void { @@ -350,9 +363,7 @@ class AppConfigTest extends TestCase { $config->isSensitive('non-sensitive-app', 'lazy-key', false); } - /** - * @dataProvider providerGetKeys - */ + #[\PHPUnit\Framework\Attributes\DataProvider('providerGetKeys')] public function testIsLazy(string $appId, string $configKey, string $configValue, int $type, bool $lazy, ): void { $config = $this->generateAppConfig(); @@ -393,11 +404,11 @@ class AppConfigTest extends TestCase { } /** - * @dataProvider providerGetAppKeys * * @param string $appId * @param array $keys */ + #[\PHPUnit\Framework\Attributes\DataProvider('providerGetAppKeys')] public function testGetAllValuesWithEmptyKey(string $appId, array $keys): void { $config = $this->generateAppConfig(); $this->assertEqualsCanonicalizing($keys, array_keys($config->getAllValues($appId, ''))); @@ -410,7 +421,7 @@ class AppConfigTest extends TestCase { public function testSearchValues(): void { $config = $this->generateAppConfig(); - $this->assertEqualsCanonicalizing(['testapp' => 'true', '123456' => 'true', 'anotherapp' => 'false'], $config->searchValues('enabled')); + $this->assertEqualsCanonicalizing(['testapp' => 'yes', '123456' => 'yes', 'anotherapp' => 'no'], $config->searchValues('enabled')); } public function testGetValueString(): void { @@ -543,23 +554,23 @@ class AppConfigTest extends TestCase { } /** - * @dataProvider providerGetValueMixed * * @param string $key * @param string $value */ + #[\PHPUnit\Framework\Attributes\DataProvider('providerGetValueMixed')] public function testGetValueMixed(string $key, string $value): void { $config = $this->generateAppConfig(); $this->assertSame($value, $config->getValueMixed('typed', $key)); } /** - * @dataProvider providerGetValueMixed * * @param string $key * @param string $value * @param int $type */ + #[\PHPUnit\Framework\Attributes\DataProvider('providerGetValueMixed')] public function testGetValueType(string $key, string $value, int $type): void { $config = $this->generateAppConfig(); $this->assertSame($type, $config->getValueType('typed', $key)); @@ -1322,7 +1333,7 @@ class AppConfigTest extends TestCase { $config = $this->generateAppConfig(); $config->deleteKey('anotherapp', 'key'); $status = $config->statusCache(); - $this->assertEqualsCanonicalizing(['enabled' => 'false'], $status['fastCache']['anotherapp']); + $this->assertEqualsCanonicalizing(['enabled' => 'no', 'installed_version' => '3.2.1'], $status['fastCache']['anotherapp']); } public function testDeleteKeyDatabase(): void { |