From f3b34f2ad21934b060a95ac59f1573cea7217124 Mon Sep 17 00:00:00 2001 From: Tim Smith Date: Wed, 16 May 2018 12:48:05 -0700 Subject: Add resource specs round 1 Auto generated from the resource inspector Signed-off-by: Tim Smith --- spec/unit/resource/apt_package_spec.rb | 10 ++++++++++ spec/unit/resource/bash_spec.rb | 8 ++++++++ spec/unit/resource/breakpoint_spec.rb | 8 ++++---- spec/unit/resource/cab_package_spec.rb | 10 ++++++++++ spec/unit/resource/chef_handler_spec.rb | 11 ++++++++--- spec/unit/resource/csh_spec.rb | 8 ++++++++ spec/unit/resource/dsc_resource_spec.rb | 12 ++++++------ spec/unit/resource/execute_spec.rb | 8 ++++++++ spec/unit/resource/file_spec.rb | 20 ++++++++++---------- spec/unit/resource/freebsd_package_spec.rb | 16 ++++++++++++++++ spec/unit/resource/git_spec.rb | 16 ++++++++++++++++ spec/unit/resource/ips_package_spec.rb | 14 ++++++++++++++ spec/unit/resource/link_spec.rb | 17 ++++++----------- spec/unit/resource/ohai_hint_spec.rb | 11 ++++++++--- spec/unit/resource/ohai_spec.rb | 12 ++++++++++-- spec/unit/resource/openbsd_package_spec.rb | 14 ++++++++++++++ spec/unit/resource/osx_profile_spec.rb | 8 ++++++-- spec/unit/resource/perl_spec.rb | 8 ++++++++ spec/unit/resource/portage_package_spec.rb | 14 ++++++++++++++ spec/unit/resource/powershell_package_spec.rb | 14 ++++++++++++++ spec/unit/resource/python_spec.rb | 8 ++++++++ spec/unit/resource/reboot_spec.rb | 8 +++++--- spec/unit/resource/ruby_block_spec.rb | 20 ++++++++++++-------- spec/unit/resource/scm_spec.rb | 20 ++++++++++++++------ spec/unit/resource/script_spec.rb | 8 ++++++++ spec/unit/resource/swap_file_spec.rb | 5 ++--- spec/unit/resource/sysctl_spec.rb | 16 +++++++--------- spec/unit/resource/systemd_unit_spec.rb | 12 +++++++----- spec/unit/resource/windows_ad_join.rb | 12 ++++++++---- spec/unit/resource/windows_feature_dism.rb | 19 +++++++++++-------- spec/unit/resource/windows_printer_port_spec.rb | 19 +++++++++---------- spec/unit/resource/windows_service_spec.rb | 23 +++++++++++++++++++++++ 32 files changed, 312 insertions(+), 97 deletions(-) diff --git a/spec/unit/resource/apt_package_spec.rb b/spec/unit/resource/apt_package_spec.rb index 3b399059a6..ad3958f2d9 100644 --- a/spec/unit/resource/apt_package_spec.rb +++ b/spec/unit/resource/apt_package_spec.rb @@ -31,6 +31,16 @@ describe Chef::Resource::AptPackage, "initialize" do let(:resource) { Chef::Resource::AptPackage.new("foo") } + it "supports :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :upgrade }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :purge }.not_to raise_error + expect { resource.action :reconfig }.not_to raise_error + expect { resource.action :lock }.not_to raise_error + expect { resource.action :unlock }.not_to raise_error + end + it "supports default_release" do resource.default_release("lenny-backports") expect(resource.default_release).to eql("lenny-backports") diff --git a/spec/unit/resource/bash_spec.rb b/spec/unit/resource/bash_spec.rb index 10482002db..304091e4f3 100644 --- a/spec/unit/resource/bash_spec.rb +++ b/spec/unit/resource/bash_spec.rb @@ -34,4 +34,12 @@ describe Chef::Resource::Bash do expect(resource.interpreter).to eql("bash") end + it "sets the default action as :run" do + expect(resource.action).to eql([:run]) + end + + it "supports :run actions" do + expect { resource.action :run }.not_to raise_error + end + end diff --git a/spec/unit/resource/breakpoint_spec.rb b/spec/unit/resource/breakpoint_spec.rb index ce0df676dd..009f0604d4 100644 --- a/spec/unit/resource/breakpoint_spec.rb +++ b/spec/unit/resource/breakpoint_spec.rb @@ -48,12 +48,12 @@ describe Chef::Resource::Breakpoint do provider.action_break end - it "allows the action :break" do - expect(resource.allowed_actions).to include(:break) + it "sets the default action as :break" do + expect(resource.action).to eql([:break]) end - it "defaults to the break action" do - expect(resource.action).to eq([:break]) + it "supports :break actions" do + expect { resource.action :break }.not_to raise_error end it "names itself after the line number of the file where it's created" do diff --git a/spec/unit/resource/cab_package_spec.rb b/spec/unit/resource/cab_package_spec.rb index 87de446dd3..e92c4484f4 100644 --- a/spec/unit/resource/cab_package_spec.rb +++ b/spec/unit/resource/cab_package_spec.rb @@ -34,6 +34,16 @@ describe Chef::Resource::CabPackage do expect(resource.action).to eql([:install]) end + it "supports :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :upgrade }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :purge }.not_to raise_error + expect { resource.action :reconfig }.not_to raise_error + expect { resource.action :lock }.not_to raise_error + expect { resource.action :unlock }.not_to raise_error + end + it "coerces name property to package_name property" do expect(resource.package_name).to eql("test_pkg") end diff --git a/spec/unit/resource/chef_handler_spec.rb b/spec/unit/resource/chef_handler_spec.rb index 7cba0c7fe3..a6623b8aac 100644 --- a/spec/unit/resource/chef_handler_spec.rb +++ b/spec/unit/resource/chef_handler_spec.rb @@ -25,11 +25,16 @@ describe Chef::Resource::ChefHandler do expect(resource.resource_name).to eql(:chef_handler) end - it "has a default action of enable" do + it "the class_name property is the name_property" do + expect(resource.class_name).to eql("foo") + end + + it "sets the default action as :enable" do expect(resource.action).to eql([:enable]) end - it "the class_name property is the name property" do - expect(resource.class_name).to eql("foo") + it "supports :enable, :disable actions" do + expect { resource.action :enable }.not_to raise_error + expect { resource.action :disable }.not_to raise_error end end diff --git a/spec/unit/resource/csh_spec.rb b/spec/unit/resource/csh_spec.rb index 3391bf84cf..cdb6ecec2a 100644 --- a/spec/unit/resource/csh_spec.rb +++ b/spec/unit/resource/csh_spec.rb @@ -30,6 +30,14 @@ describe Chef::Resource::Csh do expect(resource.resource_name).to eql(:csh) end + it "sets the default action as :run" do + expect(resource.action).to eql([:run]) + end + + it "supports :run action" do + expect { resource.action :run }.not_to raise_error + end + it "has an interpreter of csh" do expect(resource.interpreter).to eql("csh") end diff --git a/spec/unit/resource/dsc_resource_spec.rb b/spec/unit/resource/dsc_resource_spec.rb index b687811392..22c42aa441 100644 --- a/spec/unit/resource/dsc_resource_spec.rb +++ b/spec/unit/resource/dsc_resource_spec.rb @@ -40,31 +40,31 @@ describe Chef::Resource::DscResource do expect(dsc_test_resource.action).to eq([:run]) end - it "has an ed_actions attribute with only the `:run` and `:nothing` attributes" do + it "has an ed_actions property with only the `:run` and `:nothing` properties" do expect(dsc_test_resource.allowed_actions.to_set).to eq([:run, :nothing].to_set) end - it "allows the resource attribute to be set" do + it "allows the resource property to be set" do dsc_test_resource.resource(dsc_test_resource_name) expect(dsc_test_resource.resource).to eq(dsc_test_resource_name) end - it "allows the module_name attribute to be set" do + it "allows the module_name property to be set" do dsc_test_resource.module_name(dsc_test_resource_name) expect(dsc_test_resource.module_name).to eq(dsc_test_resource_name) end - it "allows the module_version attribute to be set" do + it "allows the module_version property to be set" do dsc_test_resource.module_version(dsc_test_resource_module_version) expect(dsc_test_resource.module_version).to eq(dsc_test_resource_module_version) end - it "allows the reboot_action attribute to be set" do + it "allows the reboot_action property to be set" do dsc_test_resource.reboot_action(dsc_test_reboot_action) expect(dsc_test_resource.reboot_action).to eq(dsc_test_reboot_action) end - it "allows the timeout attribute to be set" do + it "allows the timeout property to be set" do dsc_test_resource.timeout(dsc_test_timeout) expect(dsc_test_resource.timeout).to eq(dsc_test_timeout) end diff --git a/spec/unit/resource/execute_spec.rb b/spec/unit/resource/execute_spec.rb index c99e87b351..c351b8e357 100644 --- a/spec/unit/resource/execute_spec.rb +++ b/spec/unit/resource/execute_spec.rb @@ -24,6 +24,14 @@ describe Chef::Resource::Execute do let(:execute_resource) { Chef::Resource::Execute.new(resource_instance_name) } it_behaves_like "an execute resource" + it "sets the default action as :run" do + expect(execute_resource.action).to eql([:run]) + end + + it "supports :run action" do + expect { execute_resource.action :run }.not_to raise_error + end + it "default guard interpreter is :execute interpreter" do expect(execute_resource.guard_interpreter).to be(:execute) end diff --git a/spec/unit/resource/file_spec.rb b/spec/unit/resource/file_spec.rb index f2dea066ad..438689d737 100644 --- a/spec/unit/resource/file_spec.rb +++ b/spec/unit/resource/file_spec.rb @@ -22,14 +22,21 @@ describe Chef::Resource::File do let(:resource) { Chef::Resource::File.new("fakey_fakerton") } - it "has a name property" do - expect(resource.name).to eql("fakey_fakerton") + it "the path property is the name_property" do + expect(resource.path).to eql("fakey_fakerton") end - it "has a default action of 'create'" do + it "sets the default action as :create" do expect(resource.action).to eql([:create]) end + it "supports :create, :delete, :touch, :create_if_missing actions" do + expect { resource.action :create }.not_to raise_error + expect { resource.action :delete }.not_to raise_error + expect { resource.action :touch }.not_to raise_error + expect { resource.action :create_if_missing }.not_to raise_error + end + it "has a default content of nil" do expect(resource.content).to be_nil end @@ -57,13 +64,6 @@ describe Chef::Resource::File do expect { resource.checksum "monkey!" }.to raise_error(ArgumentError) end - it "accepts create, delete or touch for action" do - expect { resource.action :create }.not_to raise_error - expect { resource.action :delete }.not_to raise_error - expect { resource.action :touch }.not_to raise_error - expect { resource.action :blues }.to raise_error(ArgumentError) - end - it "accepts a block, symbol, or string for verify" do expect { resource.verify {} }.not_to raise_error expect { resource.verify "" }.not_to raise_error diff --git a/spec/unit/resource/freebsd_package_spec.rb b/spec/unit/resource/freebsd_package_spec.rb index 4a223eb507..8ec59ecbe0 100644 --- a/spec/unit/resource/freebsd_package_spec.rb +++ b/spec/unit/resource/freebsd_package_spec.rb @@ -42,6 +42,22 @@ describe Chef::Resource::FreebsdPackage do end end + describe "Actions" do + it "sets the default action as :install" do + expect(resource.action).to eql([:install]) + end + + it "supports :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :upgrade }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :purge }.not_to raise_error + expect { resource.action :reconfig }.not_to raise_error + expect { resource.action :lock }.not_to raise_error + expect { resource.action :unlock }.not_to raise_error + end + end + describe "Assigning provider after creation" do describe "if ports specified as source" do it "is Freebsd::Port" do diff --git a/spec/unit/resource/git_spec.rb b/spec/unit/resource/git_spec.rb index 1883595617..70b7e8ae8b 100644 --- a/spec/unit/resource/git_spec.rb +++ b/spec/unit/resource/git_spec.rb @@ -44,4 +44,20 @@ describe Chef::Resource::Git do expect(resource.revision).to eql("v1.0 tag") end + it "the destination property is the name_property" do + expect(resource.destination).to eql("my awesome webapp") + end + + it "sets the default action as :sync" do + expect(resource.action).to eql([:sync]) + end + + it "supports :sync, :checkout, :export, :diff, :log actions" do + expect { resource.action :sync }.not_to raise_error + expect { resource.action :checkout }.not_to raise_error + expect { resource.action :export }.not_to raise_error + expect { resource.action :diff }.not_to raise_error + expect { resource.action :log }.not_to raise_error + end + end diff --git a/spec/unit/resource/ips_package_spec.rb b/spec/unit/resource/ips_package_spec.rb index b19f6bdf58..e7d7c1b261 100644 --- a/spec/unit/resource/ips_package_spec.rb +++ b/spec/unit/resource/ips_package_spec.rb @@ -39,4 +39,18 @@ describe Chef::Resource::IpsPackage, "initialize" do resource.accept_license(true) expect(resource.accept_license).to eql(true) end + + it "sets the default action as :install" do + expect(resource.action).to eql([:install]) + end + + it "supports :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :upgrade }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :purge }.not_to raise_error + expect { resource.action :reconfig }.not_to raise_error + expect { resource.action :lock }.not_to raise_error + expect { resource.action :unlock }.not_to raise_error + end end diff --git a/spec/unit/resource/link_spec.rb b/spec/unit/resource/link_spec.rb index 4f4f8c7c9f..05a39835d8 100644 --- a/spec/unit/resource/link_spec.rb +++ b/spec/unit/resource/link_spec.rb @@ -26,22 +26,17 @@ describe Chef::Resource::Link do expect_any_instance_of(Chef::Resource::Link).to receive(:verify_links_supported!).and_return(true) end - it "has a name property" do - expect(resource.name).to eql("fakey_fakerton") + it "the target_file property is the name_property" do + expect(resource.target_file).to eql("fakey_fakerton") end - it "has a default action of 'create'" do + it "sets the default action as :create" do expect(resource.action).to eql([:create]) end - { :create => false, :delete => false, :blues => true }.each do |action, bad_value| - it "should #{bad_value ? 'not' : ''} accept #{action}" do - if bad_value - expect { resource.action action }.to raise_error(ArgumentError) - else - expect { resource.action action }.not_to raise_error - end - end + it "supports :create, :delete actions" do + expect { resource.action :create }.not_to raise_error + expect { resource.action :delete }.not_to raise_error end it "uses the object name as the target_file by default" do diff --git a/spec/unit/resource/ohai_hint_spec.rb b/spec/unit/resource/ohai_hint_spec.rb index 1a4f6637fa..bfc21b02c1 100644 --- a/spec/unit/resource/ohai_hint_spec.rb +++ b/spec/unit/resource/ohai_hint_spec.rb @@ -25,12 +25,17 @@ describe Chef::Resource::OhaiHint do expect(resource.resource_name).to eql(:ohai_hint) end - it "has a default action of create" do + it "the hint_name property is the name_property" do + expect(resource.hint_name).to eql("foo") + end + + it "sets the default action as :create" do expect(resource.action).to eql([:create]) end - it "supports the :nothing, :create and :delete actions" do - expect(resource.allowed_actions).to include(:nothing, :create, :delete) + it "supports :create, :delete actions" do + expect { resource.action :create }.not_to raise_error + expect { resource.action :delete }.not_to raise_error end it "runs at compile_time by default" do diff --git a/spec/unit/resource/ohai_spec.rb b/spec/unit/resource/ohai_spec.rb index eb569aa3b7..a7cbac0aa2 100644 --- a/spec/unit/resource/ohai_spec.rb +++ b/spec/unit/resource/ohai_spec.rb @@ -26,11 +26,19 @@ describe Chef::Resource::Ohai do expect(resource.resource_name).to eql(:ohai) end - it "has a default action of reload" do + it "the ohai_name property is the name_property" do + expect(resource.ohai_name).to eql("ohai_reload") + end + + it "sets the default action as :reload" do expect(resource.action).to eql([:reload]) end - it "allows you to set the plugin attribute" do + it "supports :reload action" do + expect { resource.action :reload }.not_to raise_error + end + + it "allows you to set the plugin property" do resource.plugin "passwd" expect(resource.plugin).to eql("passwd") end diff --git a/spec/unit/resource/openbsd_package_spec.rb b/spec/unit/resource/openbsd_package_spec.rb index 17dc9f09ff..8fd455426a 100644 --- a/spec/unit/resource/openbsd_package_spec.rb +++ b/spec/unit/resource/openbsd_package_spec.rb @@ -36,6 +36,20 @@ describe Chef::Resource::OpenbsdPackage do expect(resource.resource_name).to eql(:openbsd_package) end + it "sets the default action as :install" do + expect(resource.action).to eql([:install]) + end + + it "supports :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :upgrade }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :purge }.not_to raise_error + expect { resource.action :reconfig }.not_to raise_error + expect { resource.action :lock }.not_to raise_error + expect { resource.action :unlock }.not_to raise_error + end + it "does not set the provider" do expect(resource.provider).to be_nil end diff --git a/spec/unit/resource/osx_profile_spec.rb b/spec/unit/resource/osx_profile_spec.rb index 291b205466..e62c204fb7 100644 --- a/spec/unit/resource/osx_profile_spec.rb +++ b/spec/unit/resource/osx_profile_spec.rb @@ -29,11 +29,15 @@ describe Chef::Resource::OsxProfile do expect(resource.resource_name).to eql(:osx_profile) end - it "has a default action of install" do + it "the profile_name property is the name_property" do + expect(resource.profile_name).to eql("Test Profile Resource") + end + + it "sets the default action as :install" do expect(resource.action).to eql([:install]) end - it "accepts install and remove as actions" do + it "supports :install, :remove actions" do expect { resource.action :install }.not_to raise_error expect { resource.action :remove }.not_to raise_error end diff --git a/spec/unit/resource/perl_spec.rb b/spec/unit/resource/perl_spec.rb index f8e11c465c..4e43f92054 100644 --- a/spec/unit/resource/perl_spec.rb +++ b/spec/unit/resource/perl_spec.rb @@ -33,4 +33,12 @@ describe Chef::Resource::Perl do it "has an interpreter of perl" do expect(resource.interpreter).to eql("perl") end + + it "sets the default action as :run" do + expect(resource.action).to eql([:run]) + end + + it "supports :run actions" do + expect { resource.action :run }.not_to raise_error + end end diff --git a/spec/unit/resource/portage_package_spec.rb b/spec/unit/resource/portage_package_spec.rb index a37cfd6e41..2b7b58dbdb 100644 --- a/spec/unit/resource/portage_package_spec.rb +++ b/spec/unit/resource/portage_package_spec.rb @@ -29,4 +29,18 @@ describe Chef::Resource::PortagePackage, "initialize" do it "sets the resource_name to :portage_package" do expect(resource.resource_name).to eql(:portage_package) end + + it "sets the default action as :install" do + expect(resource.action).to eql([:install]) + end + + it "supports :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :upgrade }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :purge }.not_to raise_error + expect { resource.action :reconfig }.not_to raise_error + expect { resource.action :lock }.not_to raise_error + expect { resource.action :unlock }.not_to raise_error + end end diff --git a/spec/unit/resource/powershell_package_spec.rb b/spec/unit/resource/powershell_package_spec.rb index a448d58d5a..297e1d4283 100644 --- a/spec/unit/resource/powershell_package_spec.rb +++ b/spec/unit/resource/powershell_package_spec.rb @@ -31,6 +31,20 @@ describe Chef::Resource::PowershellPackage do expect(resource.resource_name).to eql(:powershell_package) end + it "sets the default action as :install" do + expect(resource.action).to eql([:install]) + end + + it "supports :install, :upgrade, :remove, :purge, :reconfig, :lock, :unlock actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :upgrade }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :purge }.not_to raise_error + expect { resource.action :reconfig }.not_to raise_error + expect { resource.action :lock }.not_to raise_error + expect { resource.action :unlock }.not_to raise_error + end + it "coerces its name to a package_name array" do expect(resource.package_name).to eql(["test_package"]) end diff --git a/spec/unit/resource/python_spec.rb b/spec/unit/resource/python_spec.rb index 5a4dc8eca8..bc6af7be4d 100644 --- a/spec/unit/resource/python_spec.rb +++ b/spec/unit/resource/python_spec.rb @@ -29,4 +29,12 @@ describe Chef::Resource::Python do it "has an interpreter of python" do expect(resource.interpreter).to eql("python") end + + it "sets the default action as :run" do + expect(resource.action).to eql([:run]) + end + + it "supports :run actions" do + expect { resource.action :run }.not_to raise_error + end end diff --git a/spec/unit/resource/reboot_spec.rb b/spec/unit/resource/reboot_spec.rb index adcfb9e6a4..baf628d6d0 100644 --- a/spec/unit/resource/reboot_spec.rb +++ b/spec/unit/resource/reboot_spec.rb @@ -21,12 +21,14 @@ describe Chef::Resource::Reboot do let(:resource) { Chef::Resource::Reboot.new("reboot me!") } - it "has a default action of :nothing" do + it "sets the default action as :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) + it "supports :request_reboot, :reboot_now, :cancel actions" do + expect { resource.action :request_reboot }.not_to raise_error + expect { resource.action :reboot_now }.not_to raise_error + expect { resource.action :cancel }.not_to raise_error end it "has a resource_name of :reboot" do diff --git a/spec/unit/resource/ruby_block_spec.rb b/spec/unit/resource/ruby_block_spec.rb index fd0da32123..9bfe2144d3 100644 --- a/spec/unit/resource/ruby_block_spec.rb +++ b/spec/unit/resource/ruby_block_spec.rb @@ -23,12 +23,21 @@ describe Chef::Resource::RubyBlock do let(:resource) { Chef::Resource::RubyBlock.new("fakey_fakerton") } - it "has a default action of 'run'" do + it "has a resource name of :ruby_block" do + expect(resource.resource_name).to eql(:ruby_block) + end + + it "the block_name property is the name_property" do + expect(resource.block_name).to eql("fakey_fakerton") + end + + it "sets the default action as :run" do expect(resource.action).to eql([:run]) end - it "has a resource name of :ruby_block" do - expect(resource.resource_name).to eql(:ruby_block) + it "supports :run, :create actions" do + expect { resource.action :run }.not_to raise_error + expect { resource.action :create }.not_to raise_error end it "accepts a ruby block/proc/.. for the 'block' parameter" do @@ -37,11 +46,6 @@ describe Chef::Resource::RubyBlock do end.call).to eql("foo") end - it "allows the action to be 'create'" do - resource.action :create - expect(resource.action).to eq([:create]) - end - describe "when it has been initialized with block code" do before do resource.block_name("puts 'harrrr'") diff --git a/spec/unit/resource/scm_spec.rb b/spec/unit/resource/scm_spec.rb index 33c2f17498..04e9b7c20e 100644 --- a/spec/unit/resource/scm_spec.rb +++ b/spec/unit/resource/scm_spec.rb @@ -22,12 +22,20 @@ require "spec_helper" describe Chef::Resource::Scm do let(:resource) { Chef::Resource::Scm.new("my awesome app") } - it "supports :checkout, :export, :sync, :diff, and :log actions" do - expect(resource.allowed_actions).to include(:checkout) - expect(resource.allowed_actions).to include(:export) - expect(resource.allowed_actions).to include(:sync) - expect(resource.allowed_actions).to include(:diff) - expect(resource.allowed_actions).to include(:log) + it "the destination property is the name_property" do + expect(resource.destination).to eql("my awesome app") + end + + it "sets the default action as :sync" do + expect(resource.action).to eql([:sync]) + end + + it "supports :sync, :checkout, :export, :diff, :log actions" do + expect { resource.action :sync }.not_to raise_error + expect { resource.action :checkout }.not_to raise_error + expect { resource.action :export }.not_to raise_error + expect { resource.action :diff }.not_to raise_error + expect { resource.action :log }.not_to raise_error end it "takes the destination path as a string" do diff --git a/spec/unit/resource/script_spec.rb b/spec/unit/resource/script_spec.rb index 554d99710e..3306ddb666 100644 --- a/spec/unit/resource/script_spec.rb +++ b/spec/unit/resource/script_spec.rb @@ -24,6 +24,14 @@ describe Chef::Resource::Script do let(:script_resource) { Chef::Resource::Script.new(resource_instance_name) } let(:resource_name) { :script } + it "sets the default action as :run" do + expect(script_resource.action).to eql([:run]) + end + + it "supports :run action" do + expect { script_resource.action :run }.not_to raise_error + end + it "accepts a string for the interpreter" do script_resource.interpreter "naaaaNaNaNaaNaaNaaNaa" expect(script_resource.interpreter).to eql("naaaaNaNaNaaNaaNaaNaa") diff --git a/spec/unit/resource/swap_file_spec.rb b/spec/unit/resource/swap_file_spec.rb index 905e12646a..223e07ed4f 100644 --- a/spec/unit/resource/swap_file_spec.rb +++ b/spec/unit/resource/swap_file_spec.rb @@ -24,7 +24,7 @@ describe Chef::Resource::SwapFile do expect(resource.resource_name).to eql(:swap_file) end - it "sets the path as its name" do + it "the path property is the name_property" do expect(resource.path).to eql("swapfile") end @@ -32,9 +32,8 @@ describe Chef::Resource::SwapFile do expect(resource.action).to eql([:create]) end - it "supports :create and :remove actions" do + it "supports :create, :remove actions" do expect { resource.action :create }.not_to raise_error expect { resource.action :remove }.not_to raise_error - expect { resource.action :delete }.to raise_error(ArgumentError) end end diff --git a/spec/unit/resource/sysctl_spec.rb b/spec/unit/resource/sysctl_spec.rb index 934db9b9e2..da3ae2f334 100644 --- a/spec/unit/resource/sysctl_spec.rb +++ b/spec/unit/resource/sysctl_spec.rb @@ -24,12 +24,17 @@ describe Chef::Resource::Sysctl do expect(resource.resource_name).to eql(:sysctl) end + it "the key property is the name_property" do + expect(resource.key).to eql("something.something") + end + it "sets the default action as :apply" do expect(resource.action).to eql([:apply]) end - it "sets the key property as its name property" do - expect(resource.key).to eql("something.something") + it "supports :apply, :remove actions" do + expect { resource.action :apply }.not_to raise_error + expect { resource.action :remove }.not_to raise_error end it "coerces Arrays in the value property to space delimited Strings" do @@ -46,11 +51,4 @@ describe Chef::Resource::Sysctl do resource.value 1.1 expect(resource.value).to eql("1.1") end - - it "supports :apply and :remove actions" do - expect { resource.action :apply }.not_to raise_error - expect { resource.action :remove }.not_to raise_error - expect { resource.action :delete }.to raise_error(ArgumentError) - expect { resource.action :install }.to raise_error(ArgumentError) - end end diff --git a/spec/unit/resource/systemd_unit_spec.rb b/spec/unit/resource/systemd_unit_spec.rb index 9d156402a1..e9e0192f91 100644 --- a/spec/unit/resource/systemd_unit_spec.rb +++ b/spec/unit/resource/systemd_unit_spec.rb @@ -35,15 +35,15 @@ describe Chef::Resource::SystemdUnit do } end - it "has a name property" do - expect(resource.name).to eql("sysstat-collect.timer") + it "the unit_name property is the name_property" do + expect(resource.unit_name).to eql("sysstat-collect.timer") end - it "has a default action of nothing" do + it "sets the default action as :nothing" do expect(resource.action).to eql([:nothing]) end - it "supports appropriate unit actions" do + it "supports :create, :delete, :preset, :revert, :enable, :disable, :reenable, :mask, :unmask, :start, :stop, :restart, :reload, :try_restart, :reload_or_restart, :reload_or_try_restart actions" do expect { resource.action :create }.not_to raise_error expect { resource.action :delete }.not_to raise_error expect { resource.action :preset }.not_to raise_error @@ -57,7 +57,9 @@ describe Chef::Resource::SystemdUnit do expect { resource.action :stop }.not_to raise_error expect { resource.action :restart }.not_to raise_error expect { resource.action :reload }.not_to raise_error - expect { resource.action :wrong }.to raise_error(ArgumentError) + expect { resource.action :try_restart }.not_to raise_error + expect { resource.action :reload_or_restart }.not_to raise_error + expect { resource.action :reload_or_try_restart }.not_to raise_error end it "accepts boolean state properties" do diff --git a/spec/unit/resource/windows_ad_join.rb b/spec/unit/resource/windows_ad_join.rb index b2c18c7b7e..c76a712841 100644 --- a/spec/unit/resource/windows_ad_join.rb +++ b/spec/unit/resource/windows_ad_join.rb @@ -28,14 +28,18 @@ describe Chef::Resource::WindowsAdJoin do expect(resource.domain_name).to eql("example.com") end - it "only accepts FQDNs for the domain_name property" do - expect { resource.domain_name "example" }.to raise_error(ArgumentError) - end - it "sets the default action as :join" do expect(resource.action).to eql([:join]) end + it "supports :join actions" do + expect { resource.action :join }.not_to raise_error + end + + it "only accepts FQDNs for the domain_name property" do + expect { resource.domain_name "example" }.to raise_error(ArgumentError) + end + it "accepts :immediate, :delayed, or :never values for 'reboot' property" do expect { resource.reboot :immediate }.not_to raise_error expect { resource.reboot :delayed }.not_to raise_error diff --git a/spec/unit/resource/windows_feature_dism.rb b/spec/unit/resource/windows_feature_dism.rb index 4ed8f68a2a..d8a2d8187e 100644 --- a/spec/unit/resource/windows_feature_dism.rb +++ b/spec/unit/resource/windows_feature_dism.rb @@ -31,11 +31,21 @@ describe Chef::Resource::WindowsFeatureDism do expect(resource.action).to eql([:install]) end - it "sets the feature_name property as its name_property" do + it "the feature_name property is the name_property" do node.automatic[:platform_version] = "6.2" expect(resource.feature_name).to eql(%w{snmp dhcp}) end + it "sets the default action as :install" do + expect(resource.action).to eql([:install]) + end + + it "supports :install, :remove, :delete actions" do + expect { resource.action :install }.not_to raise_error + expect { resource.action :remove }.not_to raise_error + expect { resource.action :delete }.not_to raise_error + end + it "coerces comma separated lists of features to a lowercase array on 2012+" do node.automatic[:platform_version] = "6.2" resource.feature_name "SNMP, DHCP" @@ -59,11 +69,4 @@ describe Chef::Resource::WindowsFeatureDism do resource.feature_name "SNMP" expect(resource.feature_name).to eql(["SNMP"]) end - - it "supports :install, :remove, and :delete actions" do - expect { resource.action :install }.not_to raise_error - expect { resource.action :remove }.not_to raise_error - expect { resource.action :delete }.not_to raise_error - expect { resource.action :update }.to raise_error(ArgumentError) - end end diff --git a/spec/unit/resource/windows_printer_port_spec.rb b/spec/unit/resource/windows_printer_port_spec.rb index f09d6752ba..a0267f81e2 100644 --- a/spec/unit/resource/windows_printer_port_spec.rb +++ b/spec/unit/resource/windows_printer_port_spec.rb @@ -28,6 +28,15 @@ describe Chef::Resource::WindowsPrinterPort do expect(resource.ipv4_address).to eql("63.192.209.236") end + it "sets the default action as :create" do + expect(resource.action).to eql([:create]) + end + + it "supports :create, :delete actions" do + expect { resource.action :create }.not_to raise_error + expect { resource.action :delete }.not_to raise_error + end + it "port_number property defaults to 9100" do expect(resource.port_number).to eql(9100) end @@ -46,16 +55,6 @@ describe Chef::Resource::WindowsPrinterPort do expect { resource.port_protocol 3 }.to raise_error(ArgumentError) end - it "sets the default action as :create" do - expect(resource.action).to eql([:create]) - end - - it "supports :create and :delete actions" do - expect { resource.action :create }.not_to raise_error - expect { resource.action :delete }.not_to raise_error - expect { resource.action :remove }.to raise_error(ArgumentError) - end - it "raises an error if ipv4_address isn't in X.X.X.X format" do expect { resource.ipv4_address "63.192.209.236" }.not_to raise_error expect { resource.ipv4_address "a.b.c.d" }.to raise_error(ArgumentError) diff --git a/spec/unit/resource/windows_service_spec.rb b/spec/unit/resource/windows_service_spec.rb index f5de5b6965..5c4c659844 100644 --- a/spec/unit/resource/windows_service_spec.rb +++ b/spec/unit/resource/windows_service_spec.rb @@ -33,6 +33,29 @@ describe Chef::Resource::WindowsService, "initialize" do expect(resource.resource_name).to eql(:windows_service) end + it "the service_name property is the name_property" do + expect(resource.service_name).to eql("BITS") + end + + it "sets the default action as :nothing" do + expect(resource.action).to eql([:nothing]) + end + + it "supports :enable, :disable, :start, :stop, :restart, :reload, :mask, :unmask, :configure_startup, :create, :delete, :configure actions" do + expect { resource.action :enable }.not_to raise_error + expect { resource.action :disable }.not_to raise_error + expect { resource.action :start }.not_to raise_error + expect { resource.action :stop }.not_to raise_error + expect { resource.action :restart }.not_to raise_error + expect { resource.action :reload }.not_to raise_error + expect { resource.action :mask }.not_to raise_error + expect { resource.action :unmask }.not_to raise_error + expect { resource.action :configure_startup }.not_to raise_error + expect { resource.action :create }.not_to raise_error + expect { resource.action :delete }.not_to raise_error + expect { resource.action :configure }.not_to raise_error + end + it "supports setting startup_type" do resource.startup_type(:manual) expect(resource.startup_type).to eql(:manual) -- cgit v1.2.1