Testen von HTTP Basic Auth in Rails 2.2+

Als Teil einer von mir erstellten API gibt es eine Benutzerauthentifizierungsmethode, die bei Erfolg eine Nutzlast nützlicher Benutzerinformationen, API-Token usw. zurückgibt.

Beim Schreiben von Funktionstests für den Controller, der dies erledigt, stelle ich ein Problem beim Testen der HTTP-Basisauthentifizierung fest. Ich habe zahlreiche Blogs gefunden, die erwähnen, dass der folgende Code verwendet werden sollte, um Header für einen Authentifizierungsversuch zu fälschen:

@request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials(email, pass)

Das Problem ist, dass dies keine Auswirkungen hat;authenticate_with_http_basic sieht die Header nicht und gibt daher auch bei gültigen Anmeldeinformationen false zurück.

Vermisse ich etwas?

Beachten Sie, dass die App für Rails 2.2.2 eingefroren ist, wenn dies für die Beantwortung hilfreich ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage