'test9 test0', /////'nom' => 'user6 USER', 'nom' => 'USER user6', //'username' => 'testt', /////'username' => 'user6_USER', 'username' => 'u6USER', 'password' => '$2y$10$VtYdA8Evkc.K.VpvqmF9wui5hc9ep19f8ukWBeFBIlunXSHPqw.K2', //////'email' => 'testt@test.fr', 'email' => 'user6.USER@test.fr', 'role' => 'Utilisateur', 'groupes_metier_id' => 1, 'groupes_thematique_id' => 1 ]; } static protected function _getEntityIdOkForTesting() { //return 3; // user de profil ADMIN (1 = superadmin, 2 n'existe pas car on a supprimé adminplus) //return 4; // user de profil RESP (1 = superadmin, 2 n'existe pas car on a supprimé adminplus, 3=ADMIN) return 5; // user de profil USER (1 = superadmin, 2 n'existe pas car on a supprimé adminplus, 3=ADMIN, 4=resp) } /* public function authUser() { $user = [ 'Auth' => [ 'User' => [ 'sn' => [0 => 'test2'], 'mail' => [0 => 'test@test.fr'], 'givenname' => [0 => 'test1'], 'cn' => [0 => 'user1_SUPER'], 'userpassword' => [0 => 'test'], ] ] ]; $this->session($user); $authType = ['authType' => 'cn']; $this->session($authType); } */ /** * Test UNauthentified access to website * * By default, must have ONLY access to /about page, or /login page * * @return void */ public function testUser10AccessAsAnonymous() { $this->get('/pages/about'); $this->assertResponseContains('A PROPOS DU LOGICIEL', 'Un utilisateur NON authentifié devrait avoir accès à la page /about'); $this->get('/'); $this->assertRedirect('/users/login', 'Un utilisateur NON authentifié devrait etre redirigé sur la page de login'); } /** * Test login method * * @return void */ public function testUser20LoginAsSuper() { //////$this->post('/users/login', ['ldap' => 'user1_SUPER', 'password' => 'test']); $this->post('/users/login', ['ldap' => 'u1SUPER', 'password' => 'test']); //$this->assertRedirect('/pages/home', 'Un utilisateur privilégié devrait pouvoir se loguer'); $this->assertRedirect('/', 'Un utilisateur privilégié devrait pouvoir se loguer'); } public function testUser21LoginAsUser() { ///////$this->post('/users/login', ['ldap' => 'user5_USER', 'password' => 'test']); $this->post('/users/login', ['ldap' => 'u5USER', 'password' => 'test']); //$this->assertRedirect('/pages/home', 'Un utilisateur non privilégié devrait pouvoir se loguer'); $this->assertRedirect('/', 'Un utilisateur non privilégié devrait pouvoir se loguer'); } /** * Test logout method * TODO: ca marche pas, impossible de simuler un vrai logout, l'utilisateur est toujours connecté !!! * * @return void */ public function TODOtestUser30Logout() { //$this->authUser(); $this->authSuperAdmin(); $this->get('/pages/home'); //$this->assertSession(1, 'Auth.User.id'); // Check user is logged in $this->assertSession('user1_SUPER', 'Auth.User.cn.0'); // Check user is logged in $this->assertSession(['SUPER'], 'Auth.User.sn'); // Check user is logged in $this->get('/users/logout'); $this->assertSession(null, 'Auth.User'); // Check user is logged out //unset($this->session); //$this->assertRedirect('/pages/home', 'Un utilisateur devrait pouvoir se déloguer'); //$this->get('/pages/home'); $this->assertRedirect('/users/login', 'Un utilisateur devrait pouvoir se déloguer et ainsi revenir sur la page login'); //$this->assertRedirect(['controller' => 'Users', 'action' => 'login']); $this->get('/materiels'); $this->assertResponseNotContains('Liste des', 'On devrait normalement etre dé-logué !!! or on ne l\'est pas'); } /** * Test add method * * @return void */ public function testAdd() { //$this->authUser(); $this->authSuperAdmin(); $data = [ 'id' => 6, ////'nom' => 'Test3 Test4', 'nom' => 'SUPER testAdd', /////'username' => 'testo', 'username' => 'taddSUPER', 'password' => 'test', /////'email' => 'testo@test.fr', 'email' => 'testAdd.SUPER@test.fr', 'role' => 'Super Administrateur', 'groupes_metier_id' => 1, 'groupes_thematique_id' => 1, 'sur_categorie_id' => 1 ]; $this->post('/users/add', $data); $this->get('/users/view/6'); //$this->assertResponseContains('Test3 Test4', 'L\'ajout d\'un utilisateur ne fonctionne pas correctement'); /////$this->assertResponseContains('testAdd SUPER', 'L\'ajout d\'un utilisateur ne fonctionne pas correctement'); $this->assertResponseContains('SUPER testAdd', 'L\'ajout d\'un utilisateur ne fonctionne pas correctement'); } /** * Test (automatique) de (presque) TOUTES les actions de CE controleur * * @return void * * @dataProvider dataProviderActionsAndRoles4 */ public function testAuthorizationsForAllActionsOnUsers($action, $role_short, $role_long) { /* $entities_name = $this->getEntitiesName(); debug($entities_name); $nb = TableRegistry::getTableLocator()->get($entities_name)->find()->count(); //$nb = $this->getNbEntitiesInFixture(); debug("nb is $nb"); $nb = $this->getNbEntitiesInFixture(); debug("nb is $nb"); */ // call parent General $this->_testAuthorizationsForAllControllerActions($action, $role_short, $role_long); } }