diff options
Diffstat (limited to 'spec/functional/win32/sid_spec.rb')
-rw-r--r-- | spec/functional/win32/sid_spec.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/spec/functional/win32/sid_spec.rb b/spec/functional/win32/sid_spec.rb new file mode 100644 index 0000000000..1f5f66178a --- /dev/null +++ b/spec/functional/win32/sid_spec.rb @@ -0,0 +1,55 @@ +# +# Author:: Dan Bjorge (<dbjorge@gmail.com>) +# Copyright:: Copyright (c) 2015 Dan Bjorge +# 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' +if Chef::Platform.windows? + require 'chef/win32/security' +end + +describe 'Chef::ReservedNames::Win32::SID', :windows_only do + if Chef::Platform.windows? + SID ||= Chef::ReservedNames::Win32::Security::SID + end + + it 'should resolve default_security_object_group as a sane user group', :windows_not_domain_joined_only do + # Domain accounts: domain-specific Domain Users SID + # Microsoft Accounts: SID.current_user + # Else: SID.None + expect(SID.default_security_object_group).to eq(SID.None).or eq(SID.current_user) + end + + context 'running as an elevated administrator user' do + it 'should resolve default_security_object_owner as the Administrators group' do + expect(SID.default_security_object_owner).to eq(SID.Administrators) + end + end + + context 'running as a non-elevated administrator user' do + it 'should resolve default_security_object_owner as the current user' do + skip 'requires user support in mixlib-shellout, see security_spec.rb' + expect(SID.default_security_object_owner).to eq(SID.Administrators) + end + end + + context 'running as a non-elevated, non-administrator user' do + it 'should resolve default_security_object_owner as the current user' do + skip 'requires user support in mixlib-shellout, see security_spec.rb' + expect(SID.default_security_object_owner).to eq(SID.current_user) + end + end +end |