Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
581 mathilde 1
<?php
2
 
3
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';
4
 
5
class SyntaxonsTest extends ServiceEflorePhpUnit {
6
 
7
	public function __construct() {
8
		$this->projet = 'baseveg';
9
		$this->service = 'syntaxons';
10
	}
11
 
12
 
13
	//++ ------------------------------------Test des ressources -----------------------------++
14
 
15
	//la ressource demandée est t elle connue ?
16
	public function testRessourceInconnue() {
17
		$ressourcesList = array(
18
				array('inconnue'),
19
				array('code:07-2.0.1.0.1-08'),
20
				array('relations'),
21
				array('cle:bgwsd'),
22
				array('cle:5','relations'),
23
				array('cle:5','relations','synonymie'),
24
				array('cle:5','relations','niveaux-sup'),
25
				array('catminat:catminat'),
26
				array('catminat:45'),
27
				array('catminat:07-2.0.1.0.1-08','inconnu'),
28
				array('catminat:07-2.0.1.0.1-08','inconnu','synonymie'),
29
				array('catminat:07-2.0.1.0.1-08','relations','inconnu')
30
			);
31
		$parametres = array();
32
		foreach ($ressourcesList as $ressources) {
790 raphael 33
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 34
			$messageAttendu = "Erreur dans l'url de votre requête : </br> La ressource demandée n'existe pas.";
35
			$this->assertEquals($messageAttendu, $retour, "Il faut indiquer si une ressource est eronnée.");
36
		}
37
 
38
	}
39
 
40
 
41
	//++ ------------------------------------Test des parametres -----------------------------++
42
 
43
	public function testParametreinconnu() {
44
		$ressourcesList = array(
45
				array('catminat:07-2.0.1.0.1-08'),
46
				array('cle:10'),
47
				array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
48
				array(),
49
				array('catminat:07-2.0.1.0.1-07','relations','synonymie'),
50
				array('catminat:07-2.0.1.0.1-07','relations')
51
			);
52
		$parametres = array('paramatre' => 'ORD');
53
		foreach ($ressourcesList as $ressources) {
790 raphael 54
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 55
			$messageAttendu = "Erreur dans les parametres de votre requête :".
56
											" </br> Le paramètre \" paramatre \" n'existe pas.";
57
			$this->assertEquals($messageAttendu, $retour,
58
					"Il faut indiquer si le masque est erronné.");
59
		}
60
	}
61
 
62
 
63
	public function testMasqueNiveauErronne() {
64
		$ressourcesList = array(
65
		array(),
66
		array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
67
		);
68
		$parametres = array('masque.niveau' => 'syn');
69
		foreach ($ressourcesList as $ressources) {
790 raphael 70
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 71
			$messageAttendu = "Erreur : valeur inconnue pour masque.niveau. valeurs possibles : ALL|ORD|CLA|SUBCLA|SUBORD|SUBALL|ASS|SUBASS|BC|DC|GRPT";
72
			$this->assertEquals($messageAttendu, $retour,
73
						"Il faut indiquer si le masque est erronné.");
74
		}
75
	}
76
 
77
	public function testParametresNavigationNonAutorisesSyntaxonsCode() {
78
		$ressourcesList = array(
79
			array('catminat:07-2.0.1.0.1-08'),
80
			array('cle:6'),
81
		array('catminat:07-2.0.1.0.1-08','relations'),
82
		);
83
		$parametres = array('navigation.depart' => '0');
84
		foreach ($ressourcesList as $ressources) {
790 raphael 85
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 86
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
87
											" </br> Le paramètre \" navigation.depart \" n'existe pas.";
88
			$this->assertEquals($messageAttendu, $retour,
89
							"Il faut indiquer que le parametre navigation.depart est interdit pour ce sous-service.");
90
		}
91
		$parametres = array('navigation.limite' => '10');
92
		foreach ($ressourcesList as $ressources) {
790 raphael 93
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 94
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
95
																" </br> Le paramètre \" navigation.limite \" n'existe pas.";
96
			$this->assertEquals($messageAttendu, $retour,
97
												"Il faut indiquer que le parametre navigation.limite est interdit pour ce sous-service.");
98
		}
99
	}
100
 
101
	public function testParametresMasqueCatminatNonAutorise() {
102
		$ressourcesList = array(
103
		array('catminat:07-2.0.1.0.1-08'),
104
		array('cle:6'),
105
		array('catminat:07-2.0.1.0.1-08','relations'),
106
		array('catminat:07-2.0.1.0.1-08','relations','synonymie')
107
		);
108
		$parametres = array('masque.catminat' => '07-2.0.1.0.1-08');
109
		foreach ($ressourcesList as $ressources) {
790 raphael 110
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 111
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
112
																		" </br> Le paramètre \" masque.catminat \" n'existe pas.";
113
			$this->assertEquals($messageAttendu, $retour,
114
					"Il faut indiquer que le parametre masque.catminat est interdit pour ce sous-service.");
115
		}
116
 
117
	}
118
 
119
	public function testParametresMasqueFixeNonAutorise() {
120
		$ressourcesList = array(
121
		array('catminat:07-2.0.1.0.1-08'),
122
		array('cle:6'),
123
		array('catminat:07-2.0.1.0.1-08','relations'),
124
		);
125
		$parametres = array('masque.fixe' => '2338');
126
		foreach ($ressourcesList as $ressources) {
790 raphael 127
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 128
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
129
																			" </br> Le paramètre \" masque.fixe \" n'existe pas.";
130
			$this->assertEquals($messageAttendu, $retour,
131
						"Il faut indiquer que le parametre masque.fixe est interdit pour ce sous-service.");
132
		}
133
 
134
	}
135
 
136
	public function testParametresMasqueNiveauNonAutorise() {
137
		$ressourcesList = array(
138
			array('catminat:07-2.0.1.0.1-08'),
139
			array('cle:6'),
140
			array('catminat:07-2.0.1.0.1-08','relations'),
141
			array('catminat:07-2.0.1.0.1-08','relations','synonymie')
142
		);
143
		$parametres = array('masque.niveau' => 'ord');
144
		foreach ($ressourcesList as $ressources) {
790 raphael 145
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 146
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
147
												" </br> Le paramètre \" masque.niveau \" n'existe pas.";
148
			$this->assertEquals($messageAttendu, $retour,
149
					"Il faut indiquer que le parametre masque.niveau est interdit pour ce sous-service.");
150
		}
151
 
152
	}
153
 
154
	public function testParametresMasqueRetenuNonAutorise() {
155
		$ressourcesList = array(
156
			array('catminat:07-2.0.1.0.1-08'),
157
			array('cle:6'),
158
			array('catminat:07-2.0.1.0.1-08','relations'),
159
			array('catminat:07-2.0.1.0.1-08','relations','synonymie')
160
		);
161
		$parametres = array('masque.retenu' => 'true');
162
		foreach ($ressourcesList as $ressources) {
790 raphael 163
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 164
			$messageAttendu =  "Erreur dans les parametres de votre requête :".
165
												" </br> Le paramètre \" masque.retenu \" n'existe pas.";
166
			$this->assertEquals($messageAttendu, $retour,
167
					"Il faut indiquer que le parametre masque.catminat est interdit pour ce sous-service.");
168
		}
169
 
170
	}
171
 
172
 
173
 
174
	//++ ------------------------------------Test du retour Json -----------------------------++
175
 
176
	public function testJsonBienFormeListes() {
177
		$ressourcesList = array(
178
				array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
179
				array(),
180
				array('catminat:07-2.0.1.0.1-07','relations','synonymie'),
181
				array('catminat:07-2.0.1.0.1-07','relations')
182
			);
183
		$parametres = array();
184
		foreach ($ressourcesList as $ressources) {
790 raphael 185
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
186
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 187
			$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
188
			$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
189
		}
190
 
191
	}
192
 
193
	public function testPasDeResultat() {
194
		$ressourcesList = array(
195
			array('catminat:18-5.2.1.6.0-8'),
196
			array('catminat:18-5.2.1.6.0-8','relations')
197
		);
198
		$parametres = array();
199
		foreach ($ressourcesList as $ressources) {
790 raphael 200
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
201
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
960 raphael 202
			$this->assertEquals("Données introuvables dans la base", $retour, "Il faut indiquer si les données recherchées sont introuvables. Voir : $url");
581 mathilde 203
		}
204
		$ressourcesList = array(
205
		array('catminat:18-5.2.1.6.0-8','relations','synonymie'),
206
		array('catminat:18-5.2.1.6.0-8','relations','niveaux-sup'),
207
		);
208
		$parametres = array();
209
		foreach ($ressourcesList as $ressources) {
790 raphael 210
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
211
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
961 raphael 212
			$this->assertEquals("Données introuvables dans la base", $retour, "Il faut indiquer si les données recherchées sont introuvables");
581 mathilde 213
		}
214
 
215
	}
216
 
217
	public function testChampsNiveau() {
218
		$ressources = array();
219
		$parametres = array('masque.retenu' => 'true');
790 raphael 220
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
221
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 222
		foreach ($retour['resultat'] as $cle => $valeurs) {
223
			$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");
224
			$this->assertNotEmpty($valeurs['niveau.code']);
225
			$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");
226
			$this->assertNotEmpty($valeurs['niveau.libelle']);
227
			$this->assertArrayHasKey('niveau.href', $valeurs, "Le json ne contient pas d'attribut : niveau.href . Voir : $url");
228
			$this->assertNotEmpty($valeurs['niveau.href']);
229
		}
230
 
231
		$parametres = array('masque.retenu' => 'false');
790 raphael 232
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
233
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 234
		foreach ($retour['resultat'] as $cle => $valeurs) {
235
			$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");
236
			$this->assertNotEmpty($valeurs['niveau.code']);
237
			$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");
238
			$this->assertNotEmpty($valeurs['niveau.libelle']);
239
			$this->assertArrayHasKey('niveau.detail', $valeurs, "Le json ne contient pas d'attribut : niveau.detail . Voir : $url");
240
			$this->assertNotEmpty($valeurs['niveau.detail']);
241
		}
242
	}
243
 
244
	public function testMasqueNiveau() {
245
		$parametres = array('masque.niveau' => 'ORD');
903 raphael 246
 
247
		$url = ServiceEflorePhpUnit::creerUrl($this->service, [], $parametres);
248
		$retour = $this->consulterJson($this->service, $this->projet, [], $parametres);
249
		foreach ($retour['resultat'] as $cle => $valeurs) {
250
			$this->assertEquals( $valeurs['niveau.code'], 'ORD','le masque.niveau ne fonctionne pas.');
581 mathilde 251
		}
903 raphael 252
 
253
		$url = ServiceEflorePhpUnit::creerUrl($this->service, ['catminat:07-2.0.1.0.1-08','relations','niveaux-sup'], $parametres);
254
		$retour = $this->consulterJson($this->service, $this->projet, ['catminat:07-2.0.1.0.1-08','relations','niveaux-sup'], $parametres);
255
		foreach ($retour['resultat'] as $cle => $valeurs) {
256
			$this->assertEquals( $valeurs['niveau.code'], 'ORD','le masque.niveau ne fonctionne pas.');
257
		}
258
 
581 mathilde 259
	}
260
 
261
	public function testMasqueRetenu() {
262
		$ressourcesList = array();
263
		$parametres = array('masque.retenu' => 'true');
264
		foreach ($ressourcesList as $ressources) {
790 raphael 265
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
266
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 267
			foreach ($retour['resultat'] as $cle => $valeurs) {
268
				$this->assertStringStartsNotWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour true.');
269
			}
270
		}
271
		$parametres = array('masque.retenu' => 'false');
272
		foreach ($ressourcesList as $ressources) {
790 raphael 273
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
274
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 275
			foreach ($retour['resultat'] as $cle => $valeurs) {
276
				$this->assertStringStartsWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour false.');
277
			}
278
 
279
		}
280
	}
281
 
282
	public function testMasqueCatminat() {
283
		$ressourcesList = array(
284
			array(),
285
			array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
286
		);
287
		$parametres = array('masque.catminat' => '07-2.');
288
		foreach ($ressourcesList as $ressources) {
790 raphael 289
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
290
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 291
			foreach ($retour['resultat'] as $cle => $valeurs) {
292
				$this->assertEquals( $valeurs['code_catminat'], '07/2.','le masque.niveau ne fonctionne pas.');
293
			}
294
		}
295
	}
296
 
297
	public function testMasqueFixe() {
298
		$ressourcesList = array(
299
			array(),
300
			array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
301
		);
302
		$parametres = array('masque.fixe' => '2322');
303
		foreach ($ressourcesList as $ressources) {
790 raphael 304
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
305
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 306
			foreach ($retour['resultat'] as $cle => $valeurs) {
307
				$this->assertEquals( $valeurs['code_fixe_nom'], '2322','le masque.fixe ne fonctionne pas.');
308
			}
309
		}
310
	}
311
}
312
?>