kumo_keisei 3.0.4.pre.alpha1 → 3.0.4.pre.alpha2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/kumo_keisei/environment_config.rb +13 -2
- data/spec/lib/kumo_keisei/environment_config_spec.rb +52 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d20310dc355e8295f37c2613f3e4c9c27109716
|
4
|
+
data.tar.gz: 073d42960ee1118df16dd1841757c93c551a021d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ae2f7c6d66e22c8eaae52044954b1d6f539a0ca96ab5b5b84dc87694cfe4802ce49679f52cde32d9ce49f8accfe23ebdd973715844bbd1d003145242366d787
|
7
|
+
data.tar.gz: de1ce351850616e9ff96fcb5a5175d27add17fbeae051d49e1a185a47f3f9eaed94086d40371471868932b3e3fc210000aa8b0e30313dcd0e057cc23aef90719
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.4-
|
1
|
+
3.0.4-alpha2
|
@@ -8,6 +8,8 @@ require_relative 'parameter_builder'
|
|
8
8
|
module KumoKeisei
|
9
9
|
# Environment Configuration for a cloud formation stack
|
10
10
|
class EnvironmentConfig
|
11
|
+
class ConfigurationError < StandardError; end
|
12
|
+
|
11
13
|
LOGGER = Logger.new(STDOUT)
|
12
14
|
|
13
15
|
attr_reader :app_name, :env_name
|
@@ -16,9 +18,18 @@ module KumoKeisei
|
|
16
18
|
@env_name = options[:env_name]
|
17
19
|
@params_template_file_path = options[:params_template_file_path]
|
18
20
|
@injected_config = options[:injected_config] || {}
|
19
|
-
@config_file_loader = KumoKeisei::FileLoader.new(config_dir_path: options[:config_path])
|
20
|
-
|
21
21
|
@log = logger
|
22
|
+
|
23
|
+
if options[:config_path]
|
24
|
+
@config_file_loader = KumoKeisei::FileLoader.new(config_dir_path: options[:config_path])
|
25
|
+
elsif options[:config_dir_path]
|
26
|
+
warn "[DEPRECATION] `:config_dir_path` is deprecated, please pass in `:config_path` instead"
|
27
|
+
@config_file_loader = KumoKeisei::FileLoader.new(config_dir_path: options[:config_dir_path])
|
28
|
+
else
|
29
|
+
@log.error "Please provide a :config_path"
|
30
|
+
raise ConfigurationError.new("Please provide a :config_path")
|
31
|
+
end
|
32
|
+
|
22
33
|
end
|
23
34
|
|
24
35
|
def production?
|
@@ -26,6 +26,58 @@ describe KumoKeisei::EnvironmentConfig do
|
|
26
26
|
allow(File).to receive(:dirname).and_return('/tmp')
|
27
27
|
end
|
28
28
|
|
29
|
+
context 'backward compatibility' do
|
30
|
+
context 'config_path' do
|
31
|
+
let(:options) do
|
32
|
+
{
|
33
|
+
env_name: env_name,
|
34
|
+
config_path: config_dir_path
|
35
|
+
}
|
36
|
+
end
|
37
|
+
it 'will be used without complaint' do
|
38
|
+
expect(KumoKeisei::FileLoader).to receive(:new).with(config_dir_path: config_dir_path).and_return(nil)
|
39
|
+
described_class.new(options)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'config_dir_path' do
|
44
|
+
let(:options) do
|
45
|
+
{
|
46
|
+
env_name: env_name,
|
47
|
+
config_dir_path: config_dir_path
|
48
|
+
}
|
49
|
+
end
|
50
|
+
|
51
|
+
before do
|
52
|
+
@orig_stderr = $stderr
|
53
|
+
$stderr = StringIO.new
|
54
|
+
end
|
55
|
+
|
56
|
+
after do
|
57
|
+
$stderr = @orig_stderr
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'will be used if given and raise a deprecation warning' do
|
61
|
+
expect(KumoKeisei::FileLoader).to receive(:new).with(config_dir_path: config_dir_path).and_return(nil)
|
62
|
+
described_class.new(options)
|
63
|
+
$stderr.rewind
|
64
|
+
expect($stderr.string.chomp).to eq("[DEPRECATION] `:config_dir_path` is deprecated, please pass in `:config_path` instead")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context 'neither config_path nor config_dir_path' do
|
69
|
+
let(:options) do
|
70
|
+
{
|
71
|
+
env_name: env_name
|
72
|
+
}
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'will raise an error' do
|
76
|
+
expect { described_class.new(options)}.to raise_error(KumoKeisei::EnvironmentConfig::ConfigurationError)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
29
81
|
context 'unit tests' do
|
30
82
|
let(:fake_environment_binding) { binding }
|
31
83
|
|