2015-09-20 23:55:00 +02:00
|
|
|
# encoding: utf-8
|
|
|
|
|
2018-01-02 14:04:13 -05:00
|
|
|
require 'resources/platform'
|
|
|
|
|
2016-03-08 13:06:55 -05:00
|
|
|
module Inspec::Resources
|
2018-01-02 14:04:13 -05:00
|
|
|
class OSResource < PlatformResource
|
2016-03-08 13:06:55 -05:00
|
|
|
name 'os'
|
2018-02-19 06:26:49 -08:00
|
|
|
supports platform: 'unix'
|
|
|
|
supports platform: 'windows'
|
2016-03-08 13:06:55 -05:00
|
|
|
desc 'Use the os InSpec audit resource to test the platform on which the system is running.'
|
|
|
|
example "
|
2016-09-21 11:33:17 +05:30
|
|
|
describe os[:family] do
|
2016-03-08 13:06:55 -05:00
|
|
|
it { should eq 'redhat' }
|
|
|
|
end
|
2016-05-30 10:32:28 +02:00
|
|
|
|
|
|
|
describe os.redhat? do
|
|
|
|
it { should eq true }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe os.linux? do
|
|
|
|
it { should eq true }
|
|
|
|
end
|
2016-03-08 13:06:55 -05:00
|
|
|
"
|
2015-09-20 23:55:00 +02:00
|
|
|
|
2016-03-08 13:06:55 -05:00
|
|
|
# reuse helper methods from backend
|
2016-08-19 15:18:53 -07:00
|
|
|
%w{aix? redhat? debian? suse? bsd? solaris? linux? unix? windows? hpux? darwin?}.each do |os_family|
|
2016-03-08 13:06:55 -05:00
|
|
|
define_method(os_family.to_sym) do
|
2018-01-02 14:04:13 -05:00
|
|
|
@platform.send(os_family)
|
2016-05-30 10:32:28 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-03-08 13:06:55 -05:00
|
|
|
def to_s
|
|
|
|
'Operating System Detection'
|
|
|
|
end
|
2015-09-20 23:55:00 +02:00
|
|
|
end
|
|
|
|
end
|