Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 790 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';

class EfloreOntologiesTest extends ServiceEflorePhpUnit {

        public function __construct() {
                $this->projet = 'eflore';
                $this->service = 'ontologies';
        }

        public function testRecherche() {
                $ressources = array();
                $parametres = array();
                $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
                $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
                $this->assertNotEmpty($retour, 'données absentes');
                $this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
                // 23 au 20/08/2013
                $this->assertGreaterThanOrEqual('23', $retour['entete']['total'], "L'attribut 'total' devrait avoir une valeur >= '23'. Voir : $url");
                $this->assertArrayHasKey('10', $retour['resultat'], "Le json ne contient pas d'ontologie n°10. Voir : $url");
                $this->assertArrayHasKey('nom', $retour['resultat'][10], "Le json ne contient pas d'attribut : nom. Voir : $url");
                $this->assertEquals('legendeCarte', $retour['resultat'][10]['code'], "L'attribut 'code' devrait avoir la valeur 'legendeCarte'. Voir : $url");
                $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");
        }
        
        public function testMasqueCode() {
                $ressources = array();
                $parametres = array('masque.code' => 's');
                $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
                $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
                $this->assertNotEmpty($retour, 'données absentes');
                $this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
                $this->assertEquals('2', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '2'. Voir : $url");
                $this->assertArrayHasKey('nom', $retour['resultat'][2], "Le json ne contient pas d'attribut : nom. Voir : $url");
                $this->assertEquals('service', $retour['resultat'][2]['nom'], "L'attribut 'nom' devrait avoir la valeur 'service'. Voir : $url");
        }
        
        public function testMasqueNom() {
                $ressources = array();
                $parametres = array('masque.nom' => 'description');
                $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
                $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
                $this->assertNotEmpty($retour, 'données absentes');
                $this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
                $this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '1'. Voir : $url");
                $this->assertArrayHasKey('code', $retour['resultat'][6], "Le json ne contient pas d'attribut : code. Voir : $url");
                $this->assertEquals('1', $retour['resultat'][6]['code'], "L'attribut 'code' devrait avoir la valeur '1'. Voir : $url");
        }

    public function disabledtestSeparateurToutesOntologies() {
        $separateur = '|';

        $db = new Bdd();
        $tables = array_map(function($t) { return current($t); }, $db->recupererTous("SHOW TABLES LIKE '%_ontologies%'"));
        $pattern = "SELECT count(1) AS c FROM %s WHERE complements LIKE '%%%s%%'";
        foreach($tables as $t) {
            echo $t."\n";
            $c = $db->recuperer(sprintf($pattern, $t, $separateur))['c'];
            $this->assertEquals(0, $c, "La colonne \"complements\" de la table d'ontologies \"$t\" contient le caractères \"$separateur\"");
        }
    }
}
?>