Я новичок в laravel. Я пытаюсь проверить, что проверка подлинности работает на моем сайте, и я хочу протестировать процесс аутентификации в тестовом примере. Я создаю базу данных sqlite в памяти, создаю нового пользователя и использую метод eloquent ->save()
для его сохранения в базе данных. Я имею установку фильтра аутентификации, который проверяет имя пользователя в базе данных и в зависимости от того, что он либо позволяет пользователю войти в систему или возвращает «недействительны»испытательные фильтры в laravel 4
// мой 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'));
}
}
просто чтобы вы знали, что бит памяти в памяти теряется после завершения теста, так как все соединения с ним потеряны, поэтому я хочу проверить, правильно ли вставлен пользователь, который я сохранил на своем db, а во-вторых, я хочу проверить, Я могу войти на свой сайт, используя информацию этого нового пользователя.
// мой файл 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;
}
});
Я пытался прикрепить фильтр к маршруту, так что я могу перенаправить на маршрут во время моего испытания и вызывает auth.basic фильтр, так что я может проверить мой фильтр, я знаю, что Я делаю много вещей неправильно поэтому, пожалуйста, не стесняйтесь, чтобы исправить любые ошибки, которые вы встретишь
мой файл 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');
}));
у меня также есть а.е. ри контроллер, который имеет все страницы на моем сайте
this, что я следовал, чтобы создать свой Uri контроллер на данный момент
мне нужен тест, который создает пользователя сохраняет его в базу данных в оперативной памяти, а затем аутентифицирует эту информацию пользователей. Если кто-либо знает тестирование laravel для фильтров, пожалуйста, дайте мне знать. Я просмотрел документацию для тестирования фильтров, но, я думаю, это плохо документировано.
спасибо
какие ошибки вы получаете? –
F Время: 0 секунд, Память: 13.00Mb Был 1 неудача: 1) UserTest :: testUsernameIsNotRequired Failed утверждая, что Осветите \ Http \ RedirectResponse Object ( 'запрос' => Осветите \ Http \ Request Object ( ........ FAILURES! Тесты: 1, Утверждения: 3, Неудачи: 1. – tanzeelrana