Skip to content

Commit 5bc3474

Browse files
committed
Fix boolean parameters
The unsafe rubocop fixes done in 189ac29 broke the boolean parameters. Before this commit, if you explicitly tried to set either of them to `false`, they would actually be set to the symbol `:false` with is not falsey so would act as if you'd set them to `true`.
1 parent a9b22d0 commit 5bc3474

File tree

2 files changed

+38
-12
lines changed

2 files changed

+38
-12
lines changed

Diff for: lib/puppet/type/java_ks.rb

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# frozen_string_literal: true
22

3+
require 'puppet/parameter/boolean'
4+
35
Puppet::Type.newtype(:java_ks) do
46
@doc = 'Manages the entries in a java keystore, and uses composite namevars to
57
accomplish the same alias spread across multiple target keystores.'
@@ -132,14 +134,12 @@ def insync?(is)
132134
keystore. This cannot be used together with :password, but you must pass at least one of these parameters.'
133135
end
134136

135-
newparam(:password_fail_reset) do
137+
newparam(:password_fail_reset, boolean: true, parent: Puppet::Parameter::Boolean) do
136138
desc "If the supplied password does not succeed in unlocking the
137139
keystore file, then delete the keystore file and create a new one.
138140
Default: false."
139141

140-
newvalues(true, false)
141-
142-
defaultto false
142+
defaultto :false
143143
end
144144

145145
newparam(:destkeypass) do
@@ -156,13 +156,11 @@ def insync?(is)
156156
end
157157
end
158158

159-
newparam(:trustcacerts) do
159+
newparam(:trustcacerts, boolean: true, parent: Puppet::Parameter::Boolean) do
160160
desc "Certificate authorities aren't by default trusted so if you are adding a CA you need to set this to true.
161161
Defaults to :false."
162162

163-
newvalues(true, false)
164-
165-
defaultto false
163+
defaultto :false
166164
end
167165

168166
newparam(:path) do

Diff for: spec/unit/puppet/type/java_ks_spec.rb

+32-4
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,22 @@
102102
expect(described_class.new(jks)[:name]).to eq(jks_resource[:name])
103103
end
104104

105-
it 'has false as the default value to :trustcacerts when parameter not provided' do
106-
expect(described_class.new(jks_resource)[:trustcacerts]).to be_nil
105+
it 'resource[:trustcacerts] is falsey when parameter not provided' do
106+
expect(described_class.new(jks_resource)[:trustcacerts]).to be_falsey
107+
end
108+
109+
it 'resource[:trustcacerts] is the boolean `false` when set to `false`' do
110+
jks = jks_resource.dup
111+
jks[:trustcacerts] = false
112+
113+
expect(described_class.new(jks)[:trustcacerts]).to be false
114+
end
115+
116+
it 'resource[:trustcacerts] is the boolean `true` when set to `true`' do
117+
jks = jks_resource.dup
118+
jks[:trustcacerts] = true
119+
120+
expect(described_class.new(jks)[:trustcacerts]).to be true
107121
end
108122

109123
it 'has :rsa as the default value for :private_key_type' do
@@ -175,8 +189,22 @@
175189
}.to raise_error(Puppet::Error, %r{length 6})
176190
end
177191

178-
it 'has :false value to :password_fail_reset when parameter not provided' do
179-
expect(described_class.new(jks_resource)[:password_fail_reset]).to be_nil
192+
it 'resource[:password_fail_reset] is falsey when parameter not provided' do
193+
expect(described_class.new(jks_resource)[:password_fail_reset]).to be_falsey
194+
end
195+
196+
it 'resource[:password_fail_reset] is the boolean `false` when parameter set to `false`' do
197+
jks = jks_resource.dup
198+
jks[:password_fail_reset] = false
199+
200+
expect(described_class.new(jks)[:password_fail_reset]).to be false
201+
end
202+
203+
it 'resource[:password_fail_reset] is the boolean `true` when parameter set to `true`' do
204+
jks = jks_resource.dup
205+
jks[:password_fail_reset] = true
206+
207+
expect(described_class.new(jks)[:password_fail_reset]).to be true
180208
end
181209

182210
it 'fails if :source_password is not provided for pkcs12 :storetype' do

0 commit comments

Comments
 (0)