Tengo una aplicación que está detrás de un inicio de sesión y utiliza zend_acl y zend_auth.Prueba de unidades PHP con Zend Auth y Zend ACL
Durante el pre-envío tengo un complemento de ACL que crea todas las reglas para la ACL. También tengo un complemento Auth que comprueba si ha iniciado sesión o no y, de ser así, si tiene acceso al recurso solicitado de acuerdo con la ACL.
Como la aplicación es totalmente detrás de una entrada de la ACL sólo se crea si está conectado.
Prueba de la unidad esto parece ser imposible, o más bien es más probable que me falta algo obvio.
En mi método de configuración de prueba unitaria, simulo un inicio de sesión exitoso que devuelve una instancia de zend_auth. Las pruebas que pasan indican que este inicio de sesión fue exitoso.
Sin embargo, si después de las pruebas intento enviar a otra ubicación, o evaluar si el usuario conectado tiene acceso a un recurso determinado, siempre es rechazado por el complemento ya que todavía no están conectados. No estoy seguro de por qué es esto, ¿alguien puede aconsejar?
Por ejemplo, esto pasa:
public function testLoggedIn()
{
$this->assertTrue(Zend_Auth::getInstance()->hasIdentity());
}
Esta falla, ya que es rechazado por el plugin:
public function testUserAccess()
{
$this->dispatch('/home');
$this->assertResponseCode(200);
$this->assertQueryContentContains('#nav_side');
$this->resetRequest()
->resetResponse();
}
Esto, he encontrado todavía parece ser redirigidos a la página de inicio de sesión como los plugins no sé si el usuario está conectado.
Cualquier ayuda muy apreciada.
Sí, gracias ese parece ser el problema. –