Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 962 → Rev 996

/tags/v5.3-amandaie/services/tests/0.1/eflore/EfloreCartesTest.php
New file
0,0 → 1,52
<?php
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';
 
class EfloreCartesTest extends ServiceEflorePhpUnit {
 
private $retour = '';
private $map = '';
 
public function __construct() {
$this->projet = 'eflore';
$this->service = 'cartes';
}
 
public function setUp() {
$this->retour = '';
$this->map = '';
}
 
public function testCarteGenerale() {
$ressources = array();//nn = 141; nt = 8522; nom = 'Acer campestre L.'; nom_ss_auteur = 'Acer campestre'
$parametres = array('projet' => 'general', 'masque.nn' => '141', 'masque.nt' => '8522',
'masque.ns' => 'Acer campestre', 'masque.au' => 'L.', 'retour' => 'text/html');
 
$this->retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
$this->assertNotEmpty($this->retour, $this->retour);
$this->assertContains('<img', $this->retour, 'doit contenir une balise image');
$this->assertContains('nt8522_france_utm_600x564.png', $this->retour, 'l\'adresse doit se terminer par nt8522_france_utm_600x564.png');
$this->assertContains('<map', $this->retour, 'doit contenir une balise map');
$this->assertContains('CEL', $this->retour, 'doit contenir une observation CEL');
$this->assertContains('SOPHY', $this->retour, 'doit contenir une observation SOPHY');
}
 
public function testCarteGeneriqueLegende() {
$ressources = array('legende');
$parametres = array();
 
$this->retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
$this->assertNotEmpty($this->retour);
$this->assertGreaterThanOrEqual(4, count($this->retour), 'doit contenir au - les légendes de cel, cen-lr, sophy et plusieurs'. print_r($this->retour, true));
$this->assertArrayHasKey('code', $this->retour[0], 'contient le code du projet');
$this->assertArrayHasKey('couleur', $this->retour[0], 'contient le code couleur correspondant');
$this->assertArrayHasKey('nom', $this->retour[0], 'contient le nom du projet');
$this->assertArrayHasKey('description', $this->retour[0], 'contient une desctiption du projet');
}
 
private function verifierPresenceMessage($messageAttendu) {
$this->assertEquals($messageAttendu, $this->retour);
}
 
}
?>
/tags/v5.3-amandaie/services/tests/0.1/eflore/EfloreOntologiesTest.php
New file
0,0 → 1,63
<?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\"");
}
}
}
?>