Тестирование HTTP Basic Auth в Rails 2.2+
В качестве части 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, если это полезно при ответе.