2013-02-25 6 views
5

Ich habe einige Schienen-Controller, die authenticate_or_request_with_http_basic verwenden - wie kann ich den Benutzer/pass in meinem RSPEC-Beispiele festlegen?Wie kann ich Basic Auth in meinen RSPC Controller Beispielen testen?

Ich bin überrascht, dass ich das anderswo im Web nicht finden konnte, also verwende ich vielleicht die falschen Begriffe? - Ich fand einige sehr alte Dinge, oder was mir wie sehr komplizierte Dinge vorkommt. An diesem Punkt scheint rspec entweder direkte Unterstützung oder eine saubere idiomatische Lösung zu haben.

+1

Haben Sie diesen gesehen? http://stackoverflow.com/questions/8013770/solved-rspec-rails-3-1-integration-test-how-to-send-post-request-headers-for – zetetic

+0

danke! das hat mich dazu gebracht, einen einfacheren Weg zu finden ... –

Antwort

6

das funktioniert. danke @zetetic zeigt mir in die richtige richtung

before do 
    @request.env["HTTP_AUTHORIZATION"] = "Basic " + Base64::encode64("username:password") 
end 
+0

Verwendung der String-Interpolation: '@ request.env ['HTTP_AUTHORIZATION'] =" Basis # {Base64 :: encode64 ('Benutzername: Passwort')} "' – swrobel