summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-04-30 12:59:31 -0700
committerTim Smith <tsmith@chef.io>2018-05-30 15:18:24 -0700
commitc0733a2fec085559b4c3d848e9a6ed03e21b5078 (patch)
treee37b933ef7569c733a8d0c7703a90e9645ec2737
parent847d0a60e40608b96784aaad1f49464f600460d5 (diff)
downloadchef-c0733a2fec085559b4c3d848e9a6ed03e21b5078.tar.gz
Add unit tests
Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--lib/chef/resource/ssh_known_hosts_entry.rb2
-rw-r--r--spec/unit/resource/ssh_known_hosts_entry_spec.rb50
2 files changed, 51 insertions, 1 deletions
diff --git a/lib/chef/resource/ssh_known_hosts_entry.rb b/lib/chef/resource/ssh_known_hosts_entry.rb
index 0aff7dda96..ded80b6a53 100644
--- a/lib/chef/resource/ssh_known_hosts_entry.rb
+++ b/lib/chef/resource/ssh_known_hosts_entry.rb
@@ -57,7 +57,7 @@ class Chef
property :group, String,
description: "The file group for the ssh_known_hosts file.",
- default: lazy { node['root_group'] }
+ default: lazy { node["root_group"] }
property :hash_entries, [TrueClass, FalseClass],
description: "Hash the hostname and addresses in the ssh_known_hosts file for privacy.",
diff --git a/spec/unit/resource/ssh_known_hosts_entry_spec.rb b/spec/unit/resource/ssh_known_hosts_entry_spec.rb
new file mode 100644
index 0000000000..251675dd10
--- /dev/null
+++ b/spec/unit/resource/ssh_known_hosts_entry_spec.rb
@@ -0,0 +1,50 @@
+#
+# Copyright:: Copyright 2018, Chef Software, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require "spec_helper"
+
+describe Chef::Resource::SshKnownHostsEntry do
+ let(:node) { Chef::Node.new }
+ let(:run_context) do
+ node.automatic[:root_group] = "superduper"
+ empty_events = Chef::EventDispatch::Dispatcher.new
+ Chef::RunContext.new(node, {}, empty_events)
+ end
+ let(:resource) { Chef::Resource::SshKnownHostsEntry.new("example.com", run_context) }
+
+ it "sets resource name as :ssh_known_hosts_entry" do
+ expect(resource.resource_name).to eql(:ssh_known_hosts_entry)
+ end
+
+ it "sets group property to node['root_group'] by default" do
+ expect(resource.group).to eql("superduper")
+ end
+
+ it "sets the default action as :create" do
+ expect(resource.action).to eql([:create])
+ end
+
+ it "sets the host property as its name property" do
+ expect(resource.host).to eql("example.com")
+ end
+
+ it "supports :create and :flush actions" do
+ expect { resource.action :create }.not_to raise_error
+ expect { resource.action :flush }.not_to raise_error
+ expect { resource.action :delete }.to raise_error(ArgumentError)
+ end
+end