diff options
Diffstat (limited to 'server')
| -rwxr-xr-x | server/Test/AppTestClass.php | 8 | ||||
| -rw-r--r-- | server/Test/imageTests.php | 95 | ||||
| -rwxr-xr-x | server/core/App.php | 15 | ||||
| -rwxr-xr-x | server/core/ErrorManagement.php | 37 | ||||
| -rwxr-xr-x | server/core/Image.php | 8 |
5 files changed, 124 insertions, 39 deletions
diff --git a/server/Test/AppTestClass.php b/server/Test/AppTestClass.php index 3f8abbe..a663514 100755 --- a/server/Test/AppTestClass.php +++ b/server/Test/AppTestClass.php @@ -89,9 +89,11 @@ class AppTest{ }
public function getPostParam($name){
-
- return $this->postParams[$name];
-
+ if(isset($this->postParams[$name])){
+ return $this->postParams[$name];
+ }else{
+ $this->setOutput("Error", "Missing parameter ".$name);
+ }
}
public function setPostParam($name, $value){
diff --git a/server/Test/imageTests.php b/server/Test/imageTests.php index d86c664..4adec08 100644 --- a/server/Test/imageTests.php +++ b/server/Test/imageTests.php @@ -6,6 +6,9 @@ include_once("../core/Compute.php"); $image = new Image($App); $compute = new Compute($App); +// Création image +/* +echo "Création image :</br>"; $opt = Array(); $opt['name'] = "Test"; $opt['tags'] = ['test', 'openstack']; @@ -16,28 +19,86 @@ $opt['minDisk'] = 1; $opt['protected'] = false; $opt['minRam'] = 10; -//$App->setPostParam('id', 'sdfihlus154dfhj'); -//$err = $image->action("createImage"); +$App->setPostParam('opt', $opt); +$image->action("createImage"); +$retCreate = json_decode($App->show(), true)["Images"]; +$idNew = $retCreate['id']; +*/ +/* +// Delete Image +$App->setPostParam('id', $idNew); +$image->action("deleteImage"); +*/ -//Liste des images +// Liste images $image->action("listImage"); $im = $App->show(); $images = json_decode($im, true)["Images"]; -echo "Images présentes :"; -echo "</br>"; +echo "List images :</br>"; foreach($images as $i){ - $recup = $i; - echo $recup['name']; + echo $i['name']."</br>"; // Nom + echo $i['status']."</br>"; // Status + $id = $i['id']; // Id + echo $id."</br>"; + foreach ($i['tags'] as $tag) { // Tags + echo $tag."</br>"; + } echo "</br>"; - //echo $recup['id']; - } + } + + +// Details images +echo "Détail image :</br>"; +$App->setPostParam('id', $id); +$image->action("detailsImage"); +$retDetails = json_decode($App->show(), true)["Images"]; +echo $retDetails['id']."</br>"; +echo "</br>"; + + +/* +// Download image +$App->setPostParam('id', $id); +$image->action("downloadImage"); +*/ + + +// Desactivate Images +echo "Desactivate image : </br>"; +echo $id."</br>"; +$App->setPostParam('id', $id); +$err = $image->action("desactivateImage"); echo "</br>"; + +/* +// Resactivate Images +echo $id."</br>"; +$App->setPostParam('id', $id); +$err = $image->action("resactivateImage"); +*/ + + +/* +// Details images +echo "Update image :</br>"; +$optUpdate = Array(); +$optUpdate['tags'] = ['ciros', 'testUpdate']; +$App->setPostParam('id', $id); +$App->setPostParam('opt', $optUpdate); +$image->action("updateImage"); +$retDetails = json_decode($App->show(), true)["Images"]; +foreach ($retDetails['tags'] as $tag) { // Tags + echo $tag."</br>"; +} +*/ + + +/* echo "Flavors: "; echo "</br>"; - $compute->action("listFlavors"); $flavors = json_decode($App->show(), true)["Flavors"]; @@ -49,17 +110,5 @@ foreach($flavors as $f){ echo "vcpus=".$f['vcpus']; echo "</br>"; } - -/* -$App->setPostParam('id', 354); -$err = $image->action("deleteImage"); -$temp = $App->show(); -$ret = json_decode($temp, true)["Images"]; -echo $ret['id']; -*/ - - - - - +*/ ?>
\ No newline at end of file diff --git a/server/core/App.php b/server/core/App.php index 10813bd..48bb9ab 100755 --- a/server/core/App.php +++ b/server/core/App.php @@ -112,15 +112,20 @@ class App{ }
public function getPostParam($name){
-
- return $this->postParams[$name];
+
+ if(isset($this->postParams[$name])){
+ return $this->postParams[$name];
+ }else{
+ $this->setOutput("Error", "Missing parameter ".$name);
+ }
}
- public function setPostParam($name, $value){
-
- $this->postParams[$name]= $value;
+
+ public function setPostParam($param, $value){
+ $this->postParams[$param] = $value;
+
}
public function setOutput($key, $out){
diff --git a/server/core/ErrorManagement.php b/server/core/ErrorManagement.php index 3257dd3..e7cb83e 100755 --- a/server/core/ErrorManagement.php +++ b/server/core/ErrorManagement.php @@ -18,19 +18,48 @@ Class errorManagement{ }
public function BaseErrorHandler($error){
-
+ $this->app->setOutput("Error", "BaseError");
}
public function BadResponseHandler($error){
- $this->app->setOutput("Error", "Erreur Interne, Merci de contacter un administrateur!");
+ $statusCode = $error->getResponse()->getStatusCode();
+ switch ($statusCode) {
+ case 400:
+ $this->app->setOutput("Error", "Invalid input.");
+ break;
+
+ case 401:
+ $this->app->setOutput("Error", "Authentification failed.");
+ break;
+
+ case 403:
+ $this->app->setOutput("Error", "Operation forbidden.");
+ break;
+
+ case 404:
+ $this->app->setOutput("Error", "Ressource not found.");
+ break;
+
+ case 500:
+ $this->app->setOutput("Error", "Internal server error, please contact an administrator.");
+ break;
+
+ case 503:
+ $this->app->setOutput("Error", "Service unvailable for the moment.");
+ break;
+
+ default:
+ $this->app->setOutput("Error", "Unknow error, please contact an administrator.");
+ break;
+ }
}
public function NotImplementedHandler($error){
- $this->app->setOutput("Error", "Erreur Interne, Merci de contacter un administrateur!");
+ $this->app->setOutput("Error", "Internal error (not implemented yet), please contact an administrator");
}
public function UserInputHandler($error){
-
+ $this->app->setOutput("Error", "UserInputError");
}
public function OtherException($error){
diff --git a/server/core/Image.php b/server/core/Image.php index 71e19ce..e9736a2 100755 --- a/server/core/Image.php +++ b/server/core/Image.php @@ -76,7 +76,7 @@ class image implements Core{ // Check the image name if(isset($opt['name'])){ - $imagesList = listImage(); + $imagesList = $this->listImage(); if(isset($imagesList)){ foreach($imagesList as $image){ if(strcmp($image->name, $opt['name']) == 0){ // if the image name already exists -> error @@ -84,7 +84,7 @@ class image implements Core{ } } } - + $options['name'] = $opt['name']; } else{ $this->app->setOutput("Error", "Missing parameter 'name' for the new image"); @@ -118,7 +118,7 @@ class image implements Core{ if(isset($opt['protected'])){ // boolean $options['protected'] = $opt['protected']; } - if(isset($opt['properties'])){ // type dict ? + if(isset($opt['properties'])){ // type dict $options['properties'] = $opt['properties']; } @@ -187,7 +187,6 @@ class image implements Core{ $this->app->setOutput("Error", "Image doesn't exist"); } else{ - echo 'toto'; $this->app->setOutput("Images", $image); } }catch(BadResponseError $e){ @@ -326,6 +325,7 @@ class image implements Core{ if($image == null){ // if the image don't exists -> error $this->app->setOutput("Error", "Image doesn't exist"); } + $image->reactivate(); }catch(BadResponseError $e){ $this->app->getErrorInstance()->BadResponseHandler($e); |
