tengine_support 0.3.27 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/Gemfile +3 -20
  2. data/lib/tengine/support/core_ext/enumerable/map_to_hash.rb +20 -0
  3. data/lib/tengine/support/mongoid.rb +59 -0
  4. data/lib/tengine/support/null_logger.rb +1 -1
  5. data/lib/tengine/support.rb +4 -3
  6. metadata +80 -76
  7. data/.document +0 -5
  8. data/.rspec +0 -1
  9. data/.travis.yml +0 -11
  10. data/NULL +0 -1
  11. data/Rakefile +0 -43
  12. data/VERSION +0 -1
  13. data/gemfiles/Gemfile.activesupport-3.0.10 +0 -24
  14. data/gemfiles/Gemfile.activesupport-3.1.1 +0 -24
  15. data/gemfiles/Gemfile.activesupport-3.2.3 +0 -24
  16. data/spec/spec_helper.rb +0 -15
  17. data/spec/support/app1.rb +0 -27
  18. data/spec/support/suite.rb +0 -182
  19. data/spec/tengine/support/config/amqp_spec.rb +0 -32
  20. data/spec/tengine/support/config/logger_spec.rb +0 -316
  21. data/spec/tengine/support/config/mongoid_spec.rb +0 -24
  22. data/spec/tengine/support/config_spec/dump_skelton_spec.rb +0 -171
  23. data/spec/tengine/support/config_spec/load_config_file_by_config_option_spec.rb +0 -94
  24. data/spec/tengine/support/config_spec/load_spec.rb +0 -239
  25. data/spec/tengine/support/config_spec/load_spec_01.yml.erb +0 -43
  26. data/spec/tengine/support/config_spec/load_spec_01_with_other_settings.yml.erb +0 -48
  27. data/spec/tengine/support/config_spec/load_spec_02.yml.erb +0 -52
  28. data/spec/tengine/support/config_spec/parse_spec.rb +0 -178
  29. data/spec/tengine/support/config_spec.rb +0 -217
  30. data/spec/tengine/support/core_ext/array/deep_dup_spec.rb +0 -69
  31. data/spec/tengine/support/core_ext/enumerable/deep_freeze_spec.rb +0 -16
  32. data/spec/tengine/support/core_ext/enumerable/each_next_tick_spec.rb +0 -29
  33. data/spec/tengine/support/core_ext/hash/compact_spec.rb +0 -28
  34. data/spec/tengine/support/core_ext/hash/deep_dup_spec.rb +0 -66
  35. data/spec/tengine/support/core_ext/hash/keys_spec.rb +0 -88
  36. data/spec/tengine/support/mongoid_spec.rb +0 -36
  37. data/spec/tengine/support/null_logger_spec.rb +0 -13
  38. data/spec/tengine/support/yaml_with_erb_spec/test1.yml.erb +0 -2
  39. data/spec/tengine/support/yaml_with_erb_spec/test2_with_erb.yml +0 -2
  40. data/spec/tengine/support/yaml_with_erb_spec/test3_without_erb.yml +0 -2
  41. data/spec/tengine/support/yaml_with_erb_spec/test4_with_invalid_erb.yml +0 -2
  42. data/spec/tengine/support/yaml_with_erb_spec.rb +0 -76
  43. data/tengine_support.gemspec +0 -125
@@ -1,182 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- def build_suite1
3
- Tengine::Support::Config.suite do
4
- banner <<EOS
5
- Usage: config_test [-k action] [-f path_to_config]
6
- [-H db_host] [-P db_port] [-U db_user] [-S db_pass] [-B db_database]
7
-
8
- EOS
9
-
10
- field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start")
11
- load_config(:config, "path/to/config_file", :type => :string)
12
- add(:process, App1::ProcessConfig)
13
- add(:db, Tengine::Support::Config::Mongoid::Connection, :defaults => {:database => "tengine_production"})
14
- group(:event_queue, :hidden => true) do
15
- add(:connection, Tengine::Support::Config::Amqp::Connection)
16
- add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
17
- add(:queue , Tengine::Support::Config::Amqp::Queue , :defaults => {:name => 'tengine_event_queue'})
18
- end
19
- hide_about_rotation = proc do
20
- find(:rotation).hidden = true; find(:rotation_size).hidden = true
21
- end
22
- add(:log_common, Tengine::Support::Config::Logger,
23
- :defaults => {
24
- :rotation => 3 ,
25
- :rotation_size => 1024 * 1024,
26
- :level => 'info' ,
27
- }, &hide_about_rotation)
28
- add(:application_log, App1::LoggerConfig,
29
- :parameters => { :logger_name => "application" },
30
- :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
31
- add(:process_stdout_log, App1::LoggerConfig,
32
- :parameters => { :logger_name => proc{ "#{File.basename(__FILE__, '.*')}_stdout"} },
33
- :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
34
- add(:process_stderr_log, App1::LoggerConfig,
35
- :parameters => { :logger_name => "#{File.basename(__FILE__, '.*')}_stderr" },
36
- :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
37
- ignore(:app2_settings, :app3_settings)
38
- separator("\nGeneral:")
39
- __action__(:version, "show version"){ STDOUT.puts "1.1.1"; exit }
40
- __action__(:dump_skelton, "dump skelton of config"){ STDOUT.puts YAML.dump(root.to_hash); exit }
41
- __action__(:help , "show this help message"){ STDOUT.puts option_parser.help; exit }
42
-
43
- mapping({
44
- [:action] => :k,
45
- [:config] => :f,
46
- [:process, :daemon] => :D,
47
- [:db, :host] => :O,
48
- [:db, :port] => :P,
49
- [:db, :username] => :U,
50
- [:db, :password] => :S,
51
- })
52
- end
53
-
54
- end
55
-
56
- # build_suite1 との違いは、:dbが Tengine::Support::Config::Mongoid::Connectionではなくて、
57
- # 単なるhashのfieldとして定義している点と ignore(:app2_settings, :app3_settings) の定義がない点です。
58
- def build_suite2
59
- Tengine::Support::Config.suite do
60
- banner <<EOS
61
- Usage: config_test [-k action] [-f path_to_config]
62
- [-H db_host] [-P db_port] [-U db_user] [-S db_pass] [-B db_database]
63
-
64
- EOS
65
-
66
- field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start")
67
- load_config(:config, "path/to/config_file", :type => :string)
68
- add(:process, App1::ProcessConfig)
69
- field(:db, "settings to connect to db", :type => :hash, :default => {
70
- :host => 'localhost',
71
- :port => 27017,
72
- :username => nil,
73
- :password => nil,
74
- :database => 'tengine_production',
75
- })
76
- group(:event_queue, :hidden => true) do
77
- add(:connection, Tengine::Support::Config::Amqp::Connection)
78
- add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
79
- add(:queue , Tengine::Support::Config::Amqp::Queue , :defaults => {:name => 'tengine_event_queue'})
80
- end
81
- add(:log_common, Tengine::Support::Config::Logger,
82
- :defaults => {
83
- :rotation => 3 ,
84
- :rotation_size => 1024 * 1024,
85
- :level => 'info' ,
86
- })
87
- add(:application_log, App1::LoggerConfig,
88
- :logger_name => "application",
89
- :dependencies => { :process_config => :process, :log_common => :log_common,})
90
- add(:process_stdout_log, App1::LoggerConfig,
91
- :logger_name => "#{File.basename($PROGRAM_NAME)}_stdout",
92
- :dependencies => { :process_config => :process, :log_common => :log_common,})
93
- add(:process_stderr_log, App1::LoggerConfig,
94
- :logger_name => "#{File.basename($PROGRAM_NAME)}_stderr",
95
- :dependencies => { :process_config => :process, :log_common => :log_common,})
96
- separator("\nGeneral:")
97
- __action__(:version, "show version"){ STDOUT.puts "1.1.1"; exit }
98
- __action__(:dump_skelton, "dump skelton of config"){ STDOUT.puts YAML.dump(root.to_hash); exit }
99
- __action__(:help , "show this help message"){ STDOUT.puts option_parser.help; exit }
100
-
101
- mapping({
102
- [:action] => :k,
103
- [:config] => :f,
104
- [:process, :daemon] => :D,
105
- [:db, :host] => :O,
106
- [:db, :port] => :P,
107
- [:db, :username] => :U,
108
- [:db, :password] => :S,
109
- })
110
- end
111
-
112
- end
113
-
114
-
115
-
116
-
117
- # build_suite2 との違いは、Tengine::Support::Config::Definition::Suiteを直接newするのではなく
118
- # 継承したものをnewしている点です。それ以外は変わりません
119
- def build_suite3(*args)
120
- ConfigSuite3.new(*args)
121
- end
122
-
123
- class ConfigSuite3 < Tengine::Support::Config::Definition::Suite
124
- def build
125
- banner <<EOS
126
- Usage: config_test [-k action] [-f path_to_config]
127
- [-H db_host] [-P db_port] [-U db_user] [-S db_pass] [-B db_database]
128
-
129
- EOS
130
-
131
- field(:action, "test|load|start|enable|stop|force-stop|status|activate", :type => :string, :default => "start")
132
- load_config(:config, "path/to/config_file", :type => :string)
133
- add(:process, App1::ProcessConfig)
134
- # field(:db, "settings to connect to db", :type => :hash,
135
- # :default => {:database => "tengine_production"})
136
- field(:db, "settings to connect to db", :type => :hash, :default => {
137
- :host => 'localhost',
138
- :port => 27017,
139
- :username => nil,
140
- :password => nil,
141
- :database => 'tengine_production',
142
- })
143
- group(:event_queue, :hidden => true) do
144
- add(:connection, Tengine::Support::Config::Amqp::Connection)
145
- add(:exchange , Tengine::Support::Config::Amqp::Exchange, :defaults => {:name => 'tengine_event_exchange'})
146
- add(:queue , Tengine::Support::Config::Amqp::Queue , :defaults => {:name => 'tengine_event_queue'})
147
- end
148
- hide_about_rotation = proc do
149
- find(:rotation).hidden = true; find(:rotation_size).hidden = true
150
- end
151
- add(:log_common, Tengine::Support::Config::Logger,
152
- :defaults => {
153
- :rotation => 3 ,
154
- :rotation_size => 1024 * 1024,
155
- :level => 'info' ,
156
- }, &hide_about_rotation)
157
- add(:application_log, App1::LoggerConfig,
158
- :logger_name => "application",
159
- :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
160
- add(:process_stdout_log, App1::LoggerConfig,
161
- :logger_name => "#{File.basename($PROGRAM_NAME)}_stdout",
162
- :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
163
- add(:process_stderr_log, App1::LoggerConfig,
164
- :logger_name => "#{File.basename($PROGRAM_NAME)}_stderr",
165
- :dependencies => { :process_config => :process, :log_common => :log_common,}, &hide_about_rotation)
166
- separator("\nGeneral:")
167
- __action__(:version, "show version"){ STDOUT.puts "1.1.1"; exit }
168
- __action__(:dump_skelton, "dump skelton of config"){ STDOUT.puts YAML.dump(root.to_hash); exit }
169
- __action__(:help , "show this help message"){ STDOUT.puts option_parser.help; exit }
170
-
171
- mapping({
172
- [:action] => :k,
173
- [:config] => :f,
174
- [:process, :daemon] => :D,
175
- [:db, :host] => :O,
176
- [:db, :port] => :P,
177
- [:db, :username] => :U,
178
- [:db, :password] => :S,
179
- })
180
-
181
- end
182
- end
@@ -1,32 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
3
-
4
- describe 'Tengine::Support::Config::Amqp' do
5
-
6
- context "static" do
7
- describe Tengine::Support::Config::Amqp::Connection.host do
8
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
9
- its(:type){ should == :string }
10
- its(:__name__){ should == :host }
11
- its(:description){ should == 'hostname to connect queue.'}
12
- its(:default){ should == 'localhost'}
13
- end
14
-
15
- describe Tengine::Support::Config::Amqp::Connection.port do
16
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
17
- its(:type){ should == :integer }
18
- its(:__name__){ should == :port }
19
- its(:description){ should == 'port to connect queue.'}
20
- its(:default){ should == 5672}
21
- end
22
-
23
- describe Tengine::Support::Config::Amqp::Connection.heartbeat_interval do
24
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
25
- its(:type){ should == :integer }
26
- its(:__name__){ should == :heartbeat_interval }
27
- its(:description){ should == 'heartbeat interval client uses, in seconds.'}
28
- its(:default){ should == 0}
29
- end
30
- end
31
-
32
- end
@@ -1,316 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
3
-
4
- require 'logger'
5
- require 'tempfile'
6
- require 'active_support/core_ext/logger'
7
-
8
- describe 'Tengine::Support::Config::Logger' do
9
-
10
- context "static" do
11
- describe Tengine::Support::Config::Logger.output do
12
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
13
- its(:type){ should == :string }
14
- its(:__name__){ should == :output }
15
- its(:description){ should == 'file path or "STDOUT" / "STDERR" / "NULL".'}
16
- its(:default){ should == "STDOUT"}
17
- end
18
-
19
- describe Tengine::Support::Config::Logger.rotation do
20
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
21
- its(:type){ should == nil} # 文字列か整数値なので指定していません
22
- its(:__name__){ should == :rotation }
23
- its(:description){ should == 'rotation file count or daily,weekly,monthly.'}
24
- its(:default){ should == nil}
25
- end
26
-
27
- describe Tengine::Support::Config::Logger.rotation_size do
28
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
29
- its(:type){ should == :integer }
30
- its(:__name__){ should == :rotation_size }
31
- its(:description){ should == 'number of max log file size.'}
32
- its(:default){ should == nil}
33
- end
34
-
35
- describe Tengine::Support::Config::Logger.level do
36
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
37
- its(:type){ should == :string }
38
- its(:__name__){ should == :level }
39
- its(:description){ should == 'Logging severity threshold.'}
40
- its(:enum){ should == %w[debug info warn error fatal]}
41
- its(:default){ should == "info"}
42
- end
43
-
44
- describe Tengine::Support::Config::Logger.progname do
45
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
46
- its(:type){ should == :string }
47
- its(:__name__){ should == :progname }
48
- its(:description){ should == 'program name to include in log messages.'}
49
- its(:default){ should == nil}
50
- end
51
-
52
- describe Tengine::Support::Config::Logger.datetime_format do
53
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
54
- its(:type){ should == :string }
55
- its(:__name__){ should == :datetime_format }
56
- its(:description){ should == 'A string suitable for passing to strftime.'}
57
- its(:default){ should == nil}
58
- end
59
-
60
- # describe Tengine::Support::Config::Logger.formatter do
61
- # it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
62
- # its(:type){ should == :proc }
63
- # its(:__name__){ should == :formatter }
64
- # its(:description){ should == 'Logging formatter, as a Proc that will take four arguments and return the formatted message.'}
65
- # its(:default){ should == nil}
66
- # end
67
- end
68
-
69
- context "デフォルト値" do
70
- context "instantiate_childrenなし" do
71
- subject{ Tengine::Support::Config::Logger.new }
72
- its(:output){ should == nil }
73
- its(:rotation){ should == nil}
74
- its(:rotation_size){ should == nil}
75
- its(:level){ should == nil}
76
- its(:datetime_format){ should == nil}
77
- its(:formatter){ should == nil}
78
- its(:progname){ should == nil}
79
- end
80
-
81
- context "instantiate_childrenあり" do
82
- subject{ Tengine::Support::Config::Logger.new.instantiate_children }
83
- its(:output){ should == "STDOUT" }
84
- its(:rotation){ should == nil}
85
- its(:rotation_size){ should == nil}
86
- its(:level){ should == "info"}
87
- its(:datetime_format){ should == nil}
88
- its(:formatter){ should == nil}
89
- its(:progname){ should == nil}
90
- end
91
-
92
- describe :level do
93
- subject{ Tengine::Support::Config::Logger.new.instantiate_children }
94
-
95
- it "nilが明示的に指定されてもデフォルト値になる" do
96
- subject.level = nil
97
- subject.level.should == 'info'
98
- end
99
-
100
- %w[debug info warn error fatal].each do |name|
101
- it "#{name}を設定することができる" do
102
- subject.level = name
103
- subject.level.should == name
104
- end
105
- end
106
-
107
- %w[invalid_name DEBUG inf err].each do |name|
108
- it "#{name}は設定することができない" do
109
- expect{
110
- subject.level = name
111
- }.to raise_error(ArgumentError)
112
- end
113
- end
114
- end
115
-
116
- describe :rotation do
117
- subject{ Tengine::Support::Config::Logger.new.instantiate_children }
118
-
119
- ["daily", "weekly", "monthly", :daily, 2, 8].each do |value|
120
- it "#{value}を設定することができる(変換なし)" do
121
- subject.rotation = value
122
- subject.rotation.should == value
123
- end
124
- end
125
-
126
- ["1", "100"].each do |value|
127
- it "#{value}を設定することができる(変換あり)" do
128
- subject.rotation = value
129
- subject.rotation.should == value.to_i
130
- end
131
- end
132
-
133
- ['invalid_rotation', true, false].each do |value|
134
- it "#{value}は設定することができない" do
135
- expect{
136
- subject.rotation = value
137
- }.to raise_error(ArgumentError)
138
- end
139
- end
140
- end
141
-
142
-
143
- describe :output do
144
- subject{ Tengine::Support::Config::Logger.new.instantiate_children }
145
-
146
- %w[STDOUT STDERR NULL].each do |value|
147
- it "#{value}を設定することができる" do
148
- subject.output = value
149
- subject.output.should == value
150
- end
151
- end
152
-
153
- it "存在するディレクトリのファイル" do
154
- path = File.expand_path("unexist.log", File.dirname(__FILE__))
155
- subject.output = path
156
- subject.output.should == path
157
- end
158
-
159
- it "存在しないディレクトリのファイル" do
160
- expect{
161
- subject.output = "/unexist/dir/foo.log"
162
- }.to raise_error(ArgumentError)
163
- end
164
- end
165
-
166
- end
167
-
168
- describe :new_logger do
169
- context "デフォルトの場合" do
170
- subject{ Tengine::Support::Config::Logger.new.instantiate_children.new_logger }
171
- its(:datetime_format){ should == nil}
172
-
173
- require 'active_support/version'
174
- if ActiveSupport::VERSION::STRING =~ /^3\.0\./
175
- its(:formatter){ should be_a(Logger::SimpleFormatter)}
176
- else
177
- its(:formatter){ should == nil}
178
- end
179
-
180
- its(:level){ should == 1}
181
- its(:progname){ should == nil}
182
- end
183
-
184
- context "各属性の設定と引数を指定が両方ある場合" do
185
- before{ @tempfile = Tempfile.new("test.log") }
186
- after { @tempfile.close }
187
- it "引数に指定されたオプションを優先" do
188
- mock_logger = Logger.new("/dev/null")
189
- Logger.should_receive(:new).with($stdout, nil, nil).and_return(mock_logger)
190
- Tengine::Support::Config::Logger.new.tap{|c|
191
- c.output = @tempfile.path
192
- }.instantiate_children.new_logger(:output => $stdout)
193
- end
194
- end
195
-
196
- context "各属性を設定を指定する場合" do
197
- before{ @tempfile = Tempfile.new("test.log") }
198
- after { @tempfile.close }
199
- subject do
200
- Tengine::Support::Config::Logger.new.tap{|c|
201
- c.output = @tempfile.path
202
- c.rotation = "3"
203
- c.rotation_size = 1000000
204
- c.level = "info"
205
- c.datetime_format = "%Y/%m/%d %H:%M:%S"
206
- c.progname = "foobar"
207
- }.instantiate_children.new_logger
208
- end
209
- its(:datetime_format){ should == "%Y/%m/%d %H:%M:%S"}
210
- its(:formatter){ should be_a(Logger::Formatter)}
211
- its(:level){ should == 1}
212
- its(:progname){ should == "foobar"}
213
- it "実際に出力してみる" do
214
- t = Time.local(2011, 12, 31, 23, 59, 59)
215
- Time.stub!(:now).and_return(t)
216
- subject.info("something started.")
217
- subject.error("something happened.")
218
- File.read(@tempfile.path).should == [
219
- "I, [2011/12/31 23:59:59##{Process.pid}] INFO -- foobar: something started.\n",
220
- "E, [2011/12/31 23:59:59##{Process.pid}] ERROR -- foobar: something happened.\n"
221
- ].join
222
- end
223
-
224
- context "更にformatterも指定してみる" do
225
- before do
226
- subject.formatter = lambda{|level, t, prog, msg| "#{t.iso8601} #{level} #{prog} #{msg}\n"}
227
- end
228
- it "実際に出力してみる" do
229
- t = Time.utc(2011, 12, 31, 23, 59, 59)
230
- Time.stub!(:now).and_return(t)
231
- subject.info("something started.")
232
- subject.error("something happened.")
233
- File.read(@tempfile.path).should == [
234
- "2011-12-31T23:59:59Z INFO foobar something started.\n",
235
- "2011-12-31T23:59:59Z ERROR foobar something happened.\n",
236
- ].join
237
- end
238
- end
239
- end
240
-
241
- it "STDOUTの場合" do
242
- config = Tengine::Support::Config::Logger.new.instantiate_children
243
- config.output = "STDOUT"
244
- config.level = "warn"
245
- config.rotation = nil
246
- config.rotation_size = nil
247
- config.output.should == "STDOUT"
248
- config.level.should == "warn"
249
- config.rotation.should == nil
250
- config.rotation_size.should == nil
251
- logger = Logger.new(STDOUT, nil, nil)
252
- Logger.should_receive(:new).with(STDOUT, nil, nil).and_return(logger)
253
- logger.should_receive(:level=).with(Logger::WARN)
254
- config.new_logger.should == logger
255
- end
256
-
257
- it "STDERRの場合" do
258
- config = Tengine::Support::Config::Logger.new.instantiate_children
259
- config.output = "STDERR"
260
- config.level = "warn"
261
- config.rotation = nil
262
- config.rotation_size = nil
263
- logger = Logger.new(STDERR, nil, nil)
264
- Logger.should_receive(:new).with(STDERR, nil, nil).and_return(logger)
265
- logger.should_receive(:level=).with(Logger::WARN)
266
- config.new_logger.should == logger
267
- end
268
-
269
- it "NULLの場合" do
270
- config = Tengine::Support::Config::Logger.new.instantiate_children
271
- config.output = "NULL"
272
- config.level = "warn"
273
- config.rotation = nil
274
- config.rotation_size = nil
275
- Tengine::Support::NullLogger.should_receive(:new).and_return(:logger)
276
- config.new_logger.should == :logger
277
- end
278
-
279
- context "ファイル名の場合" do
280
- before do
281
- @tempfile = Tempfile.new("test.log")
282
- @filepath = @tempfile.path
283
- end
284
- after do
285
- @tempfile.close
286
- end
287
-
288
- %w[daily weekly monthly].each do |shift_age|
289
- it "shift_age が #{shift_age}" do
290
- config = Tengine::Support::Config::Logger.new.instantiate_children
291
- config.output = @filepath
292
- config.level = "info"
293
- config.rotation = shift_age
294
- config.rotation_size = nil
295
- logger = Logger.new(@filepath, shift_age, nil)
296
- Logger.should_receive(:new).with(@filepath, shift_age, nil).and_return(logger)
297
- logger.should_receive(:level=).with(Logger::INFO)
298
- config.new_logger.should == logger
299
- end
300
- end
301
-
302
- it "shift_ageが整数値" do
303
- config = Tengine::Support::Config::Logger.new.instantiate_children
304
- config.output = @filepath
305
- config.level = "info"
306
- config.rotation = "3"
307
- config.rotation_size = 10 * 1024 * 1024 # 10MB
308
- logger = Logger.new(@filepath, 3, 10 * 1024 * 1024)
309
- Logger.should_receive(:new).with(@filepath, 3, 10 * 1024 * 1024).and_return(logger)
310
- logger.should_receive(:level=).with(Logger::INFO)
311
- config.new_logger.should == logger
312
- end
313
- end
314
- end
315
-
316
- end
@@ -1,24 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
3
-
4
- describe 'Tengine::Support::Config::Mongoid' do
5
-
6
- context "static" do
7
- describe Tengine::Support::Config::Mongoid::Connection.host do
8
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
9
- its(:type){ should == :string }
10
- its(:__name__){ should == :host }
11
- its(:description){ should == 'hostname to connect db.'}
12
- its(:default){ should == 'localhost'}
13
- end
14
-
15
- describe Tengine::Support::Config::Mongoid::Connection.port do
16
- it { subject.should be_a(Tengine::Support::Config::Definition::Field)}
17
- its(:type){ should == :integer }
18
- its(:__name__){ should == :port }
19
- its(:description){ should == 'port to connect db.'}
20
- its(:default){ should == 27017}
21
- end
22
- end
23
-
24
- end