| Line 1... |
Line 1... |
| 1 |
<?php
|
1 |
<?php
|
| 2 |
class BdtfxTaxonsTest extends PHPUnit_Framework_TestCase {
|
2 |
class BdtfxTaxonsTest extends ServicesTestsOutils {
|
| - |
|
3 |
|
| - |
|
4 |
public function __construct() {
|
| - |
|
5 |
$this->projet = 'bdtfx';
|
| - |
|
6 |
$this->service = 'taxons';
|
| - |
|
7 |
}
|
| Line 3... |
Line 8... |
| 3 |
|
8 |
|
| 4 |
public function testVersionPrecise() {
|
9 |
public function testVersionPrecise() {
|
| 5 |
$ressources = array('v1.01');
|
10 |
$ressources = array('v1.01');
|
| 6 |
$parametres = array();
|
11 |
$parametres = array();
|
| Line 88... |
Line 93... |
| 88 |
$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
|
93 |
$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
|
| 89 |
$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
|
94 |
$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
|
| 90 |
$this->assertEquals('4', $retour['entete']['total'], "L'attribut total de l'entête devrait valoir 4. Voir : $url");
|
95 |
$this->assertEquals('4', $retour['entete']['total'], "L'attribut total de l'entête devrait valoir 4. Voir : $url");
|
| 91 |
$this->assertEquals(4, count($retour['resultat']), "Le résultat devrait contenir 4 données. Voir : $url");
|
96 |
$this->assertEquals(4, count($retour['resultat']), "Le résultat devrait contenir 4 données. Voir : $url");
|
| 92 |
}
|
97 |
}
|
| 93 |
|
- |
|
| 94 |
//+------------------------------------------------------------------------------------------------------+
|
- |
|
| 95 |
// Refactorisation
|
- |
|
| 96 |
private function consulterJson($ressources, $parametres) {
|
- |
|
| 97 |
$retourJson = $this->consulterBrut($ressources, $parametres);
|
- |
|
| 98 |
$retour = json_decode($retourJson, true);
|
- |
|
| 99 |
$this->assertEquals(JSON_ERROR_NONE, json_last_error(), "Le json contient des erreurs qui bloquent le décodage. Voir : $url");
|
- |
|
| 100 |
return $retour;
|
- |
|
| 101 |
}
|
- |
|
| 102 |
|
- |
|
| 103 |
private function consulterBrut($ressources, $parametres) {
|
- |
|
| 104 |
array_unshift($ressources, 'taxons');
|
- |
|
| 105 |
array_unshift($ressources, 'bdtfx');
|
- |
|
| 106 |
$projets = new Projets();
|
- |
|
| 107 |
$retourJson = $projets->consulter($ressources, $parametres);
|
- |
|
| 108 |
return $retourJson;
|
- |
|
| 109 |
}
|
- |
|
| 110 |
|
- |
|
| 111 |
private function creerUrl($ressources, $parametres) {
|
- |
|
| 112 |
$version = '';
|
- |
|
| 113 |
$ressourcesUrl = array();
|
- |
|
| 114 |
foreach ($ressources as $ressource) {
|
- |
|
| 115 |
if (preg_match('/^(v[0-9]+\.[0-9]+|[*+])$/', $ressource)) {
|
- |
|
| 116 |
$version = $ressource.'/';
|
- |
|
| 117 |
} else {
|
- |
|
| 118 |
$ressourcesUrl[] = $ressource;
|
- |
|
| 119 |
}
|
- |
|
| 120 |
}
|
- |
|
| 121 |
$ressourcesUrl = count($ressourcesUrl) > 0 ? '/'.implode('/', $ressourcesUrl) : '';
|
- |
|
| 122 |
|
- |
|
| 123 |
$parametresUrl = '';
|
- |
|
| 124 |
if (count($parametres) > 0) {
|
- |
|
| 125 |
foreach ($parametres as $cle => $valeur) {
|
- |
|
| 126 |
$parametresUrl[] = $cle.'='.rawurlencode($valeur);
|
- |
|
| 127 |
}
|
- |
|
| 128 |
$parametresUrl = '?'.implode('&', $parametresUrl);
|
- |
|
| 129 |
}
|
- |
|
| 130 |
$url = Config::get('url_service').'/'.$version.'noms'.$ressourcesUrl.$parametresUrl;
|
- |
|
| 131 |
return $url;
|
- |
|
| 132 |
}
|
- |
|
| 133 |
}
|
98 |
}
|
| 134 |
?>
|
99 |
?>
|
| 135 |
|
100 |
|