Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 7 | Rev 96 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7 Rev 17
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