Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 358 Rev 790
Line 9... Line 9...
9
	}
9
	}
Line 10... Line 10...
10
 
10
 
11
	public function testVersionPrecise() {
11
	public function testVersionPrecise() {
12
		$ressources = array();
12
		$ressources = array();
13
		$parametres = array('version.projet' => '1.01');
13
		$parametres = array('version.projet' => '1.01');
14
		$url = $this->creerUrl($ressources, $parametres);
14
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 15... Line 15...
15
		$retour = $this->consulterJson($ressources, $parametres);
15
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
16
 
16
 
17
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
17
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
Line 18... Line 18...
18
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
18
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
19
	}
19
	}
20
 
20
 
21
	public function testNomsIdVersionMultiple() {
21
	public function testNomsIdVersionMultiple() {
Line 22... Line 22...
22
		$ressources = array('71711');
22
		$ressources = array('71711');
23
		$parametres = array('version.projet' => '*');
23
		$parametres = array('version.projet' => '*');
24
		$url = $this->creerUrl($ressources, $parametres);
24
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
25
 
25
 
26
		$retour = $this->consulterJson($ressources, $parametres);
26
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
27
		$this->assertArrayHasKey('bdtfx_v1_01', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_01.\nVoir : $url");
27
		$this->assertArrayHasKey('bdtfx_v1_01', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_01.\nVoir : $url");
Line 28... Line 28...
28
		$this->assertArrayHasKey('bdtfx_v1_02', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_02.\nVoir : $url");
28
		$this->assertArrayHasKey('bdtfx_v1_02', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_02.\nVoir : $url");
29
		$this->assertEquals('71711', $retour['bdtfx_v1_01']['id'], "'bdtfx_v1_01' doit contenir un attribut 'id' avec la valeur '71711'");
29
		$this->assertEquals('71711', $retour['bdtfx_v1_01']['id'], "'bdtfx_v1_01' doit contenir un attribut 'id' avec la valeur '71711'");
30
		$this->assertEquals('71711', $retour['bdtfx_v1_02']['id'], "'bdtfx_v1_02' doit contenir un attribut 'id' avec la valeur '71711'");
30
		$this->assertEquals('71711', $retour['bdtfx_v1_02']['id'], "'bdtfx_v1_02' doit contenir un attribut 'id' avec la valeur '71711'");
31
	}
31
	}
Line 32... Line 32...
32
 
32
 
Line 33... Line 33...
33
	public function testNomsVersionMultiple() {
33
	public function testNomsVersionMultiple() {
34
		$ressources = array();
34
		$ressources = array();
35
		$parametres = array('version.projet' => '*');
35
		$parametres = array('version.projet' => '*');
36
		$url = $this->creerUrl($ressources, $parametres);
36
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 37... Line 37...
37
 
37
 
38
		$retour = $this->consulterBrut($ressources, $parametres);
38
		$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
39
 
39
 
40
		$attendu = "L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id";
40
		$attendu = "L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id";
Line 41... Line 41...
41
		$message = "L'url :\n'$url'\n doit retourner un résultat de la forme :\n $attendu";
41
		$message = "L'url :\n'$url'\n doit retourner un résultat de la forme :\n $attendu";
Line 42... Line 42...
42
		$this->assertEquals($attendu, $retour, $message);
42
		$this->assertEquals($attendu, $retour, $message);
43
	}
43
	}
44
 
44
 
45
	public function testVersionInexistante() {
45
	public function testVersionInexistante() {
Line 58... Line 58...
58
		$ressources = array();
58
		$ressources = array();
59
		$parametres = array(
59
		$parametres = array(
60
			'version.projet' => '1.01',
60
			'version.projet' => '1.01',
61
			'recherche' => 'stricte',
61
			'recherche' => 'stricte',
62
			'masque' => 'Acer');
62
			'masque' => 'Acer');
63
		$url = $this->creerUrl($ressources, $parametres);
63
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 64... Line 64...
64
 
64
 
65
		$retour = $this->consulterJson($ressources, $parametres);
65
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
66
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
66
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
67
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
67
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
68
		$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' de l'entête devrait valoir 1. Voir : $url");
68
		$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' de l'entête devrait valoir 1. Voir : $url");
69
		$this->assertEquals(1, count($retour['resultat']), "Le résultat devrait contenir une seule donnée. Voir : $url");
69
		$this->assertEquals(1, count($retour['resultat']), "Le résultat devrait contenir une seule donnée. Voir : $url");
Line 73... Line 73...
73
		$ressources = array();
73
		$ressources = array();
74
		$parametres = array(
74
		$parametres = array(
75
			'version.projet' => '1.01',
75
			'version.projet' => '1.01',
76
			'recherche' => 'stricte',
76
			'recherche' => 'stricte',
77
			'masque.nn' => '182');
77
			'masque.nn' => '182');
78
		$url = $this->creerUrl($ressources, $parametres);
78
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 79... Line 79...
79
 
79
 
Line 80... Line 80...
80
		$retour = $this->consulterJson($ressources, $parametres);
80
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
81
 
81
 
82
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
82
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
83
		$this->assertEquals(1, count($retour['resultat']), "Le résultat devrait contenir une seule donnée. Voir : $url");
83
		$this->assertEquals(1, count($retour['resultat']), "Le résultat devrait contenir une seule donnée. Voir : $url");
Line 92... Line 92...
92
		$ressources = array();
92
		$ressources = array();
93
		$parametres = array(
93
		$parametres = array(
94
			'version.projet' => '1.01',
94
			'version.projet' => '1.01',
95
			'recherche' => 'stricte',
95
			'recherche' => 'stricte',
96
			'masque.sg' => 'Asteraceae');
96
			'masque.sg' => 'Asteraceae');
97
		$url = $this->creerUrl($ressources, $parametres);
97
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 98... Line 98...
98
 
98
 
99
		$retour = $this->consulterJson($ressources, $parametres);
99
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
100
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
100
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
101
		$this->assertEquals('nom_supra_generique=Asteraceae', $retour['entete']['masque'], "L'attribut 'masque' de l'entête devrait valoir 'nom_supra_generique=Asteraceae'. Voir : $url");
101
		$this->assertEquals('nom_supra_generique=Asteraceae', $retour['entete']['masque'], "L'attribut 'masque' de l'entête devrait valoir 'nom_supra_generique=Asteraceae'. Voir : $url");
102
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
102
		$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
103
		$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' de l'entête devrait valoir 1. Voir : $url");
103
		$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' de l'entête devrait valoir 1. Voir : $url");
Line 112... Line 112...
112
			'masque.gen' => 'Allium',
112
			'masque.gen' => 'Allium',
113
			'masque.sp' => 'carinatum',
113
			'masque.sp' => 'carinatum',
114
			'masque.ssp' => 'consimile',
114
			'masque.ssp' => 'consimile',
115
			'masque.au' => 'Gren.',
115
			'masque.au' => 'Gren.',
116
			'masque.an' => '1855');
116
			'masque.an' => '1855');
117
		$url = $this->creerUrl($ressources, $parametres);
117
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 118... Line 118...
118
 
118
 
Line 119... Line 119...
119
		$retour = $this->consulterJson($ressources, $parametres);
119
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
Line 120... Line 120...
120
 
120
 
121
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
121
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
Line 133... Line 133...
133
		$ressources = array();
133
		$ressources = array();
134
		$parametres = array(
134
		$parametres = array(
135
			'version.projet' => '1.01',
135
			'version.projet' => '1.01',
136
			'recherche' => 'stricte',
136
			'recherche' => 'stricte',
137
			'masque.nn' => '182');
137
			'masque.nn' => '182');
138
		$url = $this->creerUrl($ressources, $parametres);
138
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 139... Line 139...
139
 
139
 
140
		$retour = $this->consulterJson($ressources, $parametres);
140
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
141
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
141
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
142
		$masque = 'num_nom=182';
142
		$masque = 'num_nom=182';
143
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
143
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
144
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
144
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
Line 153... Line 153...
153
		$ressources = array();
153
		$ressources = array();
154
		$parametres = array(
154
		$parametres = array(
155
			'version.projet' => '1.01',
155
			'version.projet' => '1.01',
156
			'recherche' => 'stricte',
156
			'recherche' => 'stricte',
157
			'masque.rg' => '180');
157
			'masque.rg' => '180');
158
		$url = $this->creerUrl($ressources, $parametres);
158
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 159... Line 159...
159
 
159
 
160
		$retour = $this->consulterJson($ressources, $parametres);
160
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
161
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
161
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
162
		$masque = 'rang=180';
162
		$masque = 'rang=180';
163
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
163
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
164
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
164
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
Line 171... Line 171...
171
			'version.projet' => '1.01',
171
			'version.projet' => '1.01',
172
			'recherche' => 'stricte',
172
			'recherche' => 'stricte',
173
			'masque.nn' => '182',
173
			'masque.nn' => '182',
174
			'ns.format' => 'txt',
174
			'ns.format' => 'txt',
175
			'ns.structure' => 'au,an,bib,ad');
175
			'ns.structure' => 'au,an,bib,ad');
176
		$url = $this->creerUrl($ressources, $parametres);
176
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 177... Line 177...
177
 
177
 
178
		$retour = $this->consulterJson($ressources, $parametres);
178
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
179
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
179
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
180
		$masque = 'num_nom=182';
180
		$masque = 'num_nom=182';
181
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
181
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
182
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
182
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
Line 192... Line 192...
192
			'version.projet' => '1.01',
192
			'version.projet' => '1.01',
193
			'recherche' => 'stricte',
193
			'recherche' => 'stricte',
194
			'masque.nn' => '182',
194
			'masque.nn' => '182',
195
			'ns.format' => 'htm',
195
			'ns.format' => 'htm',
196
			'ns.structure' => 'au,an,bib,ad');
196
			'ns.structure' => 'au,an,bib,ad');
197
		$url = $this->creerUrl($ressources, $parametres);
197
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
Line 198... Line 198...
198
 
198
 
199
		$retour = $this->consulterJson($ressources, $parametres);
199
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
200
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
200
		$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
201
		$masque = 'num_nom=182';
201
		$masque = 'num_nom=182';
202
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
202
		$message = "L'attribut 'masque' de l'entête devrait valoir '$masque'. Voir : $url";
203
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
203
		$this->assertEquals($masque, $retour['entete']['masque'], $message);
Line 213... Line 213...
213
		$ressources = array();
213
		$ressources = array();
214
		$parametres = array('version.projet' => '1.01',
214
		$parametres = array('version.projet' => '1.01',
215
			'masque' => 'acer',
215
			'masque' => 'acer',
216
			'retour.champs' => 'auteur,nom_retenu.*');
216
			'retour.champs' => 'auteur,nom_retenu.*');
Line 217... Line 217...
217
 
217
 
218
		$retour = $this->consulterJson($ressources, $parametres);
218
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
219
		$this->assertArrayHasKey('auteur', $retour['resultat']['83587']);
219
		$this->assertArrayHasKey('auteur', $retour['resultat']['83587']);
220
		$this->assertArrayHasKey('nom_retenu.id', $retour['resultat']['83587']);
220
		$this->assertArrayHasKey('nom_retenu.id', $retour['resultat']['83587']);
221
		$this->assertArrayHasKey('nom_retenu.href', $retour['resultat']['83587']);
221
		$this->assertArrayHasKey('nom_retenu.href', $retour['resultat']['83587']);
222
		$this->assertArrayNotHasKey('nom_retenu', $retour['resultat']['83587']);
222
		$this->assertArrayNotHasKey('nom_retenu', $retour['resultat']['83587']);
Line 225... Line 225...
225
	public function testNomsIdAvecParametreRetourChamps() {
225
	public function testNomsIdAvecParametreRetourChamps() {
226
		$ressources = array(1);
226
		$ressources = array(1);
227
		$parametres = array('version.projet' => '1.01',
227
		$parametres = array('version.projet' => '1.01',
228
				'retour.champs' => 'nom_retenu.*');
228
				'retour.champs' => 'nom_retenu.*');
Line 229... Line 229...
229
 
229
 
230
		$retour = $this->consulterJson($ressources, $parametres);
230
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
231
		$this->assertArrayHasKey('nom_retenu.id', $retour);
231
		$this->assertArrayHasKey('nom_retenu.id', $retour);
232
		$this->assertArrayHasKey('nom_retenu.href', $retour);
232
		$this->assertArrayHasKey('nom_retenu.href', $retour);
233
		$this->assertArrayNotHasKey('nom_retenu', $retour);
233
		$this->assertArrayNotHasKey('nom_retenu', $retour);
234
		$this->assertArrayNotHasKey('auteur', $retour);
234
		$this->assertArrayNotHasKey('auteur', $retour);
Line 238... Line 238...
238
		$ressources = array();
238
		$ressources = array();
239
		$parametres = array('version.projet' => '1.01',
239
		$parametres = array('version.projet' => '1.01',
240
			'masque.nn' => '39607',
240
			'masque.nn' => '39607',
241
			'ns.structure' => 'au,an,bib,ad');
241
			'ns.structure' => 'au,an,bib,ad');
Line 242... Line 242...
242
 
242
 
243
		$retour = $this->consulterJson($ressources, $parametres);
243
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
244
		$this->assertArrayHasKey('resultat', $retour);
244
		$this->assertArrayHasKey('resultat', $retour);
245
		$this->assertArrayHasKey('39607', $retour['resultat']);
245
		$this->assertArrayHasKey('39607', $retour['resultat']);
246
		$this->assertArrayHasKey('nom_sci', $retour['resultat']['39607']);
246
		$this->assertArrayHasKey('nom_sci', $retour['resultat']['39607']);
247
		$nomSciTxt = 'Lolium annuum Gilib. [1792, Exercit. Phytol., 2 : 520] [nom. invalid.]';
247
		$nomSciTxt = 'Lolium annuum Gilib. [1792, Exercit. Phytol., 2 : 520] [nom. invalid.]';
Line 253... Line 253...
253
		$parametres = array('version.projet' => '1.01',
253
		$parametres = array('version.projet' => '1.01',
254
			'masque.nn' => '39607',
254
			'masque.nn' => '39607',
255
			'ns.structure' => 'au,an,bib,ad',
255
			'ns.structure' => 'au,an,bib,ad',
256
			'ns.format' => 'htm');
256
			'ns.format' => 'htm');
Line 257... Line 257...
257
 
257
 
258
		$retour = $this->consulterJson($ressources, $parametres);
258
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
259
		$this->assertArrayHasKey('entete', $retour);
259
		$this->assertArrayHasKey('entete', $retour);
260
		$this->assertArrayHasKey('masque', $retour['entete']);
260
		$this->assertArrayHasKey('masque', $retour['entete']);
Line 261... Line 261...
261
		$this->assertEquals('num_nom=39607', $retour['entete']['masque']);
261
		$this->assertEquals('num_nom=39607', $retour['entete']['masque']);
Line 271... Line 271...
271
		$ressources = array();
271
		$ressources = array();
272
		$parametres = array('version.projet' => '1.01',
272
		$parametres = array('version.projet' => '1.01',
273
				'masque.nn' => '39607',
273
				'masque.nn' => '39607',
274
				'retour.champs' => 'rang,auteur');
274
				'retour.champs' => 'rang,auteur');
Line 275... Line 275...
275
	
275
	
276
		$retour = $this->consulterJson($ressources, $parametres);
276
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
277
		$this->assertArrayHasKey('entete', $retour);
277
		$this->assertArrayHasKey('entete', $retour);
278
		$this->assertArrayHasKey('masque', $retour['entete']);
278
		$this->assertArrayHasKey('masque', $retour['entete']);
Line 279... Line 279...
279
		$this->assertEquals('num_nom=39607', $retour['entete']['masque']);
279
		$this->assertEquals('num_nom=39607', $retour['entete']['masque']);