diff --git a/lib/ohai/plugins/root_user.rb b/lib/ohai/plugins/root_user.rb new file mode 100644 index 000000000..19f40c450 --- /dev/null +++ b/lib/ohai/plugins/root_user.rb @@ -0,0 +1,27 @@ +# +# 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. +# + +Ohai.plugin(:RootUser) do + provides 'root_user' + + collect_data(:windows) do + root_user 'SYSTEM' + end + + collect_data(:default) do + root_user 'root' + end +end diff --git a/spec/unit/plugins/root_user_spec.rb b/spec/unit/plugins/root_user_spec.rb new file mode 100644 index 000000000..8ced199b8 --- /dev/null +++ b/spec/unit/plugins/root_user_spec.rb @@ -0,0 +1,41 @@ +# +# 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 File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') + +describe Ohai::System, 'root_user' do + let(:plugin) { get_plugin('root_user') } + + describe 'on windows', :windows_only do + before(:each) do + plugin.run + end + + it 'should return the user system' do + expect(plugin[:root_user]).to eq('SYSTEM') + end + end + + describe 'on unix based platforms', :unix_only do + before(:each) do + plugin.run + end + + it 'should return the user root' do + expect(plugin[:root_user]).to eq('root') + end + end +end