jueves, 15 de marzo de 2012

Autentificación con Symfony2 y PHPUnit

Al momento de hacer pruebas es bastante mas comodo hacer la autentificación mediante HTTP basic que manejando los formularios con el crawler de Symfony2 (que por cierto me da bastantes problemas). Para poder iniciar sesion con los datos de un usuario en las pruebas, tenemos que agregar al fichero config_test.yml lo siguiente:

 security:  
   firewalls:  
     main:  
       pattern:  /.*  
       http_basic:  
         realm: "Secured Area"  
         provider: fos_userbundle  
       logout:   true  
       security:  true  
       stateless: true  
       anonymous: true  

En mi caso uso FOSUB como proveedor de usuarios, si se usa otro proveedor obviamente habria que cambiarlo.

Y finalmente en las las pruebas hay que crear el cliente como se indica en la documentación de Symfony.

 $client = static::createClient(array(), array(  
   'PHP_AUTH_USER' => 'username',  
   'PHP_AUTH_PW'  => 'pa$$word',  
 ));  

Algo bastante sencillo para los dolores de cabeza que me dio.

No hay comentarios:

Publicar un comentario