Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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
?>