3

sinatrarb Web サイトの例のように、ダイジェスト認証をセットアップしました。

#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

誰かが方法を知っているか、これを特定するガイドを教えてくれるかどうか疑問に思っていました. ありがとう。

4

1 に答える 1

4

Sinatra FAQには、Test::Unit と Basic Auth を使用した例があります。Sinatra で RSpec を使用したことはありませんが、Test::Unit の例を簡単に翻訳できるはずです。

この例では Basic 認証を使用していますが、Digest 認証も同じ方法でテストできます。唯一の違いは、代わりに 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
于 2012-07-27T02:48:38.903 に答える