diff options
author | ArthurHoaro <arthur@hoa.ro> | 2016-07-31 10:46:17 +0200 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2016-12-12 03:54:10 +0100 |
commit | cbfdcff2615e901bdc434d06f38a3da8eecbdf8b (patch) | |
tree | de0d67591015f1bd6d35bd8490adfc8981d3355c /tests | |
parent | 624f999fb75ceeefbc690276f42e5a545ad35357 (diff) | |
download | Shaarli-cbfdcff2615e901bdc434d06f38a3da8eecbdf8b.tar.gz Shaarli-cbfdcff2615e901bdc434d06f38a3da8eecbdf8b.tar.zst Shaarli-cbfdcff2615e901bdc434d06f38a3da8eecbdf8b.zip |
Prepare settings for the API in the admin page and during the install
API settings:
- api.enabled
- api.secret
The API settings will be initialized (and the secret generated) with an update method.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Updater/UpdaterTest.php | 40 | ||||
-rw-r--r-- | tests/UtilsTest.php | 17 |
2 files changed, 55 insertions, 2 deletions
diff --git a/tests/Updater/UpdaterTest.php b/tests/Updater/UpdaterTest.php index 4948fe52..0171daad 100644 --- a/tests/Updater/UpdaterTest.php +++ b/tests/Updater/UpdaterTest.php | |||
@@ -271,7 +271,7 @@ $GLOBALS[\'privateLinkByDefault\'] = true;'; | |||
271 | public function testEscapeConfig() | 271 | public function testEscapeConfig() |
272 | { | 272 | { |
273 | $sandbox = 'sandbox/config'; | 273 | $sandbox = 'sandbox/config'; |
274 | copy(self::$configFile .'.json.php', $sandbox .'.json.php'); | 274 | copy(self::$configFile . '.json.php', $sandbox . '.json.php'); |
275 | $this->conf = new ConfigManager($sandbox); | 275 | $this->conf = new ConfigManager($sandbox); |
276 | $title = '<script>alert("title");</script>'; | 276 | $title = '<script>alert("title");</script>'; |
277 | $headerLink = '<script>alert("header_link");</script>'; | 277 | $headerLink = '<script>alert("header_link");</script>'; |
@@ -286,7 +286,43 @@ $GLOBALS[\'privateLinkByDefault\'] = true;'; | |||
286 | $this->assertEquals(escape($title), $this->conf->get('general.title')); | 286 | $this->assertEquals(escape($title), $this->conf->get('general.title')); |
287 | $this->assertEquals(escape($headerLink), $this->conf->get('general.header_link')); | 287 | $this->assertEquals(escape($headerLink), $this->conf->get('general.header_link')); |
288 | $this->assertEquals(escape($redirectorUrl), $this->conf->get('redirector.url')); | 288 | $this->assertEquals(escape($redirectorUrl), $this->conf->get('redirector.url')); |
289 | unlink($sandbox .'.json.php'); | 289 | unlink($sandbox . '.json.php'); |
290 | } | ||
291 | |||
292 | /** | ||
293 | * Test updateMethodApiSettings(): create default settings for the API (enabled + secret). | ||
294 | */ | ||
295 | public function testUpdateApiSettings() | ||
296 | { | ||
297 | $confFile = 'sandbox/config'; | ||
298 | copy(self::$configFile .'.json.php', $confFile .'.json.php'); | ||
299 | $conf = new ConfigManager($confFile); | ||
300 | $updater = new Updater(array(), array(), $conf, true); | ||
301 | |||
302 | $this->assertFalse($conf->exists('api.enabled')); | ||
303 | $this->assertFalse($conf->exists('api.secret')); | ||
304 | $updater->updateMethodApiSettings(); | ||
305 | $conf->reload(); | ||
306 | $this->assertTrue($conf->get('api.enabled')); | ||
307 | $this->assertTrue($conf->exists('api.secret')); | ||
308 | unlink($confFile .'.json.php'); | ||
309 | } | ||
310 | |||
311 | /** | ||
312 | * Test updateMethodApiSettings(): already set, do nothing. | ||
313 | */ | ||
314 | public function testUpdateApiSettingsNothingToDo() | ||
315 | { | ||
316 | $confFile = 'sandbox/config'; | ||
317 | copy(self::$configFile .'.json.php', $confFile .'.json.php'); | ||
318 | $conf = new ConfigManager($confFile); | ||
319 | $conf->set('api.enabled', false); | ||
320 | $conf->set('api.secret', ''); | ||
321 | $updater = new Updater(array(), array(), $conf, true); | ||
322 | $updater->updateMethodApiSettings(); | ||
323 | $this->assertFalse($conf->get('api.enabled')); | ||
324 | $this->assertEmpty($conf->get('api.secret')); | ||
325 | unlink($confFile .'.json.php'); | ||
290 | } | 326 | } |
291 | 327 | ||
292 | /** | 328 | /** |
diff --git a/tests/UtilsTest.php b/tests/UtilsTest.php index 6a7870c4..0cf9a921 100644 --- a/tests/UtilsTest.php +++ b/tests/UtilsTest.php | |||
@@ -253,4 +253,21 @@ class UtilsTest extends PHPUnit_Framework_TestCase | |||
253 | is_session_id_valid('c0ZqcWF3VFE2NmJBdm1HMVQ0ZHJ3UmZPbTFsNGhkNHI=') | 253 | is_session_id_valid('c0ZqcWF3VFE2NmJBdm1HMVQ0ZHJ3UmZPbTFsNGhkNHI=') |
254 | ); | 254 | ); |
255 | } | 255 | } |
256 | |||
257 | /** | ||
258 | * Test generateSecretApi. | ||
259 | */ | ||
260 | public function testGenerateSecretApi() | ||
261 | { | ||
262 | $this->assertEquals(12, strlen(generate_api_secret('foo', 'bar'))); | ||
263 | } | ||
264 | |||
265 | /** | ||
266 | * Test generateSecretApi with invalid parameters. | ||
267 | */ | ||
268 | public function testGenerateSecretApiInvalid() | ||
269 | { | ||
270 | $this->assertFalse(generate_api_secret('', '')); | ||
271 | $this->assertFalse(generate_api_secret(false, false)); | ||
272 | } | ||
256 | } | 273 | } |