Как часть API, который я создаю, есть метод аутентификации пользователя, который в случае успеха возвращает полезную информацию о пользователе, токен API и т. д.
При написании функциональных тестов для контроллера, который обрабатывает это, я столкнулся с проблемой тестирования HTTP Basic auth; Я нашел множество блогов, в которых упоминается следующий код, который следует использовать для подмены заголовков при попытке аутентификации:
@request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials(email, pass)
Проблема в том, что это не имеет никакого эффекта; authenticate_with_http_basic
не видит заголовков и поэтому возвращает false даже при наличии действительных учетных данных.
Я что-то упускаю?
Обратите внимание, что приложение заморожено до Rails 2.2.2, если это полезно при ответе.