| 324 | delphine | 1 | <?php
 | 
        
           |  |  | 2 | require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';
 | 
        
           |  |  | 3 |   | 
        
           |  |  | 4 | class EfloreOntologiesTest extends ServiceEflorePhpUnit {
 | 
        
           |  |  | 5 |   | 
        
           |  |  | 6 | 	public function __construct() {
 | 
        
           |  |  | 7 | 		$this->projet = 'eflore';
 | 
        
           |  |  | 8 | 		$this->service = 'ontologies';
 | 
        
           |  |  | 9 | 	}
 | 
        
           |  |  | 10 |   | 
        
           |  |  | 11 | 	public function testRecherche() {
 | 
        
           |  |  | 12 | 		$ressources = array();
 | 
        
           |  |  | 13 | 		$parametres = array();
 | 
        
           | 790 | raphael | 14 | 		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
 | 
        
           |  |  | 15 | 		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
 | 
        
           | 324 | delphine | 16 | 		$this->assertNotEmpty($retour, 'données absentes');
 | 
        
           |  |  | 17 | 		$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
 | 
        
           | 789 | raphael | 18 | 		// 23 au 20/08/2013
 | 
        
           |  |  | 19 | 		$this->assertGreaterThanOrEqual('23', $retour['entete']['total'], "L'attribut 'total' devrait avoir une valeur >= '23'. Voir : $url");
 | 
        
           |  |  | 20 | 		$this->assertArrayHasKey('10', $retour['resultat'], "Le json ne contient pas d'ontologie n°10. Voir : $url");
 | 
        
           |  |  | 21 | 		$this->assertArrayHasKey('nom', $retour['resultat'][10], "Le json ne contient pas d'attribut : nom. Voir : $url");
 | 
        
           |  |  | 22 | 		$this->assertEquals('legendeCarte', $retour['resultat'][10]['code'], "L'attribut 'code' devrait avoir la valeur 'legendeCarte'. Voir : $url");
 | 
        
           |  |  | 23 | 		$this->assertEquals('Légende carte eFlore observations', $retour['resultat'][10]['nom'], "L'attribut 'nom' devrait avoir la valeur 'Légende carte eFlore observations'. Voir : $url");
 | 
        
           | 324 | delphine | 24 | 	}
 | 
        
           |  |  | 25 |   | 
        
           |  |  | 26 | 	public function testMasqueCode() {
 | 
        
           |  |  | 27 | 		$ressources = array();
 | 
        
           |  |  | 28 | 		$parametres = array('masque.code' => 's');
 | 
        
           | 790 | raphael | 29 | 		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
 | 
        
           |  |  | 30 | 		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
 | 
        
           | 324 | delphine | 31 | 		$this->assertNotEmpty($retour, 'données absentes');
 | 
        
           |  |  | 32 | 		$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
 | 
        
           | 783 | raphael | 33 | 		$this->assertEquals('2', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '2'. Voir : $url");
 | 
        
           | 324 | delphine | 34 | 		$this->assertArrayHasKey('nom', $retour['resultat'][2], "Le json ne contient pas d'attribut : nom. Voir : $url");
 | 
        
           |  |  | 35 | 		$this->assertEquals('service', $retour['resultat'][2]['nom'], "L'attribut 'nom' devrait avoir la valeur 'service'. Voir : $url");
 | 
        
           |  |  | 36 | 	}
 | 
        
           |  |  | 37 |   | 
        
           |  |  | 38 | 	public function testMasqueNom() {
 | 
        
           |  |  | 39 | 		$ressources = array();
 | 
        
           |  |  | 40 | 		$parametres = array('masque.nom' => 'description');
 | 
        
           | 790 | raphael | 41 | 		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
 | 
        
           |  |  | 42 | 		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
 | 
        
           | 324 | delphine | 43 | 		$this->assertNotEmpty($retour, 'données absentes');
 | 
        
           |  |  | 44 | 		$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
 | 
        
           |  |  | 45 | 		$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '1'. Voir : $url");
 | 
        
           |  |  | 46 | 		$this->assertArrayHasKey('code', $retour['resultat'][6], "Le json ne contient pas d'attribut : code. Voir : $url");
 | 
        
           |  |  | 47 | 		$this->assertEquals('1', $retour['resultat'][6]['code'], "L'attribut 'code' devrait avoir la valeur '1'. Voir : $url");
 | 
        
           |  |  | 48 | 	}
 | 
        
           | 962 | raphael | 49 |   | 
        
           |  |  | 50 |     public function disabledtestSeparateurToutesOntologies() {
 | 
        
           |  |  | 51 |         $separateur = '|';
 | 
        
           |  |  | 52 |   | 
        
           |  |  | 53 |         $db = new Bdd();
 | 
        
           |  |  | 54 |         $tables = array_map(function($t) { return current($t); }, $db->recupererTous("SHOW TABLES LIKE '%_ontologies%'"));
 | 
        
           |  |  | 55 |         $pattern = "SELECT count(1) AS c FROM %s WHERE complements LIKE '%%%s%%'";
 | 
        
           |  |  | 56 |         foreach($tables as $t) {
 | 
        
           |  |  | 57 |             echo $t."\n";
 | 
        
           |  |  | 58 |             $c = $db->recuperer(sprintf($pattern, $t, $separateur))['c'];
 | 
        
           |  |  | 59 |             $this->assertEquals(0, $c, "La colonne \"complements\" de la table d'ontologies \"$t\" contient le caractères \"$separateur\"");
 | 
        
           |  |  | 60 |         }
 | 
        
           |  |  | 61 |     }
 | 
        
           | 324 | delphine | 62 | }
 | 
        
           |  |  | 63 | ?>
 |