Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev 790 Rev 834
Line 42... Line 42...
42
		$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
42
		$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url");
43
		$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '1'. Voir : $url");
43
		$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '1'. Voir : $url");
44
		$this->assertArrayHasKey('nom', $retour['resultat'][1], "Le json ne contient pas d'attribut : nom. Voir : $url");
44
		$this->assertArrayHasKey('nom', $retour['resultat'][1], "Le json ne contient pas d'attribut : nom. Voir : $url");
45
		$this->assertEquals('contactType', $retour['resultat'][1]['nom'], "L'attribut 'nom' devrait avoir la valeur 'contactType'. Voir : $url");
45
		$this->assertEquals('contactType', $retour['resultat'][1]['nom'], "L'attribut 'nom' devrait avoir la valeur 'contactType'. Voir : $url");
46
	}
46
	}
-
 
47
 
-
 
48
	// simple test ontologies bdnt
-
 
49
	// ce qui signifie les ontologies communes aux référentiels (bdtfx, bdtxa, isfan)
-
 
50
	public function testBdntSimpleNonExistante() {
-
 
51
		$url = '/bdnt' . ServiceEflorePhpUnit::creerUrl('ontologies', [ 'rangTaxo:-1' ] );
-
 
52
		$retour = $this->consulterBrut('ontologies', 'bdnt', [ 'rangTaxo:-1' ] );
-
 
53
		$this->assertContains($retour, 'Les données recherchées sont introuvables.');
-
 
54
	}
-
 
55
 
-
 
56
	public function testBdntSimpleExistante() {
-
 
57
		$url = '/bdnt' . ServiceEflorePhpUnit::creerUrl('ontologies', [ 'rangTaxo:70' ] );
-
 
58
		$retour = $this->consulterJson('ontologies', 'bdnt', [ 'rangTaxo:70' ] );
-
 
59
		$this->assertNotEmpty($retour, 'données absentes');
-
 
60
		foreach(['id', 'nom', 'code', 'complements', 'classe.id', 'classe', 'classe.href'] as $v) {
-
 
61
			$this->assertArrayHasKey($v, $retour, "Le json ne contient pas l'attribut \"$v\". Voir : $url");
-
 
62
		}
-
 
63
		$this->assertEquals('15', $retour['id'], "L'attribut 'id' devrait avoir la valeur '15'. Voir : $url");
-
 
64
		$this->assertEquals('Cladus', $retour['nom'], "L'attribut 'nom' devrait avoir la valeur 'Cladus'. Voir : $url");
-
 
65
	}
-
 
66
 
-
 
67
	// Les ontologies supportent les requêtes multiples, eg: /bdnt/ontologies/rangTaxo:70,rangTaxo:-1
-
 
68
	// Les ontologies sont alors indexées par élément de requête (pour faciliter le travail du client)
-
 
69
	// Les résultats inexistants ne sont pas retournés
-
 
70
	public function testBdntMultiplesNonExistante() {
-
 
71
		$ressource = [ implode(',', [ 'rangTaxo:70', 'rangTaxo:-1' ]) ];
-
 
72
		$url = '/bdnt' . ServiceEflorePhpUnit::creerUrl('ontologies', $ressource );
-
 
73
		$retour = $this->consulterJson('ontologies', 'bdnt', $ressource );
-
 
74
		$this->assertNotEmpty($retour, 'données absentes');
-
 
75
		$this->assertEquals(1, count($retour), "Le retour ne devrait contenir que le seul élément valide. Voir : $url");
-
 
76
		$this->assertArrayHasKey('rangTaxo:70', $retour, "Le json ne contient pas d'élément rangTaxo:70. Voir : $url");
-
 
77
		foreach(['id', 'nom', 'code', 'complements', 'classe.id', 'classe', 'classe.href'] as $v) {
-
 
78
			$this->assertArrayHasKey($v, $retour['rangTaxo:70'], "Le json ne contient pas l'attribut \"$v\". Voir : $url");
-
 
79
		}
-
 
80
		$this->assertEquals('15', $retour['rangTaxo:70']['id'], "L'attribut 'id' devrait avoir la valeur '15'. Voir : $url");
-
 
81
		$this->assertEquals('Cladus', $retour['rangTaxo:70']['nom'], "L'attribut 'nom' devrait avoir la valeur 'Cladus'. Voir : $url");
-
 
82
	}
-
 
83
 
-
 
84
	// Les ontologies supportent les requêtes multiples sur des code différents
-
 
85
	// eg: /bdnt/ontologies/rangTaxo:70,zoneGeo:YT
-
 
86
	public function testBdntMultiplesExistantes() {
-
 
87
		$ressource = [ implode(',', [ 'rangTaxo:70', 'zoneGeo:YT' ]) ];
-
 
88
		$url = '/bdnt' . ServiceEflorePhpUnit::creerUrl('ontologies', $ressource );
-
 
89
		$retour = $this->consulterJson('ontologies', 'bdnt', $ressource );
-
 
90
		$this->assertNotEmpty($retour, 'données absentes');
-
 
91
		$this->assertEquals(2, count($retour), "Le retour devrait contenir 2 éléments valides. Voir : $url");
-
 
92
		$this->assertArrayHasKey('rangTaxo:70', $retour, "Le json ne contient pas d'élément 'rangTaxo:70'. Voir : $url");
-
 
93
		$this->assertArrayHasKey('zoneGeo:YT', $retour, "Le json ne contient pas d'élément 'zoneGeo:YT'. Voir : $url");
-
 
94
 
-
 
95
		foreach($retour as $k => $e) {
-
 
96
			foreach(['id', 'nom', 'code', 'classe.id', 'classe', 'classe.href'] as $v) {
-
 
97
				$this->assertArrayHasKey($v, $e, "Le json ne contient pas l'attribut \"$v\" pour l'élément \"$k\". Voir : $url");
-
 
98
			}
-
 
99
		}
-
 
100
		// n'existe pas pour "zoneGeo", pourquoi ?
-
 
101
		$this->assertArrayHasKey('complements', $retour['rangTaxo:70'], "Le json ne contient pas l'attribut \"$v\". Voir : $url");
-
 
102
 
-
 
103
 
-
 
104
		$this->assertEquals('15', $retour['rangTaxo:70']['id'], "L'attribut 'id' devrait avoir la valeur '15'. Voir : $url");
-
 
105
		$this->assertEquals('Cladus', $retour['rangTaxo:70']['nom'], "L'attribut 'nom' devrait avoir la valeur 'Cladus'. Voir : $url");
-
 
106
		$this->assertEquals('180', $retour['zoneGeo:YT']['id'], "L'attribut 'id' devrait avoir la valeur '180'. Voir : $url");
-
 
107
		$this->assertEquals('Mayotte', $retour['zoneGeo:YT']['nom'], "L'attribut 'nom' devrait avoir la valeur 'Mayotte'. Voir : $url");
-
 
108
	}
47
}
109
}
48
?>
-
 
49
110