- [x] [ModuleAnswer] Gestion des erreurs au niveau interne des Modules
This commit is contained in:
parent
9c9f45eced
commit
f3f7ba35a4
38
automate.php
38
automate.php
|
@ -236,7 +236,7 @@
|
|||
function insertUsersComposite(){
|
||||
|
||||
// Creation de la requete
|
||||
$request = new \manager\ModuleRequest('userDefault/create', array('92-55-B9-B3', 'b', 'c', 'd', 'e', 'f', 'g') );
|
||||
$request = new \manager\ModuleRequest('userDefault/create', array('92-55-B9-B3', 'b', 'bla', 'bla', 'bla@test.com', 'sadas', '1') );
|
||||
$answer = $request->dispatch();
|
||||
// Debug error
|
||||
var_dump( $answer->error );
|
||||
|
@ -246,41 +246,7 @@
|
|||
|
||||
return true;
|
||||
|
||||
}//insertUsersComposite();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* TEST DU CHECKER
|
||||
*
|
||||
*
|
||||
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
||||
*
|
||||
*/
|
||||
function testDatabaseChecker(){
|
||||
|
||||
/* (1) Code RFID */
|
||||
var_dump('user.code');
|
||||
var_dump( \manager\Database::check('user.code', '01-23-AB-CD' ) );
|
||||
var_dump( \manager\Database::check('user.code', '01-23-45-67-89-AB' ) );
|
||||
var_dump( \manager\Database::check('user.code', '01-23-AB-CG' ) );
|
||||
var_dump( \manager\Database::check('user.code', '01-23-45-67-89-AB-CD' ) );
|
||||
|
||||
/* (2) Username / FirstName / Lastname */
|
||||
var_dump('user.username ; user.firstname ; user.lastname');
|
||||
|
||||
/* (3) Adresse mail */
|
||||
var_dump('user.mail');
|
||||
|
||||
/* (4) Password sha1 hash */
|
||||
var_dump('user.password');
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
}//testDatabaseChecker();
|
||||
}insertUsersComposite();
|
||||
|
||||
|
||||
?>
|
|
@ -41,10 +41,9 @@
|
|||
|
||||
// Api
|
||||
$R->post('api/?', function(){
|
||||
$request = \manager\ModuleRequest::fromURL($_POST);
|
||||
$request = \manager\ModuleRequest::fromPost($_POST);
|
||||
$answer = $request->dispatch();
|
||||
|
||||
|
||||
echo $answer->serialize();
|
||||
});
|
||||
|
||||
|
|
|
@ -38,18 +38,21 @@
|
|||
// Methode inamorcable
|
||||
const UncallableMethod = 8;
|
||||
|
||||
// Erreur de parametre(s)
|
||||
const ParamError = 9;
|
||||
|
||||
/* Repo */
|
||||
|
||||
// Verification de la coherence du chemin (existe dans la conf)
|
||||
const WrongPathRepo = 9;
|
||||
const WrongPathRepo = 10;
|
||||
|
||||
// Module non specifie dans la conf
|
||||
const UnknownRepo = 10;
|
||||
const UnknownRepo = 11;
|
||||
|
||||
/* Database */
|
||||
|
||||
// Erreur lors de la creation d'un objet PDO (connection)
|
||||
const PDOConnection = 11;
|
||||
const PDOConnection = 12;
|
||||
|
||||
|
||||
/* EXPLICITE UN CODE D'ERREUR
|
||||
|
@ -72,6 +75,7 @@
|
|||
case self::UnknownRepo: return "Le repo n'existe pas"; break;
|
||||
case self::UnknownMethod: return "Le methode n'existe pas"; break;
|
||||
case self::UncallableMethod: return "Le methode n'est pas amorcable"; break;
|
||||
case self::ParamError: return "Un ou plusieurs parametres sont manquants ou incorrects"; break;
|
||||
case self::PDOConnection: return "La connexion avec la base de donnees a echoue"; break;
|
||||
|
||||
default: return "Erreur inconnue..."; break;
|
||||
|
|
|
@ -67,6 +67,17 @@
|
|||
*
|
||||
*/
|
||||
public function appendAll($dataset){
|
||||
// Si ce n'est pas un tableau, on ne fais rien
|
||||
if( !is_array($dataset) ) return $this;
|
||||
|
||||
// Si une valeur contient une erreur
|
||||
if( array_key_exists('ModuleError', $dataset) ){
|
||||
// On definit cette erreur
|
||||
$this->error = $dataset['ModuleError'];
|
||||
// On enleve cette entree des donnees
|
||||
unset($dataset['ModuleError']);
|
||||
}
|
||||
|
||||
// Ajoute une entree pour la cle @key et de valeur @value
|
||||
$this->data = $dataset;
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@
|
|||
* @return instance<ModuleRequest> Retourne un objet de type <ModuleRequest>
|
||||
*
|
||||
*/
|
||||
public static function fromURL($post){
|
||||
public static function fromPost($post){
|
||||
/* [1] On verifie que le @path est renseigne
|
||||
=========================================================*/
|
||||
if( !isset($post['path']) )
|
||||
|
@ -175,8 +175,15 @@
|
|||
|
||||
/* [2] On verifie que @data est renseigne
|
||||
=========================================================*/
|
||||
// Si variable n'existe pas, on cree un tableau vide
|
||||
$data = (isset($post['data'])) ? $post['data'] : array();
|
||||
|
||||
// Si c'est toujours pas un tableau, on essaie de voir si c'est un json
|
||||
$data = (!is_array($data)) ? json_decode($data, true) : $data;
|
||||
|
||||
// Si toujours pas de tableau, on cree un tableau vide
|
||||
$data = (!is_array($data)) ? array() : $data;
|
||||
|
||||
|
||||
/* [3] On retourne une instance de <ModuleRequest>
|
||||
=========================================================*/
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
* @return status<Boolean> Retourne si oui ou non, tout s'est bien passe
|
||||
*
|
||||
*/
|
||||
public static function create($code, $username, $firstname, $lastname, $mail, $password, $status){
|
||||
public static function create($code=null, $username=null, $firstname=null, $lastname=null, $mail=null, $password=null, $status=null){
|
||||
/* [1] Normalisation + verification des donnees
|
||||
=========================================================*/
|
||||
$password_hash = \manager\sessionManager::secure_sha1($password);
|
||||
|
@ -47,10 +47,15 @@
|
|||
$correct_param = $correct_param && \manager\Database::check('user.password', $password_hash);
|
||||
$correct_param = $correct_param && \manager\Database::check('user.status', $status);
|
||||
|
||||
// Si les parametres ne sont pas corrects, on retourne une erreur
|
||||
if( !$correct_param )
|
||||
return array('ModuleError' => \manager\ManagerError::ParamError);
|
||||
|
||||
$request = new \manager\Repo('user/create', array($code, $username, $firstname, $lastname, $mail, $password, $status) );
|
||||
|
||||
return $request->answer();
|
||||
// $request = new \manager\Repo('user/create', array($code, $username, $firstname, $lastname, $mail, $password, $status) );
|
||||
|
||||
// return $request->answer();
|
||||
return array('ModuleError' => \manager\ManagerError::Success);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
<phpunit bootstrap="./bootstrap.php">
|
||||
|
||||
<testsuites>
|
||||
|
||||
<testsuite name="\manager\Database">
|
||||
<directory suffix=".php">./tests/</directory>
|
||||
<directory prefix="Database_" suffix=".php">./tests/</directory>
|
||||
</testsuite>
|
||||
|
||||
</testsuites>
|
||||
|
||||
|
||||
|
|
1
todo.md
1
todo.md
|
@ -39,6 +39,7 @@
|
|||
########
|
||||
# FAIT #
|
||||
########
|
||||
- [x] [ModuleAnswer] Gestion des erreurs au niveau interne des Modules
|
||||
- [x] [autoloader][phpunit/bootstrap.php] Correction des bugs de $_SERVER avec PHPUnit -> autoloader + bootstrap personnalise
|
||||
- [x] [sessionManager] Import de sessionManager
|
||||
- [x] [phpunit/tests/Database_*] Tests unitaire de delNumeric()
|
||||
|
|
Loading…
Reference in New Issue