kumo_keisei 3.0.4.pre.alpha1 → 3.0.4.pre.alpha2
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.
- 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
|
|