File tree Expand file tree Collapse file tree 2 files changed +12
-5
lines changed Expand file tree Collapse file tree 2 files changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -52,15 +52,16 @@ def self.title_patterns
52
52
end
53
53
54
54
newproperty ( :key ) do
55
- desc "The key itself; generally a long string of uuencoded characters. The `key`
56
- attribute may not contain whitespace.
55
+ desc "The key itself; generally a long string of unencoded characters. The `key`
56
+ attribute may not contain leading or trailing whitespace.
57
57
58
58
Make sure to omit the following in this attribute (and specify them in
59
59
other attributes):
60
60
61
- * Key headers, such as 'ssh-rsa' --- put these in the `type` attribute.
62
- * Key identifiers / comments, such as 'joescomputer.local' --- put these in
63
- the `name` attribute/resource title."
61
+ * Key headers, such as 'ssh-rsa' --- put these in the `type` attribute."
62
+ validate do |value |
63
+ raise Puppet ::Error , _ ( 'Key must contain neither leading nor trailing whitespace: %{value}' ) % { value : value } if %r{^\s |\s $} . match? ( value )
64
+ end
64
65
end
65
66
66
67
# FIXME: This should automagically check for aliases to the hosts, just
Original file line number Diff line number Diff line change 76
76
} . to raise_error ( Puppet ::Error , %r{cannot include whitespace} )
77
77
end
78
78
79
+ it "doesn't accept leading or trailing whitespace in the key contents" do
80
+ expect {
81
+ described_class . new ( name : 'foo' , key : ' AAAFA==' )
82
+ } . to raise_error ( Puppet ::Error , %r{Key must contain neither leading nor trailing whitespace} )
83
+ end
84
+
79
85
it "doesn't accept aliases in the resourcename" do
80
86
expect {
81
87
described_class . new ( name : 'host,host.domain,ip' )
You can’t perform that action at this time.
0 commit comments