summaryrefslogtreecommitdiff
path: root/spec/unit
diff options
context:
space:
mode:
authorThom May <thom@may.lt>2017-12-18 12:17:24 +0000
committerGitHub <noreply@github.com>2017-12-18 12:17:24 +0000
commit658bb05fef37a0e50643d080cebd37bc9cb96169 (patch)
tree65e911b372ddf4b2a21b12cf36bbcbeb1b518e6c /spec/unit
parente6ee17e5e346e0f7df67d8ee04130b9dd9c49a84 (diff)
parent0d1072d74f711bb180b4c8d075309c3934eb06a6 (diff)
downloadchef-658bb05fef37a0e50643d080cebd37bc9cb96169.tar.gz
Merge pull request #6683 from chef/reboot_resource
Modernize reboot resource and add spec
Diffstat (limited to 'spec/unit')
-rw-r--r--spec/unit/resource/reboot_spec.rb52
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/unit/resource/reboot_spec.rb b/spec/unit/resource/reboot_spec.rb
new file mode 100644
index 0000000000..36e9f705a1
--- /dev/null
+++ b/spec/unit/resource/reboot_spec.rb
@@ -0,0 +1,52 @@
+#
+# Copyright:: Copyright 2017, 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::Reboot do
+
+ before(:each) do
+ @resource = Chef::Resource::Reboot.new("reboot me!")
+ end
+
+ it "should create a new Chef::Resource::Reboot" do
+ expect(@resource).to be_a_kind_of(Chef::Resource)
+ expect(@resource).to be_a_kind_of(Chef::Resource::Reboot)
+ end
+
+ it "should have a default action of :nothing" do
+ expect(@resource.action).to eql([:nothing])
+ end
+
+ it "supports the :nothing, :request_reboot, :reboot_now, and :cancel actions" do
+ expect(@resource.allowed_actions).to include(:nothing, :request_reboot, :reboot_now, :cancel)
+ end
+
+ it "should have a resource_name of :reboot" do
+ expect(@resource.resource_name).to eq(:reboot)
+ end
+
+ it "should accept a String for the reboot reason" do
+ @resource.reason "reasons"
+ expect(@resource.reason).to eq("reasons")
+ end
+
+ it "should accept an Integer for delay_mins" do
+ @resource.delay_mins 100
+ expect { @resource.delay_mins "100" }.to raise_error(ArgumentError)
+ end
+end