mongrel2 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/.gemtest +0 -0
- data/History.rdoc +4 -0
- data/Manifest.txt +66 -0
- data/README.rdoc +169 -0
- data/Rakefile +77 -0
- data/bin/m2sh.rb +600 -0
- data/data/mongrel2/bootstrap.html +25 -0
- data/data/mongrel2/config.sql +84 -0
- data/data/mongrel2/mimetypes.sql +855 -0
- data/examples/README.txt +6 -0
- data/examples/config.rb +54 -0
- data/examples/helloworld-handler.rb +31 -0
- data/examples/request-dumper.rb +45 -0
- data/examples/request-dumper.tmpl +71 -0
- data/examples/run +17 -0
- data/lib/mongrel2.rb +62 -0
- data/lib/mongrel2/config.rb +212 -0
- data/lib/mongrel2/config/directory.rb +78 -0
- data/lib/mongrel2/config/dsl.rb +206 -0
- data/lib/mongrel2/config/handler.rb +124 -0
- data/lib/mongrel2/config/host.rb +88 -0
- data/lib/mongrel2/config/log.rb +48 -0
- data/lib/mongrel2/config/mimetype.rb +15 -0
- data/lib/mongrel2/config/proxy.rb +15 -0
- data/lib/mongrel2/config/route.rb +51 -0
- data/lib/mongrel2/config/server.rb +58 -0
- data/lib/mongrel2/config/setting.rb +15 -0
- data/lib/mongrel2/config/statistic.rb +23 -0
- data/lib/mongrel2/connection.rb +212 -0
- data/lib/mongrel2/constants.rb +159 -0
- data/lib/mongrel2/control.rb +165 -0
- data/lib/mongrel2/exceptions.rb +59 -0
- data/lib/mongrel2/handler.rb +309 -0
- data/lib/mongrel2/httprequest.rb +51 -0
- data/lib/mongrel2/httpresponse.rb +187 -0
- data/lib/mongrel2/jsonrequest.rb +43 -0
- data/lib/mongrel2/logging.rb +241 -0
- data/lib/mongrel2/mixins.rb +143 -0
- data/lib/mongrel2/request.rb +148 -0
- data/lib/mongrel2/response.rb +74 -0
- data/lib/mongrel2/table.rb +216 -0
- data/lib/mongrel2/xmlrequest.rb +36 -0
- data/spec/lib/constants.rb +237 -0
- data/spec/lib/helpers.rb +246 -0
- data/spec/lib/matchers.rb +50 -0
- data/spec/mongrel2/config/directory_spec.rb +91 -0
- data/spec/mongrel2/config/dsl_spec.rb +218 -0
- data/spec/mongrel2/config/handler_spec.rb +118 -0
- data/spec/mongrel2/config/host_spec.rb +30 -0
- data/spec/mongrel2/config/log_spec.rb +95 -0
- data/spec/mongrel2/config/proxy_spec.rb +30 -0
- data/spec/mongrel2/config/route_spec.rb +83 -0
- data/spec/mongrel2/config/server_spec.rb +84 -0
- data/spec/mongrel2/config/setting_spec.rb +30 -0
- data/spec/mongrel2/config/statistic_spec.rb +30 -0
- data/spec/mongrel2/config_spec.rb +111 -0
- data/spec/mongrel2/connection_spec.rb +172 -0
- data/spec/mongrel2/constants_spec.rb +32 -0
- data/spec/mongrel2/control_spec.rb +192 -0
- data/spec/mongrel2/handler_spec.rb +261 -0
- data/spec/mongrel2/httpresponse_spec.rb +232 -0
- data/spec/mongrel2/logging_spec.rb +76 -0
- data/spec/mongrel2/mixins_spec.rb +62 -0
- data/spec/mongrel2/request_spec.rb +157 -0
- data/spec/mongrel2/response_spec.rb +81 -0
- data/spec/mongrel2/table_spec.rb +176 -0
- data/spec/mongrel2_spec.rb +34 -0
- metadata +294 -0
- metadata.gz.sig +0 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'mongrel2'
|
18
|
+
require 'mongrel2/config'
|
19
|
+
|
20
|
+
|
21
|
+
#####################################################################
|
22
|
+
### C O N T E X T S
|
23
|
+
#####################################################################
|
24
|
+
|
25
|
+
describe Mongrel2::Config::Host do
|
26
|
+
|
27
|
+
# No functionality outside of Sequel::Model's purview yet
|
28
|
+
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,95 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'socket'
|
14
|
+
require 'rspec'
|
15
|
+
|
16
|
+
require 'spec/lib/constants'
|
17
|
+
require 'spec/lib/helpers'
|
18
|
+
|
19
|
+
require 'mongrel2'
|
20
|
+
require 'mongrel2/config'
|
21
|
+
|
22
|
+
|
23
|
+
#####################################################################
|
24
|
+
### C O N T E X T S
|
25
|
+
#####################################################################
|
26
|
+
|
27
|
+
describe Mongrel2::Config::Log do
|
28
|
+
|
29
|
+
before( :all ) do
|
30
|
+
setup_logging( :fatal )
|
31
|
+
setup_config_db()
|
32
|
+
end
|
33
|
+
|
34
|
+
after( :all ) do
|
35
|
+
reset_logging()
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
it "has a convenience method for writing to the commit log" do
|
40
|
+
what = 'load etc/mongrel2.conf'
|
41
|
+
why = 'updating'
|
42
|
+
where = 'localhost'
|
43
|
+
how = 'm2sh'
|
44
|
+
|
45
|
+
log = Mongrel2::Config::Log.log_action( what, why, where, how )
|
46
|
+
|
47
|
+
log.what.should == what
|
48
|
+
log.why.should == why
|
49
|
+
log.location.should == where
|
50
|
+
log.how.should == how
|
51
|
+
end
|
52
|
+
|
53
|
+
it "has reasonable defaults for 'where' and 'how'" do
|
54
|
+
what = 'load etc/mongrel2.conf'
|
55
|
+
why = 'updating'
|
56
|
+
|
57
|
+
log = Mongrel2::Config::Log.log_action( what, why )
|
58
|
+
|
59
|
+
log.location.should == Socket.gethostname
|
60
|
+
log.how.should == File.basename( $0 )
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "an entry" do
|
64
|
+
|
65
|
+
before( :each ) do
|
66
|
+
@log = Mongrel2::Config::Log.new(
|
67
|
+
who: 'who',
|
68
|
+
what: 'what',
|
69
|
+
location: 'location',
|
70
|
+
happened_at: Time.at( 1315598592 ),
|
71
|
+
how: 'how',
|
72
|
+
why: 'why'
|
73
|
+
)
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
it "stringifies as a readable log file line" do
|
78
|
+
|
79
|
+
# 2011-09-09 20:29:47 -0700 [mgranger] @localhost m2sh: load etc/mongrel2.conf (updating)
|
80
|
+
@log.to_s.should =~ %r{
|
81
|
+
^
|
82
|
+
(?-x:\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [\+\-]\d{4} )
|
83
|
+
\[who\] \s
|
84
|
+
@location \s
|
85
|
+
how: \s
|
86
|
+
what \s
|
87
|
+
\(why\)
|
88
|
+
$
|
89
|
+
}x
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
95
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'mongrel2'
|
18
|
+
require 'mongrel2/config'
|
19
|
+
|
20
|
+
|
21
|
+
#####################################################################
|
22
|
+
### C O N T E X T S
|
23
|
+
#####################################################################
|
24
|
+
|
25
|
+
describe Mongrel2::Config::Proxy do
|
26
|
+
|
27
|
+
# No functionality outside of Sequel::Model's purview yet
|
28
|
+
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,83 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'mongrel2'
|
18
|
+
require 'mongrel2/config'
|
19
|
+
|
20
|
+
|
21
|
+
#####################################################################
|
22
|
+
### C O N T E X T S
|
23
|
+
#####################################################################
|
24
|
+
|
25
|
+
describe Mongrel2::Config::Route do
|
26
|
+
|
27
|
+
before( :all ) do
|
28
|
+
setup_logging()
|
29
|
+
Mongrel2::Config.configure( :configdb => ':memory:' )
|
30
|
+
Mongrel2::Config.init_database
|
31
|
+
end
|
32
|
+
|
33
|
+
before( :each ) do
|
34
|
+
@route = Mongrel2::Config::Route.new( :path => '' )
|
35
|
+
end
|
36
|
+
|
37
|
+
after( :all ) do
|
38
|
+
reset_logging()
|
39
|
+
end
|
40
|
+
|
41
|
+
it "returns a Mongrel2::Config::Directory if its target_type is 'dir'" do
|
42
|
+
dir = Mongrel2::Config::Directory.create(
|
43
|
+
:base => 'var/www/',
|
44
|
+
:default_ctype => 'text/plain',
|
45
|
+
:index_file => 'index.html' )
|
46
|
+
|
47
|
+
@route.target_type = 'dir'
|
48
|
+
@route.target_id = dir.id
|
49
|
+
|
50
|
+
@route.target.should == dir
|
51
|
+
end
|
52
|
+
|
53
|
+
it "returns a Mongrel2::Config::Proxy if its target_type is 'proxy'" do
|
54
|
+
proxy = Mongrel2::Config::Proxy.create( :addr => '10.2.18.8' )
|
55
|
+
|
56
|
+
@route.target_type = 'proxy'
|
57
|
+
@route.target_id = proxy.id
|
58
|
+
|
59
|
+
@route.target.should == proxy
|
60
|
+
end
|
61
|
+
|
62
|
+
it "returns a Mongrel2::Config::Handler if its target_type is 'handler'" do
|
63
|
+
handler = Mongrel2::Config::Handler.create(
|
64
|
+
:send_ident => TEST_UUID,
|
65
|
+
:send_spec => 'tcp://127.0.0.1:9998',
|
66
|
+
:recv_spec => 'tcp://127.0.0.1:9997' )
|
67
|
+
|
68
|
+
@route.target_type = 'handler'
|
69
|
+
@route.target_id = handler.id
|
70
|
+
|
71
|
+
@route.target.should == handler
|
72
|
+
end
|
73
|
+
|
74
|
+
it "raises an exception if its target_type is set to something invalid" do
|
75
|
+
@route.target_type = 'giraffes'
|
76
|
+
|
77
|
+
expect {
|
78
|
+
@route.target
|
79
|
+
}.to raise_error( ArgumentError, /unknown target type/i )
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
|
@@ -0,0 +1,84 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'mongrel2'
|
18
|
+
require 'mongrel2/config'
|
19
|
+
|
20
|
+
|
21
|
+
#####################################################################
|
22
|
+
### C O N T E X T S
|
23
|
+
#####################################################################
|
24
|
+
|
25
|
+
describe Mongrel2::Config::Server do
|
26
|
+
|
27
|
+
before( :all ) do
|
28
|
+
setup_logging( :fatal )
|
29
|
+
setup_config_db()
|
30
|
+
end
|
31
|
+
|
32
|
+
before( :each ) do
|
33
|
+
@server = Mongrel2::Config::Server.new(
|
34
|
+
uuid: TEST_UUID,
|
35
|
+
access_log: '/logs/access.log',
|
36
|
+
error_log: '/logs/error.log',
|
37
|
+
pid_file: '/run/mongrel2.pid',
|
38
|
+
default_host: 'localhost',
|
39
|
+
port: 8118
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
after( :all ) do
|
44
|
+
reset_logging()
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
it "is valid if its access_log, error_log, pid_file, default_host, and port are all valid" do
|
49
|
+
@server.should be_valid()
|
50
|
+
end
|
51
|
+
|
52
|
+
it "isn't valid if it doesn't have an access_log path" do
|
53
|
+
@server.access_log = nil
|
54
|
+
@server.should_not be_valid()
|
55
|
+
@server.errors.full_messages.first.should =~ /missing or nil/i
|
56
|
+
end
|
57
|
+
|
58
|
+
it "isn't valid if it doesn't have an error_log path" do
|
59
|
+
@server.error_log = nil
|
60
|
+
@server.should_not be_valid()
|
61
|
+
@server.errors.full_messages.first.should =~ /missing or nil/i
|
62
|
+
end
|
63
|
+
|
64
|
+
it "isn't valid if it doesn't have an pid_file path" do
|
65
|
+
@server.pid_file = nil
|
66
|
+
@server.should_not be_valid()
|
67
|
+
@server.errors.full_messages.first.should =~ /missing or nil/i
|
68
|
+
end
|
69
|
+
|
70
|
+
it "isn't valid if it doesn't have a default_host" do
|
71
|
+
@server.default_host = nil
|
72
|
+
@server.should_not be_valid()
|
73
|
+
@server.errors.full_messages.first.should =~ /missing or nil/i
|
74
|
+
end
|
75
|
+
|
76
|
+
it "isn't valid if it doesn't specify a port" do
|
77
|
+
@server.port = nil
|
78
|
+
@server.should_not be_valid()
|
79
|
+
@server.errors.full_messages.first.should =~ /missing or nil/i
|
80
|
+
end
|
81
|
+
|
82
|
+
|
83
|
+
end
|
84
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'mongrel2'
|
18
|
+
require 'mongrel2/config'
|
19
|
+
|
20
|
+
|
21
|
+
#####################################################################
|
22
|
+
### C O N T E X T S
|
23
|
+
#####################################################################
|
24
|
+
|
25
|
+
describe Mongrel2::Config::Setting do
|
26
|
+
|
27
|
+
# No functionality outside of Sequel::Model's purview yet
|
28
|
+
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'mongrel2'
|
18
|
+
require 'mongrel2/config'
|
19
|
+
|
20
|
+
|
21
|
+
#####################################################################
|
22
|
+
### C O N T E X T S
|
23
|
+
#####################################################################
|
24
|
+
|
25
|
+
describe Mongrel2::Config::Statistic do
|
26
|
+
|
27
|
+
# No functionality outside of Sequel::Model's purview yet
|
28
|
+
|
29
|
+
end
|
30
|
+
|
@@ -0,0 +1,111 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
|
10
|
+
$LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
require 'spec/lib/helpers'
|
16
|
+
|
17
|
+
require 'mongrel2'
|
18
|
+
require 'mongrel2/config'
|
19
|
+
|
20
|
+
|
21
|
+
#####################################################################
|
22
|
+
### C O N T E X T S
|
23
|
+
#####################################################################
|
24
|
+
|
25
|
+
describe Mongrel2::Config do
|
26
|
+
|
27
|
+
before( :all ) do
|
28
|
+
setup_logging()
|
29
|
+
setup_config_db()
|
30
|
+
end
|
31
|
+
|
32
|
+
after( :all ) do
|
33
|
+
reset_logging()
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
it "has a factory method for creating derivative classes" do
|
38
|
+
begin
|
39
|
+
model_class = Mongrel2::Config( :hookers )
|
40
|
+
model_class.should < Mongrel2::Config
|
41
|
+
model_class.dataset.first_source.should == :hookers
|
42
|
+
ensure
|
43
|
+
# Remove the example class from the list of subclasses so it
|
44
|
+
# doesn't affect later tests
|
45
|
+
Mongrel2::Config.subclasses.delete( model_class ) if model_class
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
it "can reset the database handle for the config classes" do
|
50
|
+
db = Mongrel2::Config.in_memory_db
|
51
|
+
Mongrel2::Config.db = db
|
52
|
+
Mongrel2::Config::Directory.db.should equal( db )
|
53
|
+
end
|
54
|
+
|
55
|
+
it "has a convenience method for fetching an Array of all of its configured servers" do
|
56
|
+
Mongrel2::Config.init_database
|
57
|
+
Mongrel2::Config::Server.dataset.truncate
|
58
|
+
s = Mongrel2::Config::Server.create(
|
59
|
+
uuid: TEST_UUID,
|
60
|
+
access_log: '/log/access.log',
|
61
|
+
error_log: '/log/error.log',
|
62
|
+
pid_file: '/run/m2.pid',
|
63
|
+
default_host: 'localhost',
|
64
|
+
port: 8275
|
65
|
+
)
|
66
|
+
Mongrel2::Config.servers.should have( 1 ).member
|
67
|
+
Mongrel2::Config.servers.first.uuid.should == TEST_UUID
|
68
|
+
end
|
69
|
+
|
70
|
+
it "can read the configuration schema from a data file" do
|
71
|
+
Mongrel2::Config.load_config_schema.should =~ /create table server/i
|
72
|
+
end
|
73
|
+
|
74
|
+
it "knows whether or not its database has been initialized" do
|
75
|
+
Mongrel2::Config.db = Mongrel2::Config.in_memory_db
|
76
|
+
Mongrel2::Config.database_initialized?.should be_false()
|
77
|
+
Mongrel2::Config.init_database!
|
78
|
+
Mongrel2::Config.database_initialized?.should be_true()
|
79
|
+
end
|
80
|
+
|
81
|
+
it "doesn't re-initialize the database if the non-bang version of init_database is used" do
|
82
|
+
Mongrel2::Config.db = Mongrel2::Config.in_memory_db
|
83
|
+
Mongrel2::Config.init_database
|
84
|
+
|
85
|
+
Mongrel2::Config.should_not_receive( :load_config_schema )
|
86
|
+
Mongrel2::Config.init_database
|
87
|
+
end
|
88
|
+
|
89
|
+
it "can return the path to the config DB as a Pathname if it's pointing at a file" do
|
90
|
+
Mongrel2::Config.db = Mongrel2::Config.adapter_method[ 'config-spec.sqlite' ]
|
91
|
+
Mongrel2::Config.pathname.should == Pathname( 'config-spec.sqlite' )
|
92
|
+
end
|
93
|
+
|
94
|
+
it "returns nil if asked for the pathname to an in-memory database" do
|
95
|
+
Mongrel2::Config.db = Mongrel2::Config.in_memory_db
|
96
|
+
Mongrel2::Config.pathname.should be_nil()
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "Configurability support", :if => defined?( Configurability ) do
|
100
|
+
require 'configurability/behavior'
|
101
|
+
|
102
|
+
it_should_behave_like "an object with Configurability"
|
103
|
+
|
104
|
+
it "uses the 'mongrel2' config section" do
|
105
|
+
Mongrel2::Config.config_key.should == :mongrel2
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
|
+
|
110
|
+
end
|
111
|
+
|