Sono nuovo di laravel. Sto provando a verificare che l'autenticazione funzioni per il mio sito Web e voglio testare il processo di autenticazione in un caso di test. Creo un database sqlite in memoria, creo un nuovo utente e utilizzo il metodo ->save()
di eloquente per archiviarlo nel database. Ho installato un filtro di autenticazione che controlla per il nome utente nel database e, a seconda che esso sia permette all'utente di effettuare il login o ritorna "credenziali non valide"test di filtri in laravel 4
// mio file UserTest.php:
class UserTest extends TestCase {
public function testUsernameIsNotRequired()
{
// Create a new User
$user = new User;
$user->username = "[email protected]";
$user->password = "123456";
//$user->password_confirmation = "password";
// User should save
$this->assertTrue($user->save());
// Save the errors
$password = $user->getAuthPassword();
// There should be 0 error
$this->assertEquals("123456",$password);
$this->seed();
$this->be($user);
$this->assertTrue(Redirect::route('authFilter'));
}
}
solo per farti sapere che il db in memoria viene perso una volta che il test è completo, poiché tutte le connessioni sono andate perse, quindi voglio verificare che l'utente che ho salvato nel mio db sia inserito correttamente e in secondo luogo voglio controllare se Posso accedere al mio sito web usando le informazioni di questo nuovo utente.
// mio file filters.php:
Route::filter('auth', function()
{
if (Auth::guest()) return Redirect::guest('login');
});
Route::filter('auth.basic', function()
{
return Auth::basic('username');
});
Route::filter('guest', function()
{
if (Auth::check()) return Redirect::to('/');
});
Route::filter('csrf', function()
{
if (Session::token() != Input::get('_token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});
stavo cercando di collegare un filtro a un percorso in modo che io possa reindirizzare il percorso durante la mia prova e che chiama il filtro auth.basic così ho può testare il mio filtro, so che sto facendo un sacco di cose sbagliate in modo non esitate a correggere eventuali errori che si incontrerete
mio file routes.php:>
Route::get('/', function()
{
return View::make('hello');
});
Route::get('/authtest', array('as'=>'/authtest','before' => 'auth.basic', function()
{
return View::make('hello');
}));
Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function()
{
Route::resource('url', 'UrlController');
});
Route::get('authFilter', array('as'=>'authFilter','before' => 'auth.basic', function()
{
return Auth::basic('username');
}));
ho anche au regolatore RI che ha tutte le pagine del mio sito web
this è quello che ho seguito per creare il mio controller uri per il momento
Ho bisogno di un banco di prova che crea un utente lo memorizza nel database in memoria e poi si autentica utilizzando le informazioni degli utenti. Se qualcuno conosce i test di laravel per i filtri, per favore fatemi sapere che ho cercato la documentazione per testare i filtri, ma suppongo che non sia ben documentata.
ringraziamento
quali errori si ottengono? –
F Tempo: 0 secondi, Memoria: 13.00Mb C'era 1 fallimento: 1) UserTest :: testUsernameIsNotRequired affermando Impossibile che illuminano \ Http \ RedirectResponse Object ( 'richiesta' => Illuminate \ Http \ Object Request ( ........ GUASTI! Test: 1, Asserzioni: 3, Errori: 1. – tanzeelrana