diff options
author | Mikhail Zholobov <legal90@gmail.com> | 2015-04-05 20:01:41 +0300 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2015-10-24 12:01:11 -0700 |
commit | b59d53b868d45908929839b0eed5c25cb392ae49 (patch) | |
tree | 27a78db439700f4187d9edd2e5128c97c7c224ef | |
parent | 8bf1304da739d4be94edb101ad9e46c96b1d4ccd (diff) | |
download | chef-b59d53b868d45908929839b0eed5c25cb392ae49.tar.gz |
provider/user/dscl: Set "comment" default value
"comment" attribute should be defined to create user account properly on OS X.
Otherwise, the RealName will be empty.
-rw-r--r-- | lib/chef/provider/user/dscl.rb | 3 | ||||
-rw-r--r-- | spec/unit/provider/user/dscl_spec.rb | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/chef/provider/user/dscl.rb b/lib/chef/provider/user/dscl.rb index d9e235d4b1..a2c76ca6d7 100644 --- a/lib/chef/provider/user/dscl.rb +++ b/lib/chef/provider/user/dscl.rb @@ -195,9 +195,10 @@ user password using shadow hash.") # # Saves the specified Chef user `comment` into RealName attribute - # of Mac user. + # of Mac user. If `comment` is not specified, it takes `username` value. # def dscl_create_comment + @new_resource.comment(@new_resource.username) if @new_resource.comment.nil? run_dscl("create /Users/#{@new_resource.username} RealName '#{@new_resource.comment}'") end diff --git a/spec/unit/provider/user/dscl_spec.rb b/spec/unit/provider/user/dscl_spec.rb index e8cf6445be..a9407a4d7e 100644 --- a/spec/unit/provider/user/dscl_spec.rb +++ b/spec/unit/provider/user/dscl_spec.rb @@ -760,6 +760,13 @@ ea18e18b720e358e7fbe3cfbeaa561456f6ba008937a30") provider.dscl_create_comment end + it "sets the comment field to username" do + new_resource.comment nil + expect(provider).to receive(:run_dscl).with("create /Users/toor RealName '#mockssuck'").and_return(true) + provider.dscl_create_comment + expect(new_resource.comment).to eq("#mockssuck") + end + it "should run run_dscl with create /Users/user PrimaryGroupID to set the users primary group" do expect(provider).to receive(:run_dscl).with("create /Users/toor PrimaryGroupID '1001'").and_return(true) provider.dscl_set_gid |