Rev 784 | Rev 900 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phprequire_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';class BdtfxTaxonsTest extends ServiceEflorePhpUnit {public function __construct() {$this->projet = 'bdtfx';$this->service = 'taxons';}public function testVersionPrecise() {$ressources = array();$parametres = array('version.projet' => '1.01');$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");}public function testNomsIdVersionMultiple() {$ressources = array('182');$parametres = array('version.projet' => '*');$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);/* NI (anymore ?)$this->assertArrayHasKey('bdtfx_v1_01', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_01.\nVoir : $url");$this->assertArrayHasKey('bdtfx_v1_02', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_02.\nVoir : $url");$this->assertEquals('182', $retour['bdtfx_v1_01']['id'], "'bdtfx_v1_01' doit contenir un attribut 'id' avec la valeur '182'");$this->assertEquals('182', $retour['bdtfx_v1_02']['id'], "'bdtfx_v1_02' doit contenir un attribut 'id' avec la valeur '182'");*/$this->assertEquals('182', $retour['id'], "doit contenir un attribut 'id' avec la valeur '182'");}public function testNomsVersionMultiple() {$ressources = array();$parametres = array('version.projet' => '*');$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);$attendu = "L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id";$message = "L'url :\n'$url'\n doit retourner un résultat de la forme :\n $attendu";$this->assertEquals($attendu, $retour, $message);}public function testVersionInexistante() {$ressources = array();$parametres = array('version.projet' => '99.00');$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);$attendu = 'La requête SQL formée comporte une erreur!';$message = "L'url :\n'$url'\n doit retourner un résultat de la forme :\n $attendu";$this->assertEquals($attendu, $retour, $message);}public function testRechercheStricte() {$ressources = array();$parametres = array('version.projet' => '1.01','recherche' => 'stricte','masque' => 'Acer');$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' de l'entête devrait valoir 1. Voir : $url");$this->assertEquals(1, count($retour['resultat']), "Le résultat devrait contenir une seule donnée. Voir : $url");}public function testRechercheEtendue() {$ressources = array();$parametres = array('version.projet' => '1.01','recherche' => 'etendue','masque' => 'Acer');$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");$this->assertEquals('50', $retour['entete']['total'], "L'attribut total de l'entête devrait valoir 50. Voir : $url");$this->assertEquals(50, count($retour['resultat']), "Le résultat devrait contenir 50 données. Voir : $url");}public function testRechercheFloue() {$ressources = array();$parametres = array('version.projet' => '1.01','recherche' => 'floue','masque' => 'Acer');$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");$this->assertEquals('3', $retour['entete']['total'], "L'attribut total de l'entête devrait valoir 3. Voir : $url");$this->assertEquals(3, count($retour['resultat']), "Le résultat devrait contenir 3 données. Voir : $url");}public function testTaxonsInf() {$ressources = array('13609', 'relations', 'inferieurs');$parametres = array();$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);$this->assertArrayHasKey('13609', $retour, "Le json ne contient pas le num tax en indice. Voir : $url");$this->assertEquals('2', count($retour['13609']), "Le json ne contient pas le nom de taxons inf attendu. Voir : $url");$this->assertEquals("Carex cuprina var. cuprina", $retour['13609']['13610']['nom_sci'], "Le json ne contient pas les 1er taxon inf attendu. Voir : $url");}public function testTaxonsSup() {$ressources = array('13609', 'relations', 'superieurs');$parametres = array();$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);$this->assertArrayHasKey('13609', $retour, "Le json ne contient pas le num tax en indice. Voir : $url");$this->assertEquals('14', count($retour['13609']), "Le json ne contient pas le nom de taxons inf attendu. Voir : $url");$this->assertEquals("Chlorobiontes", $retour['13609']['101140']['nom_sci'], "Le json ne contient pas les 1er taxon inf attendu. Voir : $url");}}?>