diff options
| author | Tim Smith <tsmith84@gmail.com> | 2020-07-20 12:56:15 -0700 |
|---|---|---|
| committer | Tim Smith <tsmith84@gmail.com> | 2020-07-20 12:56:15 -0700 |
| commit | cdd4db7607792640a709c38aebf16d750618b4df (patch) | |
| tree | 0b298a557b88b8e18b4fa0ef27e8a5a3d3303133 /spec/unit | |
| parent | c220880c0b81ee13bb02aa0a14ee09ed59076022 (diff) | |
| download | chef-cdd4db7607792640a709c38aebf16d750618b4df.tar.gz | |
Avoid failures if the host was named "current" and add some more tests
Signed-off-by: Tim Smith <tsmith@chef.io>
Diffstat (limited to 'spec/unit')
| -rw-r--r-- | spec/unit/resource/macos_user_defaults_spec.rb | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/spec/unit/resource/macos_user_defaults_spec.rb b/spec/unit/resource/macos_user_defaults_spec.rb index e839401d6f..6326313642 100644 --- a/spec/unit/resource/macos_user_defaults_spec.rb +++ b/spec/unit/resource/macos_user_defaults_spec.rb @@ -20,7 +20,7 @@ require "spec_helper" describe Chef::Resource::MacosUserDefaults do let(:resource) { Chef::Resource::MacosUserDefaults.new("foo") } - let(:provider) { resource.provider_for_action(:create) } + let(:provider) { resource.provider_for_action(:write) } it "has a resource name of :macos_userdefaults" do expect(resource.resource_name).to eql(:macos_userdefaults) @@ -66,4 +66,36 @@ describe Chef::Resource::MacosUserDefaults do expect(provider.defaults_export_cmd(resource)).to eql(["/usr/bin/defaults", "-host", "tim-laptop", "export", "NSGlobalDomain", "-"]) end end + + describe "#defaults_modify_cmd" do + # avoid needing to set these required values over and over. We'll overwrite them where necessary + before do + resource.key = "foo" + resource.value = "bar" + end + + it "writes to NSGlobalDomain if domain isn't specified" do + expect(provider.defaults_modify_cmd).to eql(["/usr/bin/defaults", "write", "NSGlobalDomain", "foo", "bar"]) + end + + it "uses the domain property if set" do + resource.domain = "MyCustomDomain" + expect(provider.defaults_modify_cmd).to eql(["/usr/bin/defaults", "write", "MyCustomDomain", "foo", "bar"]) + end + + it "sets host specific values using host property" do + resource.host = "tims_laptop" + expect(provider.defaults_modify_cmd).to eql(["/usr/bin/defaults", "-host", "tims_laptop", "write", "NSGlobalDomain", "foo", "bar"]) + end + + it "if host is set to :current it passes CurrentHost" do + resource.host = :current + expect(provider.defaults_modify_cmd).to eql(["/usr/bin/defaults", "-currentHost", "write", "NSGlobalDomain", "foo", "bar"]) + end + + it "if host is set to :current it passes CurrentHost" do + resource.host = :current + expect(provider.defaults_modify_cmd).to eql(["/usr/bin/defaults", "-currentHost", "write", "NSGlobalDomain", "foo", "bar"]) + end + end end |
