test/test_rack_cerberus.rb in rack-cerberus-1.1.1 vs test/test_rack_cerberus.rb in rack-cerberus-1.1.2
- old
+ new
@@ -9,31 +9,32 @@
include Rack::Test::Methods
def secret_app
lambda {|env|
+ req = Rack::Request.new env
[
200,
{'Content-Type'=>'text/plain'},
- "#{env['REQUEST_METHOD']} #{env['rack.session'].inspect}"
+ ["#{env['REQUEST_METHOD']} #{req.fullpath} #{env['rack.session'].inspect}"]
]
}
end
def cerberus_app cerberus_options={}
Rack::Cerberus.new(secret_app, cerberus_options) do |login,pass|
[login,pass]==['mario@nintendo.com','bros']
- end
+ end.freeze
end
def mounted_app mount_path='/', cerberus_options={}
Rack::URLMap.new({
mount_path => Rack::Session::Cookie.new(cerberus_app(cerberus_options), {secret: '42'})
})
end
- def app; @app; end
+ def app; Rack::Lint.new(@app); end
def body
last_response.body
end
@@ -99,14 +100,15 @@
get '/', correct_logins
assert_equal 200, last_response.status
end
def test_calls_final_page_with_original_method
- get '/'
+ get '/foo/bar?var=1'
assert_match 'name="_method" value="GET"', body
- post '/', correct_logins.merge({'_method'=>'GET'})
- assert_match /^GET/, body
+ assert_match 'action="/foo/bar?var=1"', body
+ post '/foo/bar?var=1', correct_logins.merge({'_method'=>'GET'})
+ assert body.start_with?('GET /foo/bar?var=1 ')
end
def test_stay_authorized_once_logged
get '/', correct_logins
get '/'
@@ -153,25 +155,25 @@
def test_forgot_password_uri_when_logins_provided
@app = mounted_app '/', forgot_password_uri: '/forgot-password'
post '/', wrong_logins
assert_equal 401, last_response.status
- assert_match /form action="\/forgot-password" method="post"/, body
- assert_match /type="hidden" name="cerberus_login" value="fake_login"/, body
+ assert_match(/form action="\/forgot-password" method="post"/, body)
+ assert_match(/type="hidden" name="cerberus_login" value="fake_login"/, body)
end
def test_forgot_password_uri_when_logins_not_provided
@app = mounted_app '/', forgot_password_uri: '/forgot-password'
post '/'
assert_equal 401, last_response.status
- refute_match /form action="\/forgot-password" method="post"/, body
- refute_match /type="hidden" name="cerberus_login" value="fake_login"/, body
+ refute_match(/form action="\/forgot-password" method="post"/, body)
+ refute_match(/type="hidden" name="cerberus_login" value="fake_login"/, body)
end
def test_no_forgot_password_form_when_no_uri
post '/', wrong_logins
assert_equal 401, last_response.status
- refute_match /form action="\/forgot-password" method="post"/, body
+ refute_match(/form action="\/forgot-password" method="post"/, body)
end
def test_forgot_password_submitted_info_is_html_escaped
@app = mounted_app '/', forgot_password_uri: '/forgot-password'
post('/', {