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('/', {