Ho un'applicazione che si trova dietro un login e utilizza zend_acl e zend_auth.Test dell'unità PHP con Zend Auth e Zend ACL
Durante la pre-spedizione ho un plugin ACL che crea tutte le regole per l'ACL. Ho anche un plugin Auth che controlla se sei loggato o meno e in tal caso se hai accesso alla risorsa richiesta secondo l'ACL.
Poiché l'applicazione è del tutto una procedura di accesso ACL si crea solo se si è registrato in.
Unit testing questo sembra essere impossibile, o meglio, più probabilmente mi manca qualcosa di ovvio.
Nel metodo di installazione test della mia unità, simulo un accesso riuscito che restituisce un'istanza zend_auth. I test che superano indicano che questo login ha avuto successo.
Tuttavia, se attraverso i test provo a inviare in un'altra posizione o se l'utente che ha effettuato l'accesso ha accesso a una determinata risorsa, viene sempre rifiutato dal plug-in in quanto non è ancora connesso. certo perché questo è, qualcuno può consigliare?
Per esempio, questo passa:
public function testLoggedIn()
{
$this->assertTrue(Zend_Auth::getInstance()->hasIdentity());
}
Questo fallisce come è respinta dal plugin:
public function testUserAccess()
{
$this->dispatch('/home');
$this->assertResponseCode(200);
$this->assertQueryContentContains('#nav_side');
$this->resetRequest()
->resetResponse();
}
questo, ho trovato sembra essere ancora il reindirizzamento di nuovo alla pagina di login come i plugin non so che l'utente ha effettuato il login.
Qualsiasi aiuto molto apprezzato.
Sì, grazie che sembra essere il problema. –