diff options
Diffstat (limited to 'tests/config')
-rw-r--r-- | tests/config/ConfigJsonTest.php | 25 | ||||
-rw-r--r-- | tests/config/ConfigManagerTest.php | 26 | ||||
-rw-r--r-- | tests/config/ConfigPhpTest.php | 4 | ||||
-rw-r--r-- | tests/config/ConfigPluginTest.php | 22 |
4 files changed, 37 insertions, 40 deletions
diff --git a/tests/config/ConfigJsonTest.php b/tests/config/ConfigJsonTest.php index 33160eb0..c0ba5b8f 100644 --- a/tests/config/ConfigJsonTest.php +++ b/tests/config/ConfigJsonTest.php | |||
@@ -4,14 +4,14 @@ namespace Shaarli\Config; | |||
4 | /** | 4 | /** |
5 | * Class ConfigJsonTest | 5 | * Class ConfigJsonTest |
6 | */ | 6 | */ |
7 | class ConfigJsonTest extends \PHPUnit\Framework\TestCase | 7 | class ConfigJsonTest extends \Shaarli\TestCase |
8 | { | 8 | { |
9 | /** | 9 | /** |
10 | * @var ConfigJson | 10 | * @var ConfigJson |
11 | */ | 11 | */ |
12 | protected $configIO; | 12 | protected $configIO; |
13 | 13 | ||
14 | public function setUp() | 14 | protected function setUp(): void |
15 | { | 15 | { |
16 | $this->configIO = new ConfigJson(); | 16 | $this->configIO = new ConfigJson(); |
17 | } | 17 | } |
@@ -38,12 +38,12 @@ class ConfigJsonTest extends \PHPUnit\Framework\TestCase | |||
38 | 38 | ||
39 | /** | 39 | /** |
40 | * Read a non existent config file -> empty array. | 40 | * Read a non existent config file -> empty array. |
41 | * | ||
42 | * @expectedException \Exception | ||
43 | * @expectedExceptionMessageRegExp /An error occurred while parsing JSON configuration file \([\w\/\.]+\): error code #4/ | ||
44 | */ | 41 | */ |
45 | public function testReadInvalidJson() | 42 | public function testReadInvalidJson() |
46 | { | 43 | { |
44 | $this->expectException(\Exception::class); | ||
45 | $this->expectExceptionMessageRegExp('/An error occurred while parsing JSON configuration file \\([\\w\\/\\.]+\\): error code #4/'); | ||
46 | |||
47 | $this->configIO->read('tests/utils/config/configInvalid.json.php'); | 47 | $this->configIO->read('tests/utils/config/configInvalid.json.php'); |
48 | } | 48 | } |
49 | 49 | ||
@@ -110,22 +110,11 @@ class ConfigJsonTest extends \PHPUnit\Framework\TestCase | |||
110 | 110 | ||
111 | /** | 111 | /** |
112 | * Write to invalid path. | 112 | * Write to invalid path. |
113 | * | ||
114 | * @expectedException \Shaarli\Exceptions\IOException | ||
115 | */ | ||
116 | public function testWriteInvalidArray() | ||
117 | { | ||
118 | $conf = array('conf' => 'value'); | ||
119 | @$this->configIO->write(array(), $conf); | ||
120 | } | ||
121 | |||
122 | /** | ||
123 | * Write to invalid path. | ||
124 | * | ||
125 | * @expectedException \Shaarli\Exceptions\IOException | ||
126 | */ | 113 | */ |
127 | public function testWriteInvalidBlank() | 114 | public function testWriteInvalidBlank() |
128 | { | 115 | { |
116 | $this->expectException(\Shaarli\Exceptions\IOException::class); | ||
117 | |||
129 | $conf = array('conf' => 'value'); | 118 | $conf = array('conf' => 'value'); |
130 | @$this->configIO->write('', $conf); | 119 | @$this->configIO->write('', $conf); |
131 | } | 120 | } |
diff --git a/tests/config/ConfigManagerTest.php b/tests/config/ConfigManagerTest.php index 33830bc9..65d8ba2c 100644 --- a/tests/config/ConfigManagerTest.php +++ b/tests/config/ConfigManagerTest.php | |||
@@ -7,14 +7,14 @@ namespace Shaarli\Config; | |||
7 | * Note: it only test the manager with ConfigJson, | 7 | * Note: it only test the manager with ConfigJson, |
8 | * ConfigPhp is only a workaround to handle the transition to JSON type. | 8 | * ConfigPhp is only a workaround to handle the transition to JSON type. |
9 | */ | 9 | */ |
10 | class ConfigManagerTest extends \PHPUnit\Framework\TestCase | 10 | class ConfigManagerTest extends \Shaarli\TestCase |
11 | { | 11 | { |
12 | /** | 12 | /** |
13 | * @var ConfigManager | 13 | * @var ConfigManager |
14 | */ | 14 | */ |
15 | protected $conf; | 15 | protected $conf; |
16 | 16 | ||
17 | public function setUp() | 17 | protected function setUp(): void |
18 | { | 18 | { |
19 | $this->conf = new ConfigManager('tests/utils/config/configJson'); | 19 | $this->conf = new ConfigManager('tests/utils/config/configJson'); |
20 | } | 20 | } |
@@ -95,44 +95,44 @@ class ConfigManagerTest extends \PHPUnit\Framework\TestCase | |||
95 | 95 | ||
96 | /** | 96 | /** |
97 | * Set with an empty key. | 97 | * Set with an empty key. |
98 | * | ||
99 | * @expectedException \Exception | ||
100 | * @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*# | ||
101 | */ | 98 | */ |
102 | public function testSetEmptyKey() | 99 | public function testSetEmptyKey() |
103 | { | 100 | { |
101 | $this->expectException(\Exception::class); | ||
102 | $this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#'); | ||
103 | |||
104 | $this->conf->set('', 'stuff'); | 104 | $this->conf->set('', 'stuff'); |
105 | } | 105 | } |
106 | 106 | ||
107 | /** | 107 | /** |
108 | * Set with an array key. | 108 | * Set with an array key. |
109 | * | ||
110 | * @expectedException \Exception | ||
111 | * @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*# | ||
112 | */ | 109 | */ |
113 | public function testSetArrayKey() | 110 | public function testSetArrayKey() |
114 | { | 111 | { |
112 | $this->expectException(\Exception::class); | ||
113 | $this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#'); | ||
114 | |||
115 | $this->conf->set(array('foo' => 'bar'), 'stuff'); | 115 | $this->conf->set(array('foo' => 'bar'), 'stuff'); |
116 | } | 116 | } |
117 | 117 | ||
118 | /** | 118 | /** |
119 | * Remove with an empty key. | 119 | * Remove with an empty key. |
120 | * | ||
121 | * @expectedException \Exception | ||
122 | * @expectedExceptionMessageRegExp #^Invalid setting key parameter. String expected, got.*# | ||
123 | */ | 120 | */ |
124 | public function testRmoveEmptyKey() | 121 | public function testRmoveEmptyKey() |
125 | { | 122 | { |
123 | $this->expectException(\Exception::class); | ||
124 | $this->expectExceptionMessageRegExp('#^Invalid setting key parameter. String expected, got.*#'); | ||
125 | |||
126 | $this->conf->remove(''); | 126 | $this->conf->remove(''); |
127 | } | 127 | } |
128 | 128 | ||
129 | /** | 129 | /** |
130 | * Try to write the config without mandatory parameter (e.g. 'login'). | 130 | * Try to write the config without mandatory parameter (e.g. 'login'). |
131 | * | ||
132 | * @expectedException Shaarli\Config\Exception\MissingFieldConfigException | ||
133 | */ | 131 | */ |
134 | public function testWriteMissingParameter() | 132 | public function testWriteMissingParameter() |
135 | { | 133 | { |
134 | $this->expectException(\Shaarli\Config\Exception\MissingFieldConfigException::class); | ||
135 | |||
136 | $this->conf->setConfigFile('tests/utils/config/configTmp'); | 136 | $this->conf->setConfigFile('tests/utils/config/configTmp'); |
137 | $this->assertFalse(file_exists($this->conf->getConfigFileExt())); | 137 | $this->assertFalse(file_exists($this->conf->getConfigFileExt())); |
138 | $this->conf->reload(); | 138 | $this->conf->reload(); |
diff --git a/tests/config/ConfigPhpTest.php b/tests/config/ConfigPhpTest.php index fb91b51b..7bf9fe64 100644 --- a/tests/config/ConfigPhpTest.php +++ b/tests/config/ConfigPhpTest.php | |||
@@ -8,14 +8,14 @@ namespace Shaarli\Config; | |||
8 | * which are kept between tests. | 8 | * which are kept between tests. |
9 | * @runTestsInSeparateProcesses | 9 | * @runTestsInSeparateProcesses |
10 | */ | 10 | */ |
11 | class ConfigPhpTest extends \PHPUnit\Framework\TestCase | 11 | class ConfigPhpTest extends \Shaarli\TestCase |
12 | { | 12 | { |
13 | /** | 13 | /** |
14 | * @var ConfigPhp | 14 | * @var ConfigPhp |
15 | */ | 15 | */ |
16 | protected $configIO; | 16 | protected $configIO; |
17 | 17 | ||
18 | public function setUp() | 18 | protected function setUp(): void |
19 | { | 19 | { |
20 | $this->configIO = new ConfigPhp(); | 20 | $this->configIO = new ConfigPhp(); |
21 | } | 21 | } |
diff --git a/tests/config/ConfigPluginTest.php b/tests/config/ConfigPluginTest.php index d7a70e68..fa72d8c4 100644 --- a/tests/config/ConfigPluginTest.php +++ b/tests/config/ConfigPluginTest.php | |||
@@ -2,13 +2,14 @@ | |||
2 | namespace Shaarli\Config; | 2 | namespace Shaarli\Config; |
3 | 3 | ||
4 | use Shaarli\Config\Exception\PluginConfigOrderException; | 4 | use Shaarli\Config\Exception\PluginConfigOrderException; |
5 | use Shaarli\Plugin\PluginManager; | ||
5 | 6 | ||
6 | require_once 'application/config/ConfigPlugin.php'; | 7 | require_once 'application/config/ConfigPlugin.php'; |
7 | 8 | ||
8 | /** | 9 | /** |
9 | * Unitary tests for Shaarli config related functions | 10 | * Unitary tests for Shaarli config related functions |
10 | */ | 11 | */ |
11 | class ConfigPluginTest extends \PHPUnit\Framework\TestCase | 12 | class ConfigPluginTest extends \Shaarli\TestCase |
12 | { | 13 | { |
13 | /** | 14 | /** |
14 | * Test save_plugin_config with valid data. | 15 | * Test save_plugin_config with valid data. |
@@ -17,32 +18,39 @@ class ConfigPluginTest extends \PHPUnit\Framework\TestCase | |||
17 | */ | 18 | */ |
18 | public function testSavePluginConfigValid() | 19 | public function testSavePluginConfigValid() |
19 | { | 20 | { |
20 | $data = array( | 21 | $data = [ |
21 | 'order_plugin1' => 2, // no plugin related | 22 | 'order_plugin1' => 2, // no plugin related |
22 | 'plugin2' => 0, // new - at the end | 23 | 'plugin2' => 0, // new - at the end |
23 | 'plugin3' => 0, // 2nd | 24 | 'plugin3' => 0, // 2nd |
24 | 'order_plugin3' => 8, | 25 | 'order_plugin3' => 8, |
25 | 'plugin4' => 0, // 1st | 26 | 'plugin4' => 0, // 1st |
26 | 'order_plugin4' => 5, | 27 | 'order_plugin4' => 5, |
27 | ); | 28 | ]; |
28 | 29 | ||
29 | $expected = array( | 30 | $expected = [ |
30 | 'plugin3', | 31 | 'plugin3', |
31 | 'plugin4', | 32 | 'plugin4', |
32 | 'plugin2', | 33 | 'plugin2', |
33 | ); | 34 | ]; |
35 | |||
36 | mkdir($path = __DIR__ . '/folder'); | ||
37 | PluginManager::$PLUGINS_PATH = $path; | ||
38 | array_map(function (string $plugin) use ($path) { touch($path . '/' . $plugin); }, $expected); | ||
34 | 39 | ||
35 | $out = save_plugin_config($data); | 40 | $out = save_plugin_config($data); |
36 | $this->assertEquals($expected, $out); | 41 | $this->assertEquals($expected, $out); |
42 | |||
43 | array_map(function (string $plugin) use ($path) { unlink($path . '/' . $plugin); }, $expected); | ||
44 | rmdir($path); | ||
37 | } | 45 | } |
38 | 46 | ||
39 | /** | 47 | /** |
40 | * Test save_plugin_config with invalid data. | 48 | * Test save_plugin_config with invalid data. |
41 | * | ||
42 | * @expectedException Shaarli\Config\Exception\PluginConfigOrderException | ||
43 | */ | 49 | */ |
44 | public function testSavePluginConfigInvalid() | 50 | public function testSavePluginConfigInvalid() |
45 | { | 51 | { |
52 | $this->expectException(\Shaarli\Config\Exception\PluginConfigOrderException::class); | ||
53 | |||
46 | $data = array( | 54 | $data = array( |
47 | 'plugin2' => 0, | 55 | 'plugin2' => 0, |
48 | 'plugin3' => 0, | 56 | 'plugin3' => 0, |