more tests for sessions
This commit is contained in:
parent
93d6e1f35a
commit
654eebb054
|
@ -1232,6 +1232,7 @@ module Sinatra
|
|||
# an instance of this class as end point.
|
||||
def build(*args, &bk)
|
||||
builder = Rack::Builder.new
|
||||
setup_sessions builder
|
||||
builder.use Rack::CommonLogger if logging?
|
||||
builder.use Rack::MethodOverride if method_override?
|
||||
builder.use ShowExceptions if show_exceptions?
|
||||
|
|
|
@ -25,6 +25,12 @@ class Sinatra::Base
|
|||
include Test::Unit::Assertions
|
||||
end
|
||||
|
||||
class Rack::Builder
|
||||
def include?(middleware)
|
||||
@ins.any? { |m| p m ; middleware === m }
|
||||
end
|
||||
end
|
||||
|
||||
Sinatra::Base.set :environment, :test
|
||||
|
||||
class Test::Unit::TestCase
|
||||
|
|
|
@ -255,6 +255,35 @@ class HelpersTest < Test::Unit::TestCase
|
|||
follow_redirect!
|
||||
assert_equal 'hi bar', body
|
||||
end
|
||||
|
||||
it 'inserts session middleware' do
|
||||
mock_app do
|
||||
enable :sessions
|
||||
get '/' do
|
||||
assert env['rack.session']
|
||||
assert env['rack.session.options']
|
||||
'ok'
|
||||
end
|
||||
end
|
||||
|
||||
get '/'
|
||||
assert_body 'ok'
|
||||
end
|
||||
|
||||
it 'sets a default session secret' do
|
||||
mock_app do
|
||||
enable :sessions
|
||||
get '/' do
|
||||
secret = env['rack.session.options'][:secret]
|
||||
assert secret
|
||||
assert_equal secret, settings.session_secret
|
||||
'ok'
|
||||
end
|
||||
end
|
||||
|
||||
get '/'
|
||||
assert_body 'ok'
|
||||
end
|
||||
end
|
||||
|
||||
describe 'mime_type' do
|
||||
|
|
Loading…
Reference in New Issue