我有一个digest auth设置,就像sinatrarb网站上的例子一样。
#config.ru
require './main'
app = Rack::Auth::Digest::MD5.new(Sinatra::Application) do |username|
{'foo' => 'bar'}[username]
end
app.realm = 'Protected Area'
app.opaque = 'secretkey'
run app
我想知道是否有人知道如何或可以指向我指导这个。 感谢。
答案 0 :(得分:4)
Sinatra FAQ有一个使用Test :: Unit和Basic Auth的例子。我从来没有将RSpec与Sinatra一起使用,但是从Test :: Unit中翻译这个例子应该很容易。
即使示例使用Basic Auth,Digest Auth也可以采用相同的方式进行测试。唯一的区别是你需要使用Rack :: Test的digest_authorize方法。例如,FAQ中的最后一个测试将成为:
def test_with_proper_credentials
digest_authorize 'admin', 'admin'
get '/protected'
assert_equal 200, last_response.status
assert_equal "You're welcome", last_response.body
end