NxTIC/phpunit/tests/config.php

133 lines
3.8 KiB
PHP
Raw Normal View History

2016-04-17 15:46:34 +00:00
<?php namespace phpunit;
/* VERIFICATION DES FICHIERS DE CONFIGURATION
*
*/
class config extends \PHPUnit_Framework_TestCase{
private static $config = array(
'database-local' => '../config/database-local.json',
'database' => '../config/database.json',
'dispatcher-extensions' => '../config/dispatcher-extensions.json',
'dispatcher-tree' => '../config/dispatcher-tree.json',
'menu' => '../config/menu.json',
'modules' => '../config/modules.json',
'repositories' => '../config/repositories.json',
'views' => '../config/views.json'
);
/* [1] config/database-local.json
=========================================================*/
public function testDatabaseLocal(){
/* (1) Lecture du fichier */
$file_content = file_get_contents( self::$config['database-local'] );
$this->assertNotFalse( $file_content );
/* (2) Parsage en JSON */
$json_content = json_decode( $file_content, true );
$this->assertNotNull( $json_content );
/* (3) Contenu */
$this->assertArrayHasKey('host', $json_content);
$this->assertArrayHasKey('dbname', $json_content);
$this->assertArrayHasKey('user', $json_content);
$this->assertArrayHasKey('password', $json_content);
}
/* [2] config/database.json
=========================================================*/
public function testDatabaseRemote(){
/* (1) Lecture du fichier */
$file_content = file_get_contents( self::$config['database'] );
$this->assertNotFalse( $file_content );
/* (2) Parsage en JSON */
$json_content = json_decode( $file_content, true );
$this->assertNotNull( $json_content );
/* (3) Contenu */
$this->assertArrayHasKey('host', $json_content);
$this->assertArrayHasKey('dbname', $json_content);
$this->assertArrayHasKey('user', $json_content);
$this->assertArrayHasKey('password', $json_content);
}
/* [3] config/dispatcher-extensions.json
=========================================================*/
public function testDispatcherExtensions(){
/* (1) Lecture du fichier */
$file_content = file_get_contents( self::$config['dispatcher-extensions'] );
$this->assertNotFalse( $file_content );
/* (2) Parsage en JSON */
$json_content = json_decode( $file_content, true );
$this->assertNotNull( $json_content );
/* (3) Contenu */
foreach($json_content as $ext=>$mime){
// On verifie les extensions
$this->assertTrue( preg_match('/^\w+$/i', $ext) == true );
// On verifie les mime/type
$this->assertTrue( preg_match('/^\w+\/[\+\w]+$/i', $mime) == true );
}
}
/* [3] config/dispatcher-tree.json
=========================================================*/
public function testDispatcherTree(){
/* (1) Lecture du fichier */
$file_content = file_get_contents( self::$config['dispatcher-tree'] );
$this->assertNotFalse( $file_content );
/* (2) Parsage en JSON */
$json_content = json_decode( $file_content, true );
$this->assertNotNull( $json_content );
/* (3) Contenu */
foreach($json_content as $name=>$path){
// On verifie les extensions
$this->assertTrue( preg_match('/^\w+$/i', $name) == true );
// On verifie les mime/type
$this->assertTrue( preg_match('/^[\w\/]+$/i', $path) == true );
}
}
/* [3] config/menu.json
=========================================================*/
public function testMenu(){
/* (1) Lecture du fichier */
$file_content = file_get_contents( self::$config['menu'] );
$this->assertNotFalse( $file_content );
/* (2) Parsage en JSON */
$json_content = json_decode( $file_content, true );
$this->assertNotNull( $json_content );
/* (3) Contenu */
foreach($json_content as $category){
continue;
}
}
}
?>