chef 14.1.12-universal-mingw32 → 14.2.0-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -6
  3. data/VERSION +1 -1
  4. data/chef.gemspec +2 -3
  5. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +8 -4
  6. data/lib/chef/cookbook/manifest_v0.rb +2 -2
  7. data/lib/chef/cookbook_manifest.rb +3 -2
  8. data/lib/chef/cookbook_version.rb +3 -2
  9. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +2 -2
  10. data/lib/chef/http/auth_credentials.rb +5 -3
  11. data/lib/chef/http/authenticator.rb +6 -3
  12. data/lib/chef/knife.rb +3 -6
  13. data/lib/chef/knife/configure.rb +12 -8
  14. data/lib/chef/knife/raw.rb +6 -1
  15. data/lib/chef/mixin/shell_out.rb +16 -14
  16. data/lib/chef/provider/execute.rb +4 -3
  17. data/lib/chef/provider/git.rb +1 -1
  18. data/lib/chef/provider/package/dnf.rb +5 -5
  19. data/lib/chef/provider/package/windows.rb +7 -0
  20. data/lib/chef/provider/package/yum.rb +7 -7
  21. data/lib/chef/provider/service/freebsd.rb +3 -3
  22. data/lib/chef/provider/service/init.rb +5 -5
  23. data/lib/chef/provider/service/macosx.rb +5 -4
  24. data/lib/chef/provider/service/simple.rb +4 -4
  25. data/lib/chef/provider/service/systemd.rb +13 -13
  26. data/lib/chef/provider/service/upstart.rb +3 -3
  27. data/lib/chef/provider/service/windows.rb +2 -0
  28. data/lib/chef/provider/systemd_unit.rb +4 -4
  29. data/lib/chef/provider/user.rb +18 -1
  30. data/lib/chef/provider/user/aix.rb +40 -8
  31. data/lib/chef/provider/user/dscl.rb +7 -14
  32. data/lib/chef/provider/user/linux.rb +1 -11
  33. data/lib/chef/provider/user/solaris.rb +57 -26
  34. data/lib/chef/provider/user/useradd.rb +4 -1
  35. data/lib/chef/provider/windows_task.rb +1 -0
  36. data/lib/chef/providers.rb +1 -2
  37. data/lib/chef/resource/execute.rb +4 -1
  38. data/lib/chef/resource/gem_package.rb +1 -1
  39. data/lib/chef/resource/hostname.rb +1 -1
  40. data/lib/chef/resource/sysctl.rb +3 -1
  41. data/lib/chef/resource/windows_ad_join.rb +16 -3
  42. data/lib/chef/resource_inspector.rb +13 -0
  43. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  44. data/lib/chef/server_api.rb +2 -0
  45. data/lib/chef/version.rb +1 -1
  46. data/spec/functional/mixin/shell_out_spec.rb +27 -1
  47. data/spec/functional/resource/execute_spec.rb +2 -2
  48. data/spec/functional/resource/windows_task_spec.rb +1 -1
  49. data/spec/support/shared/functional/securable_resource.rb +1 -1
  50. data/spec/support/shared/unit/execute_resource.rb +1 -1
  51. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +3 -3
  52. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +65 -0
  53. data/spec/unit/cookbook/manifest_v0_spec.rb +1 -1
  54. data/spec/unit/cookbook_manifest_spec.rb +2 -0
  55. data/spec/unit/dsl/recipe_spec.rb +1 -5
  56. data/spec/unit/http/authenticator_spec.rb +33 -8
  57. data/spec/unit/mixin/shell_out_spec.rb +61 -1
  58. data/spec/unit/provider/apt_update_spec.rb +7 -7
  59. data/spec/unit/provider/execute_spec.rb +16 -15
  60. data/spec/unit/provider/git_spec.rb +3 -3
  61. data/spec/unit/provider/package/windows_spec.rb +12 -0
  62. data/spec/unit/provider/script_spec.rb +2 -2
  63. data/spec/unit/provider/service/arch_service_spec.rb +9 -9
  64. data/spec/unit/provider/service/freebsd_service_spec.rb +6 -6
  65. data/spec/unit/provider/service/init_service_spec.rb +11 -11
  66. data/spec/unit/provider/service/invokercd_service_spec.rb +9 -9
  67. data/spec/unit/provider/service/macosx_spec.rb +11 -11
  68. data/spec/unit/provider/service/openbsd_service_spec.rb +6 -6
  69. data/spec/unit/provider/service/simple_service_spec.rb +4 -4
  70. data/spec/unit/provider/service/systemd_service_spec.rb +16 -16
  71. data/spec/unit/provider/service/upstart_service_spec.rb +12 -12
  72. data/spec/unit/provider/service/windows_spec.rb +5 -0
  73. data/spec/unit/provider/systemd_unit_spec.rb +163 -118
  74. data/spec/unit/provider/user/dscl_spec.rb +2 -9
  75. data/spec/unit/provider/user/solaris_spec.rb +2 -2
  76. data/spec/unit/provider/zypper_repository_spec.rb +3 -3
  77. data/spec/unit/provider_spec.rb +1 -5
  78. data/spec/unit/resource/apt_package_spec.rb +14 -0
  79. data/spec/unit/resource/apt_preference_spec.rb +14 -1
  80. data/spec/unit/resource/apt_repository_spec.rb +12 -3
  81. data/spec/unit/resource/apt_update_spec.rb +9 -0
  82. data/spec/unit/resource/bash_spec.rb +8 -0
  83. data/spec/unit/resource/bff_package_spec.rb +51 -0
  84. data/spec/unit/resource/breakpoint_spec.rb +4 -4
  85. data/spec/unit/resource/build_essential_spec.rb +5 -1
  86. data/spec/unit/resource/cab_package_spec.rb +10 -0
  87. data/spec/unit/resource/chef_gem_spec.rb +14 -0
  88. data/spec/unit/resource/chef_handler_spec.rb +9 -4
  89. data/spec/unit/resource/chocolatey_package_spec.rb +15 -1
  90. data/spec/unit/resource/conditional_spec.rb +3 -3
  91. data/spec/unit/resource/cookbook_file_spec.rb +13 -2
  92. data/spec/unit/resource/cron_spec.rb +2 -7
  93. data/spec/unit/resource/csh_spec.rb +8 -0
  94. data/spec/unit/resource/directory_spec.rb +4 -9
  95. data/spec/unit/resource/dmg_package_spec.rb +8 -4
  96. data/spec/unit/resource/dnf_package_spec.rb +16 -1
  97. data/spec/unit/resource/dpkg_package_spec.rb +18 -0
  98. data/spec/unit/resource/dsc_resource_spec.rb +6 -6
  99. data/spec/unit/resource/dsc_script_spec.rb +39 -39
  100. data/spec/unit/resource/execute_spec.rb +20 -12
  101. data/spec/unit/resource/file_spec.rb +10 -10
  102. data/spec/unit/resource/freebsd_package_spec.rb +16 -0
  103. data/spec/unit/resource/gem_package_spec.rb +27 -0
  104. data/spec/unit/resource/git_spec.rb +17 -2
  105. data/spec/unit/resource/group_spec.rb +18 -17
  106. data/spec/unit/resource/homebrew_cask_spec.rb +9 -4
  107. data/spec/unit/resource/homebrew_package_spec.rb +14 -0
  108. data/spec/unit/resource/homebrew_tap_spec.rb +8 -3
  109. data/spec/unit/resource/hostname_spec.rb +10 -6
  110. data/spec/unit/resource/http_request_spec.rb +14 -0
  111. data/spec/unit/resource/ips_package_spec.rb +15 -3
  112. data/spec/unit/resource/ksh_spec.rb +8 -0
  113. data/spec/unit/resource/launchd_spec.rb +11 -5
  114. data/spec/unit/resource/link_spec.rb +6 -11
  115. data/spec/unit/resource/log_spec.rb +8 -8
  116. data/spec/unit/resource/macos_user_defaults_spec.rb +5 -1
  117. data/spec/unit/resource/macports_package_spec.rb +19 -0
  118. data/spec/unit/resource/mdadm_spec.rb +7 -3
  119. data/spec/unit/resource/mount_spec.rb +15 -18
  120. data/spec/unit/resource/msu_package_spec.rb +10 -0
  121. data/spec/unit/resource/ohai_hint_spec.rb +9 -8
  122. data/spec/unit/resource/ohai_spec.rb +11 -3
  123. data/spec/unit/resource/openbsd_package_spec.rb +14 -0
  124. data/spec/unit/resource/openssl_dhparam.rb +10 -5
  125. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +10 -5
  126. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +9 -5
  127. data/spec/unit/resource/osx_profile_spec.rb +7 -4
  128. data/spec/unit/resource/package_spec.rb +14 -0
  129. data/spec/unit/resource/pacman_package_spec.rb +17 -3
  130. data/spec/unit/resource/paludis_package_spec.rb +36 -0
  131. data/spec/unit/resource/perl_spec.rb +8 -0
  132. data/spec/unit/resource/portage_package_spec.rb +14 -0
  133. data/spec/unit/resource/powershell_package_spec.rb +14 -0
  134. data/spec/unit/resource/python_spec.rb +8 -0
  135. data/spec/unit/resource/reboot_spec.rb +5 -3
  136. data/spec/unit/resource/registry_key_spec.rb +12 -1
  137. data/spec/unit/resource/remote_directory_spec.rb +11 -1
  138. data/spec/unit/resource/remote_file_spec.rb +19 -0
  139. data/spec/unit/resource/rhsm_errata_level_spec.rb +7 -3
  140. data/spec/unit/resource/rhsm_errata_spec.rb +8 -4
  141. data/spec/unit/resource/rhsm_register_spec.rb +6 -1
  142. data/spec/unit/resource/rhsm_repo_spec.rb +9 -4
  143. data/spec/unit/resource/rhsm_subscription_spec.rb +9 -4
  144. data/spec/unit/resource/route_spec.rb +4 -9
  145. data/spec/unit/resource/rpm_package_spec.rb +14 -0
  146. data/spec/unit/resource/ruby_block_spec.rb +12 -8
  147. data/spec/unit/resource/ruby_spec.rb +8 -0
  148. data/spec/unit/resource/scm_spec.rb +16 -8
  149. data/spec/unit/resource/script_spec.rb +8 -0
  150. data/spec/unit/resource/service_spec.rb +15 -0
  151. data/spec/unit/resource/smartos_package_spec.rb +18 -4
  152. data/spec/unit/resource/solaris_package_spec.rb +14 -0
  153. data/spec/unit/resource/subversion_spec.rb +14 -8
  154. data/spec/unit/resource/sudo_spec.rb +11 -4
  155. data/spec/unit/resource/swap_file_spec.rb +4 -5
  156. data/spec/unit/resource/sysctl_spec.rb +8 -10
  157. data/spec/unit/resource/systemd_unit_spec.rb +14 -12
  158. data/spec/unit/resource/template_spec.rb +19 -0
  159. data/spec/unit/resource/{windows_ad_join.rb → windows_ad_join_spec.rb} +12 -6
  160. data/spec/unit/resource/windows_auto_run_spec.rb +9 -9
  161. data/spec/unit/resource/windows_env_spec.rb +8 -16
  162. data/spec/unit/resource/windows_feature.rb +27 -8
  163. data/spec/unit/resource/windows_feature_dism.rb +30 -9
  164. data/spec/unit/resource/windows_feature_powershell.rb +7 -7
  165. data/spec/unit/resource/windows_font_spec.rb +3 -4
  166. data/spec/unit/resource/windows_package_spec.rb +12 -2
  167. data/spec/unit/resource/windows_pagefile_spec.rb +12 -8
  168. data/spec/unit/resource/windows_path_spec.rb +4 -5
  169. data/spec/unit/resource/windows_printer_port_spec.rb +20 -3
  170. data/spec/unit/resource/windows_printer_spec.rb +12 -5
  171. data/spec/unit/resource/windows_service_spec.rb +24 -1
  172. data/spec/unit/resource/windows_shortcut_spec.rb +4 -5
  173. data/spec/unit/resource/yum_repository_spec.rb +48 -2
  174. data/spec/unit/resource/zypper_package_spec.rb +51 -0
  175. data/spec/unit/resource/zypper_repository_spec.rb +56 -11
  176. data/spec/unit/resource_spec.rb +1 -5
  177. metadata +21 -12
  178. data/spec/functional/resource/user/useradd_spec.rb +0 -709
@@ -31,6 +31,20 @@ describe Chef::Resource::PowershellPackage do
31
31
  expect(resource.resource_name).to eql(:powershell_package)
32
32
  end
33
33
 
34
+ it "sets the default action as :install" do
35
+ expect(resource.action).to eql([:install])
36
+ end
37
+
38
+ it "supports :install, :lock, :purge, :reconfig, :remove, :unlock, :upgrade actions" do
39
+ expect { resource.action :install }.not_to raise_error
40
+ expect { resource.action :lock }.not_to raise_error
41
+ expect { resource.action :purge }.not_to raise_error
42
+ expect { resource.action :reconfig }.not_to raise_error
43
+ expect { resource.action :remove }.not_to raise_error
44
+ expect { resource.action :unlock }.not_to raise_error
45
+ expect { resource.action :upgrade }.not_to raise_error
46
+ end
47
+
34
48
  it "coerces its name to a package_name array" do
35
49
  expect(resource.package_name).to eql(["test_package"])
36
50
  end
@@ -29,4 +29,12 @@ describe Chef::Resource::Python do
29
29
  it "has an interpreter of python" do
30
30
  expect(resource.interpreter).to eql("python")
31
31
  end
32
+
33
+ it "sets the default action as :run" do
34
+ expect(resource.action).to eql([:run])
35
+ end
36
+
37
+ it "supports :run action" do
38
+ expect { resource.action :run }.not_to raise_error
39
+ end
32
40
  end
@@ -21,12 +21,14 @@ describe Chef::Resource::Reboot do
21
21
 
22
22
  let(:resource) { Chef::Resource::Reboot.new("reboot me!") }
23
23
 
24
- it "has a default action of :nothing" do
24
+ it "sets the default action as :nothing" do
25
25
  expect(resource.action).to eql([:nothing])
26
26
  end
27
27
 
28
- it "supports the :nothing, :request_reboot, :reboot_now, and :cancel actions" do
29
- expect(resource.allowed_actions).to include(:nothing, :request_reboot, :reboot_now, :cancel)
28
+ it "supports :cancel, :reboot_now, :request_reboot actions" do
29
+ expect { resource.action :cancel }.not_to raise_error
30
+ expect { resource.action :reboot_now }.not_to raise_error
31
+ expect { resource.action :request_reboot }.not_to raise_error
30
32
  end
31
33
 
32
34
  it "has a resource_name of :reboot" do
@@ -25,10 +25,21 @@ describe Chef::Resource::RegistryKey, "initialize" do
25
25
  expect(resource.resource_name).to eql(:registry_key)
26
26
  end
27
27
 
28
- it "sets the key property to the resource name" do
28
+ it "the key property is the name_property" do
29
29
  expect(resource.key).to eql('HKCU\Software\Raxicoricofallapatorius')
30
30
  end
31
31
 
32
+ it "sets the default action as :create" do
33
+ expect(resource.action).to eql([:create])
34
+ end
35
+
36
+ it "supports :create, :create_if_missing, :delete, :delete_key actions" do
37
+ expect { resource.action :create }.not_to raise_error
38
+ expect { resource.action :create_if_missing }.not_to raise_error
39
+ expect { resource.action :delete }.not_to raise_error
40
+ expect { resource.action :delete_key }.not_to raise_error
41
+ end
42
+
32
43
  it "defaults recursive to false" do
33
44
  expect(resource.recursive).to eql(false)
34
45
  end
@@ -22,10 +22,20 @@ describe Chef::Resource::RemoteDirectory do
22
22
 
23
23
  let(:resource) { Chef::Resource::RemoteDirectory.new("/etc/dunk") }
24
24
 
25
- it "path is the name property" do
25
+ it "the path property is the name_property" do
26
26
  expect(resource.path).to eql("/etc/dunk")
27
27
  end
28
28
 
29
+ it "sets the default action as :create" do
30
+ expect(resource.action).to eql([:create])
31
+ end
32
+
33
+ it "supports :create, :create_if_missing, :delete actions" do
34
+ expect { resource.action :create }.not_to raise_error
35
+ expect { resource.action :create_if_missing }.not_to raise_error
36
+ expect { resource.action :delete }.not_to raise_error
37
+ end
38
+
29
39
  it "accepts a string for the remote directory source" do
30
40
  resource.source "foo"
31
41
  expect(resource.source).to eql("foo")
@@ -23,6 +23,25 @@ describe Chef::Resource::RemoteFile do
23
23
 
24
24
  let(:resource) { Chef::Resource::RemoteFile.new("fakey_fakerton") }
25
25
 
26
+ describe "name_property" do
27
+ it "the path property is the name_property" do
28
+ expect(resource.path).to eql("fakey_fakerton")
29
+ end
30
+ end
31
+
32
+ describe "Actions" do
33
+ it "sets the default action as :create" do
34
+ expect(resource.action).to eql([:create])
35
+ end
36
+
37
+ it "supports :create, :create_if_missing, :delete, :touch actions" do
38
+ expect { resource.action :create }.not_to raise_error
39
+ expect { resource.action :create_if_missing }.not_to raise_error
40
+ expect { resource.action :delete }.not_to raise_error
41
+ expect { resource.action :touch }.not_to raise_error
42
+ end
43
+ end
44
+
26
45
  describe "initialize" do
27
46
  it "is a subclass of Chef::Resource::File" do
28
47
  expect(resource).to be_a_kind_of(Chef::Resource::File)
@@ -25,12 +25,16 @@ describe Chef::Resource::RhsmErrataLevel do
25
25
  expect(resource.resource_name).to eql(:rhsm_errata_level)
26
26
  end
27
27
 
28
- it "has a default action of install" do
28
+ it "the errata_level property is the name_property" do
29
+ expect(resource.errata_level).to eql("moderate")
30
+ end
31
+
32
+ it "sets the default action as :install" do
29
33
  expect(resource.action).to eql([:install])
30
34
  end
31
35
 
32
- it "the errata_level property is the name property" do
33
- expect(resource.errata_level).to eql("moderate")
36
+ it "supports :install action" do
37
+ expect { resource.action :install }.not_to raise_error
34
38
  end
35
39
 
36
40
  it "coerces the errata_level to be lowercase" do
@@ -19,17 +19,21 @@ require "spec_helper"
19
19
 
20
20
  describe Chef::Resource::RhsmErrata do
21
21
 
22
- let(:resource) { Chef::Resource::RhsmErrata.new("foo") }
22
+ let(:resource) { Chef::Resource::RhsmErrata.new("fakey_fakerton") }
23
23
 
24
24
  it "has a resource name of :rhsm_errata" do
25
25
  expect(resource.resource_name).to eql(:rhsm_errata)
26
26
  end
27
27
 
28
- it "has a default action of install" do
28
+ it "the errata_id property is the name_property" do
29
+ expect(resource.errata_id).to eql("fakey_fakerton")
30
+ end
31
+
32
+ it "sets the default action as :install" do
29
33
  expect(resource.action).to eql([:install])
30
34
  end
31
35
 
32
- it "the errata_id property is the name property" do
33
- expect(resource.errata_id).to eql("foo")
36
+ it "supports :install action" do
37
+ expect { resource.action :install }.not_to raise_error
34
38
  end
35
39
  end
@@ -26,10 +26,15 @@ describe Chef::Resource::RhsmRegister do
26
26
  expect(resource.resource_name).to eql(:rhsm_register)
27
27
  end
28
28
 
29
- it "has a default action of register" do
29
+ it "sets the default action as :register" do
30
30
  expect(resource.action).to eql([:register])
31
31
  end
32
32
 
33
+ it "supports :register, :unregister actions" do
34
+ expect { resource.action :register }.not_to raise_error
35
+ expect { resource.action :unregister }.not_to raise_error
36
+ end
37
+
33
38
  it "coerces activation_key to an array" do
34
39
  resource.activation_key "foo"
35
40
  expect(resource.activation_key).to eql(["foo"])
@@ -19,19 +19,24 @@ require "spec_helper"
19
19
 
20
20
  describe Chef::Resource::RhsmRepo do
21
21
 
22
- let(:resource) { Chef::Resource::RhsmRepo.new("foo") }
22
+ let(:resource) { Chef::Resource::RhsmRepo.new("fakey_fakerton") }
23
23
  let(:provider) { resource.provider_for_action(:enable) }
24
24
 
25
25
  it "has a resource name of :rhsm_repo" do
26
26
  expect(resource.resource_name).to eql(:rhsm_repo)
27
27
  end
28
28
 
29
- it "has a default action of enable" do
29
+ it "the repo_name property is the name_property" do
30
+ expect(resource.repo_name).to eql("fakey_fakerton")
31
+ end
32
+
33
+ it "sets the default action as :enable" do
30
34
  expect(resource.action).to eql([:enable])
31
35
  end
32
36
 
33
- it "the repo_name property is the name property" do
34
- expect(resource.repo_name).to eql("foo")
37
+ it "supports :disable, :enable actions" do
38
+ expect { resource.action :disable }.not_to raise_error
39
+ expect { resource.action :enable }.not_to raise_error
35
40
  end
36
41
 
37
42
  describe "#repo_enabled?" do
@@ -18,19 +18,24 @@
18
18
  require "spec_helper"
19
19
 
20
20
  describe Chef::Resource::RhsmSubscription do
21
- let(:resource) { Chef::Resource::RhsmSubscription.new("foo") }
21
+ let(:resource) { Chef::Resource::RhsmSubscription.new("fakey_fakerton") }
22
22
  let(:provider) { resource.provider_for_action(:attach) }
23
23
 
24
24
  it "has a resource name of :rhsm_subscription" do
25
25
  expect(resource.resource_name).to eql(:rhsm_subscription)
26
26
  end
27
27
 
28
- it "has a default action of attach" do
28
+ it "the pool_id property is the name_property" do
29
+ expect(resource.pool_id).to eql("fakey_fakerton")
30
+ end
31
+
32
+ it "sets the default action as :attach" do
29
33
  expect(resource.action).to eql([:attach])
30
34
  end
31
35
 
32
- it "the pool_id property is the name property" do
33
- expect(resource.pool_id).to eql("foo")
36
+ it "supports :attach, :remove actions" do
37
+ expect { resource.action :attach }.not_to raise_error
38
+ expect { resource.action :remove }.not_to raise_error
34
39
  end
35
40
 
36
41
  describe "#subscription_attached?" do
@@ -23,22 +23,17 @@ describe Chef::Resource::Route do
23
23
 
24
24
  let(:resource) { Chef::Resource::Route.new("10.0.0.10") }
25
25
 
26
- it "has a name property" do
27
- expect(resource.name).to eql("10.0.0.10")
26
+ it "the target property is the name_property" do
27
+ expect(resource.target).to eql("10.0.0.10")
28
28
  end
29
29
 
30
- it "has a default action of 'add'" do
30
+ it "sets the default action as :add" do
31
31
  expect(resource.action).to eql([:add])
32
32
  end
33
33
 
34
- it "accepts add or delete for action" do
34
+ it "supports :add, :delete actions" do
35
35
  expect { resource.action :add }.not_to raise_error
36
36
  expect { resource.action :delete }.not_to raise_error
37
- expect { resource.action :lolcat }.to raise_error(ArgumentError)
38
- end
39
-
40
- it "uses the object name as the target by default" do
41
- expect(resource.target).to eql("10.0.0.10")
42
37
  end
43
38
 
44
39
  it "allows you to specify the netmask" do
@@ -40,6 +40,20 @@ describe Chef::Resource::RpmPackage, "allow_downgrade" do
40
40
  expect(resource).to be_a_kind_of(Chef::Resource::Package)
41
41
  end
42
42
 
43
+ it "sets the default action as :install" do
44
+ expect(resource.action).to eql([:install])
45
+ end
46
+
47
+ it "supports :install, :lock, :purge, :reconfig, :remove, :unlock, :upgrade actions" do
48
+ expect { resource.action :install }.not_to raise_error
49
+ expect { resource.action :lock }.not_to raise_error
50
+ expect { resource.action :purge }.not_to raise_error
51
+ expect { resource.action :reconfig }.not_to raise_error
52
+ expect { resource.action :remove }.not_to raise_error
53
+ expect { resource.action :unlock }.not_to raise_error
54
+ expect { resource.action :upgrade }.not_to raise_error
55
+ end
56
+
43
57
  it "allows you to specify whether allow_downgrade is true or false" do
44
58
  expect { resource.allow_downgrade true }.not_to raise_error
45
59
  expect { resource.allow_downgrade false }.not_to raise_error
@@ -23,12 +23,21 @@ describe Chef::Resource::RubyBlock do
23
23
 
24
24
  let(:resource) { Chef::Resource::RubyBlock.new("fakey_fakerton") }
25
25
 
26
- it "has a default action of 'run'" do
26
+ it "has a resource name of :ruby_block" do
27
+ expect(resource.resource_name).to eql(:ruby_block)
28
+ end
29
+
30
+ it "the block_name property is the name_property" do
31
+ expect(resource.block_name).to eql("fakey_fakerton")
32
+ end
33
+
34
+ it "sets the default action as :run" do
27
35
  expect(resource.action).to eql([:run])
28
36
  end
29
37
 
30
- it "has a resource name of :ruby_block" do
31
- expect(resource.resource_name).to eql(:ruby_block)
38
+ it "supports :create, :run actions" do
39
+ expect { resource.action :create }.not_to raise_error
40
+ expect { resource.action :run }.not_to raise_error
32
41
  end
33
42
 
34
43
  it "accepts a ruby block/proc/.. for the 'block' parameter" do
@@ -37,11 +46,6 @@ describe Chef::Resource::RubyBlock do
37
46
  end.call).to eql("foo")
38
47
  end
39
48
 
40
- it "allows the action to be 'create'" do
41
- resource.action :create
42
- expect(resource.action).to eq([:create])
43
- end
44
-
45
49
  describe "when it has been initialized with block code" do
46
50
  before do
47
51
  resource.block_name("puts 'harrrr'")
@@ -25,6 +25,14 @@ describe Chef::Resource::Ruby do
25
25
  expect(resource.resource_name).to eql(:ruby)
26
26
  end
27
27
 
28
+ it "sets the default action as :run" do
29
+ expect(resource.action).to eql([:run])
30
+ end
31
+
32
+ it "supports :run action" do
33
+ expect { resource.action :run }.not_to raise_error
34
+ end
35
+
28
36
  it "has an interpreter of ruby" do
29
37
  expect(resource.interpreter).to eql("ruby")
30
38
  end
@@ -20,14 +20,22 @@
20
20
  require "spec_helper"
21
21
 
22
22
  describe Chef::Resource::Scm do
23
- let(:resource) { Chef::Resource::Scm.new("my awesome app") }
24
-
25
- it "supports :checkout, :export, :sync, :diff, and :log actions" do
26
- expect(resource.allowed_actions).to include(:checkout)
27
- expect(resource.allowed_actions).to include(:export)
28
- expect(resource.allowed_actions).to include(:sync)
29
- expect(resource.allowed_actions).to include(:diff)
30
- expect(resource.allowed_actions).to include(:log)
23
+ let(:resource) { Chef::Resource::Scm.new("fakey_fakerton") }
24
+
25
+ it "the destination property is the name_property" do
26
+ expect(resource.destination).to eql("fakey_fakerton")
27
+ end
28
+
29
+ it "sets the default action as :sync" do
30
+ expect(resource.action).to eql([:sync])
31
+ end
32
+
33
+ it "supports :checkout, :diff, :export, :log, :sync actions" do
34
+ expect { resource.action :checkout }.not_to raise_error
35
+ expect { resource.action :diff }.not_to raise_error
36
+ expect { resource.action :export }.not_to raise_error
37
+ expect { resource.action :log }.not_to raise_error
38
+ expect { resource.action :sync }.not_to raise_error
31
39
  end
32
40
 
33
41
  it "takes the destination path as a string" do
@@ -24,6 +24,14 @@ describe Chef::Resource::Script do
24
24
  let(:script_resource) { Chef::Resource::Script.new(resource_instance_name) }
25
25
  let(:resource_name) { :script }
26
26
 
27
+ it "sets the default action as :run" do
28
+ expect(script_resource.action).to eql([:run])
29
+ end
30
+
31
+ it "supports :run action" do
32
+ expect { script_resource.action :run }.not_to raise_error
33
+ end
34
+
27
35
  it "accepts a string for the interpreter" do
28
36
  script_resource.interpreter "naaaaNaNaNaaNaaNaaNaa"
29
37
  expect(script_resource.interpreter).to eql("naaaaNaNaNaaNaaNaaNaa")
@@ -30,6 +30,21 @@ describe Chef::Resource::Service do
30
30
  expect(resource.service_name).to eql("chef")
31
31
  end
32
32
 
33
+ it "sets the default action as :nothing" do
34
+ expect(resource.action).to eql([:nothing])
35
+ end
36
+
37
+ it "supports :disable, :enable, :mask, :reload, :restart, :start, :stop, :unmask actions" do
38
+ expect { resource.action :disable }.not_to raise_error
39
+ expect { resource.action :enable }.not_to raise_error
40
+ expect { resource.action :mask }.not_to raise_error
41
+ expect { resource.action :reload }.not_to raise_error
42
+ expect { resource.action :restart }.not_to raise_error
43
+ expect { resource.action :start }.not_to raise_error
44
+ expect { resource.action :stop }.not_to raise_error
45
+ expect { resource.action :unmask }.not_to raise_error
46
+ end
47
+
33
48
  it "sets the pattern to be the service name by default" do
34
49
  expect(resource.pattern).to eql("chef")
35
50
  end
@@ -1,6 +1,7 @@
1
1
  #
2
2
  # Author:: Thomas Bishop (<bishop.thomas@gmail.com>)
3
3
  # Copyright:: Copyright 2010-2016, Thomas Bishop
4
+ # Copyright:: Copyright 2018, Chef Software, Inc.
4
5
  # License:: Apache License, Version 2.0
5
6
  #
6
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,9 +18,8 @@
17
18
  #
18
19
 
19
20
  require "spec_helper"
20
- require "support/shared/unit/resource/static_provider_resolution"
21
21
 
22
- describe Chef::Resource::SmartosPackage, "initialize" do
22
+ describe Chef::Resource::SmartosPackage do
23
23
 
24
24
  static_provider_resolution(
25
25
  resource: Chef::Resource::SmartosPackage,
@@ -30,9 +30,23 @@ describe Chef::Resource::SmartosPackage, "initialize" do
30
30
  platform_family: "smartos"
31
31
  )
32
32
 
33
- let(:resource) { Chef::Resource::SmartosPackage.new("foo") }
33
+ let(:resource) { Chef::Resource::SmartosPackage.new("fakey_fakerton") }
34
34
 
35
35
  it "sets the package_name to the name provided" do
36
- expect(resource.package_name).to eql("foo")
36
+ expect(resource.package_name).to eql("fakey_fakerton")
37
+ end
38
+
39
+ it "sets the default action as :install" do
40
+ expect(resource.action).to eql([:install])
41
+ end
42
+
43
+ it "supports :install, :lock, :purge, :reconfig, :remove, :unlock, :upgrade actions" do
44
+ expect { resource.action :install }.not_to raise_error
45
+ expect { resource.action :lock }.not_to raise_error
46
+ expect { resource.action :purge }.not_to raise_error
47
+ expect { resource.action :reconfig }.not_to raise_error
48
+ expect { resource.action :remove }.not_to raise_error
49
+ expect { resource.action :unlock }.not_to raise_error
50
+ expect { resource.action :upgrade }.not_to raise_error
37
51
  end
38
52
  end