Assure that deleted cat/keys are working as expected

- A deleted cache-key would delete a merged cache-key as well
- Deleting a key in the Model results in reloading the config to assure any value from underlying files
This commit is contained in:
Philipp 2023-01-11 21:53:34 +01:00
parent fd882abd80
commit 11a8bd17e3
No known key found for this signature in database
GPG key ID: 24A7501396EB5432
5 changed files with 65 additions and 42 deletions

View file

@ -363,8 +363,6 @@ class ConfigTest extends MockedTest
self::assertTrue($this->testedConfig->delete('test', 'it'));
self::assertNull($this->testedConfig->get('test', 'it'));
self::assertNull($this->testedConfig->getCache()->get('test', 'it'));
self::assertEquals(['test' => null], $this->testedConfig->getCache()->getAll());
}
/**
@ -532,4 +530,22 @@ class ConfigTest extends MockedTest
self::assertEquals($assertion, $config->get($category));
}
/**
* Tests, if an overwritten value of an existing key will reset to it's default after deletion
*/
public function testDeleteReturnsDefault()
{
vfsStream::newFile(ConfigFileManager::CONFIG_DATA_FILE)
->at($this->root->getChild('config'))
->setContent(ConfigFileTransformer::encode([
'config' => ['sitename' => 'overritten'],
]));
$config = $this->getInstance();
self::assertEquals('overritten', $config->get('config', 'sitename'));
$config->delete('config', 'sitename');
self::assertEquals('Friendica Social Network', $config->get('config', 'sitename'));
}
}