2011-06-30 11 views

Respuesta

16

En realidad es bastante simple.

  1. Configuración security.yml de entorno de prueba (es un fragmento de Symfony 2.0 RC3)

    security: 
        encoders: 
         Symfony\Component\Security\Core\User\User: plaintext 
    
        providers: 
         in_memory: 
          users: 
           user: { password: userpass, roles: [ 'ROLE_USER' ] } 
           admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] } 
    
        firewalls: 
         secured-area: 
          pattern: ^/demo/secured/ 
          http_basic: 
           realm: "Secured Demo Area" 
    
  2. Como se puede ver hay autenticación HTTP definido. Así que ahora, todo lo que tiene que hacer es configurar un cliente de prueba funcional:

    $client = static::createClient(array(), array(
        'PHP_AUTH_USER' => 'user', 
        'PHP_AUTH_PW' => 'userpass', 
    )); 
    

Este enlace puede ser útil: http://symfony.com/doc/current/testing.html

+2

Gracias por su respuesta. Sin embargo, quiero que este usuario tenga muchas otras propiedades que se usan en mi aplicación. Por ejemplo, tienen una propiedad $ facebookId. ¿Cómo puedo usar usuarios codificados con propiedades personalizadas? – Reuven

+0

¿Cómo se especifica una configuración de seguridad diferente para el entorno de prueba? Me encantaría poder cambiar mi cusom wsse proviver a básico en la memoria. – greg

+0

@whistlergreg Creo que todo lo que tienes que hacer es anular la definición de 'security' en' config_test.yml/.xml'. – Crozin

Cuestiones relacionadas