2015-10-06 16:55:44 +00:00
# author: Christoph Hartmann
# author: Dominik Richter
2015-09-14 13:15:32 +00:00
require 'helper'
2015-10-26 03:04:18 +00:00
require 'inspec/resource'
2016-05-06 15:38:56 +00:00
require 'hashie'
2015-09-14 13:15:32 +00:00
2015-10-26 03:04:18 +00:00
describe 'Inspec::Resources::Service' do
2016-02-14 17:18:40 +00:00
let ( :runlevels ) { { 0 = > false , 1 = > false , 2 = > true , 3 = > true , 4 = > true , 5 = > true , 6 = > false } }
2015-09-14 13:15:32 +00:00
2015-09-22 16:33:05 +00:00
# windows
2015-09-23 14:30:48 +00:00
it 'verify service parsing' do
resource = MockLoader . new ( :windows ) . load_resource ( 'service' , 'dhcp' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'windows'
_ ( resource . name ) . must_equal 'dhcp'
_ ( resource . description ) . must_equal 'DHCP Client'
2015-09-23 14:30:48 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-08-23 20:31:10 +00:00
_ ( resource . startmode ) . must_equal 'Auto'
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-23 14:30:48 +00:00
end
2015-09-23 20:32:31 +00:00
2015-09-25 08:31:42 +00:00
# ubuntu 14.04 with upstart
2017-06-15 17:19:58 +00:00
it 'verify ubuntu service parsing' do
2015-09-23 20:32:31 +00:00
resource = MockLoader . new ( :ubuntu1404 ) . load_resource ( 'service' , 'ssh' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'upstart'
_ ( resource . name ) . must_equal 'ssh'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2015-09-23 20:32:31 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-23 20:32:31 +00:00
end
2015-09-25 10:48:21 +00:00
2017-06-15 17:19:58 +00:00
it 'verify ubuntu service parsing with default upstart_service' do
2016-01-20 14:54:36 +00:00
resource = MockLoader . new ( :ubuntu1404 ) . load_resource ( 'upstart_service' , 'ssh' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'upstart'
_ ( resource . name ) . must_equal 'ssh'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-01-20 14:54:36 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2017-06-11 10:16:10 +00:00
_ ( resource . params . UnitFileState ) . must_be_nil
2016-01-20 14:54:36 +00:00
end
2015-09-25 08:31:42 +00:00
# ubuntu 15.04 with systemd
2017-06-15 17:19:58 +00:00
it 'verify ubuntu service parsing' do
2015-09-25 08:31:42 +00:00
resource = MockLoader . new ( :ubuntu1504 ) . load_resource ( 'service' , 'sshd' )
2016-07-05 17:39:25 +00:00
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
2016-05-06 15:38:56 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
2015-09-25 08:31:42 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
_ ( resource . params . SubState ) . must_equal 'running'
2015-09-25 08:31:42 +00:00
end
2017-06-15 17:19:58 +00:00
it 'verify ubuntu service parsing with default systemd_service' do
2016-01-20 13:33:24 +00:00
resource = MockLoader . new ( :ubuntu1504 ) . load_resource ( 'systemd_service' , 'sshd' )
2016-07-05 17:39:25 +00:00
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
2016-05-06 15:38:56 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
2016-01-20 13:33:24 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2016-01-20 13:33:24 +00:00
end
2016-10-08 21:03:59 +00:00
# linux mint 17 with upstart
2017-06-15 17:19:58 +00:00
it 'verify mint service parsing' do
2016-10-08 21:03:59 +00:00
resource = MockLoader . new ( :mint17 ) . load_resource ( 'service' , 'ssh' )
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'upstart'
_ ( resource . name ) . must_equal 'ssh'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-10-08 21:03:59 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
end
2017-06-15 17:19:58 +00:00
it 'verify mint service parsing with default upstart_service' do
2016-10-08 21:03:59 +00:00
resource = MockLoader . new ( :mint17 ) . load_resource ( 'upstart_service' , 'ssh' )
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'upstart'
_ ( resource . name ) . must_equal 'ssh'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-10-08 21:03:59 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
2017-06-11 10:16:10 +00:00
_ ( resource . params . UnitFileState ) . must_be_nil
2016-10-08 21:03:59 +00:00
end
# mint 18 with systemd
2017-06-15 17:19:58 +00:00
it 'verify mint service parsing' do
2016-10-08 21:03:59 +00:00
resource = MockLoader . new ( :mint18 ) . load_resource ( 'service' , 'sshd' )
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
_ ( resource . params . SubState ) . must_equal 'running'
end
2017-06-15 17:19:58 +00:00
it 'verify mint service parsing with default systemd_service' do
2016-10-08 21:03:59 +00:00
resource = MockLoader . new ( :mint18 ) . load_resource ( 'systemd_service' , 'sshd' )
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
_ ( resource . type ) . must_equal 'systemd'
2018-04-19 17:00:39 +00:00
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
end
# Amazon Linux
it 'verify amazon linux service parsing' do
resource = MockLoader . new ( :amazon ) . load_resource ( 'service' , 'ssh' )
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'upstart'
_ ( resource . name ) . must_equal 'ssh'
_ ( resource . description ) . must_be_nil
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
_ ( resource . params . UnitFileState ) . must_be_nil
end
# Amazon Linux 2
it 'verify amazon linux 2 service parsing' do
resource = MockLoader . new ( :amazon2 ) . load_resource ( 'service' , 'sshd' )
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
_ ( resource . type ) . must_equal 'systemd'
2016-10-08 21:03:59 +00:00
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
end
2016-01-20 14:54:36 +00:00
# centos 6 with sysv
2017-06-15 17:19:58 +00:00
it 'verify centos 6 service parsing' do
2015-09-25 09:47:59 +00:00
resource = MockLoader . new ( :centos6 ) . load_resource ( 'service' , 'sshd' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'sysv'
_ ( resource . name ) . must_equal 'sshd'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2015-09-25 09:47:59 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2017-06-11 10:16:10 +00:00
_ ( resource . params . SubState ) . must_be_nil
2015-09-25 09:47:59 +00:00
end
2017-06-15 17:19:58 +00:00
it 'verify centos 6 service parsing with default sysv_service' do
2016-01-20 14:54:36 +00:00
resource = MockLoader . new ( :centos6 ) . load_resource ( 'sysv_service' , 'sshd' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'sysv'
_ ( resource . name ) . must_equal 'sshd'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-01-20 14:54:36 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2016-01-20 14:54:36 +00:00
end
2015-09-25 10:48:21 +00:00
# centos 7 with systemd
2017-06-15 17:19:58 +00:00
it 'verify centos 7 service parsing' do
2015-09-25 10:48:21 +00:00
resource = MockLoader . new ( :centos7 ) . load_resource ( 'service' , 'sshd' )
2016-07-05 17:39:25 +00:00
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
2016-05-06 15:38:56 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
2015-09-25 10:48:21 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-25 10:48:21 +00:00
end
2015-09-24 21:32:46 +00:00
2017-06-15 17:19:58 +00:00
it 'verify centos 7 service parsing with systemd_service and service_ctl override' do
2016-01-21 10:41:48 +00:00
resource = MockLoader . new ( :centos7 ) . load_resource ( 'systemd_service' , 'sshd' , '/path/to/systemctl' )
2016-07-05 17:39:25 +00:00
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'UnitFileState' = > 'enabled' , 'SubState' = > 'running' } )
2016-05-06 15:38:56 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
2016-01-21 10:41:48 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2016-01-21 10:41:48 +00:00
end
2017-06-15 17:19:58 +00:00
it 'verify centos 7 service parsing with static loaded service' do
2016-04-13 19:44:28 +00:00
resource = MockLoader . new ( :centos7 ) . load_resource ( 'service' , 'dbus' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { 'Description' = > 'D-Bus System Message Bus' , 'Id' = > 'dbus.service' , 'LoadState' = > 'loaded' , 'Names' = > 'messagebus.service dbus.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'static' } )
2018-08-22 19:58:38 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'dbus.service'
_ ( resource . description ) . must_equal 'D-Bus System Message Bus'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
_ ( resource . params . UnitFileState ) . must_equal 'static'
end
# cloudlinux 7 with systemd
it 'verify cloudlinux 7 service parsing' do
resource = MockLoader . new ( :cloudlinux ) . load_resource ( 'service' , 'sshd' )
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
end
it 'verify cloudlinux 7 service parsing with systemd_service and service_ctl override' do
resource = MockLoader . new ( :cloudlinux ) . load_resource ( 'systemd_service' , 'sshd' , '/path/to/systemctl' )
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'UnitFileState' = > 'enabled' , 'SubState' = > 'running' } )
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
end
it 'verify cloudlinux 7 service parsing with static loaded service' do
resource = MockLoader . new ( :cloudlinux ) . load_resource ( 'service' , 'dbus' )
params = Hashie :: Mash . new ( { 'Description' = > 'D-Bus System Message Bus' , 'Id' = > 'dbus.service' , 'LoadState' = > 'loaded' , 'Names' = > 'messagebus.service dbus.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'static' } )
2016-05-06 15:38:56 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'dbus.service'
_ ( resource . description ) . must_equal 'D-Bus System Message Bus'
2016-04-13 19:44:28 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
_ ( resource . params . UnitFileState ) . must_equal 'static'
2016-04-13 19:44:28 +00:00
end
2015-09-25 10:53:40 +00:00
# freebsd
2017-06-15 17:19:58 +00:00
it 'verify freebsd10 service parsing' do
2015-09-25 10:53:40 +00:00
resource = MockLoader . new ( :freebsd10 ) . load_resource ( 'service' , 'sendmail' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'bsd-init'
_ ( resource . name ) . must_equal 'sendmail'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2015-09-25 10:53:40 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-25 10:53:40 +00:00
end
2017-06-15 17:19:58 +00:00
it 'verify freebsd10 service parsing with default bsd_service' do
2016-01-20 14:54:36 +00:00
resource = MockLoader . new ( :freebsd10 ) . load_resource ( 'bsd_service' , 'sendmail' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'bsd-init'
_ ( resource . name ) . must_equal 'sendmail'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-01-20 14:54:36 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2016-01-20 14:54:36 +00:00
end
2015-09-24 21:37:31 +00:00
# arch linux with systemd
2017-06-15 17:19:58 +00:00
it 'verify arch linux service parsing' do
2015-09-24 21:37:31 +00:00
resource = MockLoader . new ( :arch ) . load_resource ( 'service' , 'sshd' )
2016-07-05 17:39:25 +00:00
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
2016-05-06 15:38:56 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
2015-09-24 21:37:31 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-24 21:37:31 +00:00
end
2017-06-15 17:19:58 +00:00
# coreos linux with systemd
it 'verify coreos linux service parsing' do
resource = MockLoader . new ( :coreos ) . load_resource ( 'service' , 'sshd' )
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
end
2015-09-25 09:47:59 +00:00
# debian 7 with systemv
2017-06-15 17:19:58 +00:00
it 'verify debian 7 service parsing' do
2015-09-25 09:47:59 +00:00
resource = MockLoader . new ( :debian7 ) . load_resource ( 'service' , 'sshd' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'sysv'
_ ( resource . name ) . must_equal 'sshd'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2015-09-25 09:47:59 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-25 09:47:59 +00:00
end
2015-09-24 21:32:46 +00:00
# debian 8 with systemd
2017-06-15 17:19:58 +00:00
it 'verify debian 8 service parsing' do
2015-09-25 09:50:48 +00:00
resource = MockLoader . new ( :debian8 ) . load_resource ( 'service' , 'sshd' )
2016-07-05 17:39:25 +00:00
params = Hashie :: Mash . new ( { 'ActiveState' = > 'active' , 'Description' = > 'OpenSSH server daemon' , 'Id' = > 'sshd.service' , 'LoadState' = > 'loaded' , 'Names' = > 'sshd.service' , 'SubState' = > 'running' , 'UnitFileState' = > 'enabled' } )
2016-05-06 15:38:56 +00:00
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'sshd.service'
_ ( resource . description ) . must_equal 'OpenSSH server daemon'
2015-09-24 21:32:46 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-24 21:32:46 +00:00
end
2018-01-23 20:34:47 +00:00
# debian 8 with systemd but no service file
it 'gets the correct service info when the `.service` file is missing' do
resource = MockLoader . new ( :debian8 ) . load_resource ( 'service' , 'apache2' )
params = Hashie :: Mash . new (
'ActiveState' = > 'active' ,
'Description' = > 'LSB: Apache2 web server' ,
'Id' = > 'apache2.service' ,
'LoadState' = > 'loaded' ,
'Names' = > 'apache2.service' ,
'SubState' = > 'running' ,
'UnitFileState' = > ''
)
_ ( resource . type ) . must_equal 'systemd'
_ ( resource . name ) . must_equal 'apache2.service'
_ ( resource . description ) . must_equal 'LSB: Apache2 web server'
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
_ ( resource . params ) . must_equal params
end
2015-09-25 10:51:12 +00:00
# macos test
2017-06-15 17:19:58 +00:00
it 'verify mac osx service parsing' do
2015-09-25 10:51:12 +00:00
resource = MockLoader . new ( :osx104 ) . load_resource ( 'service' , 'ssh' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'darwin'
_ ( resource . name ) . must_equal 'org.openbsd.ssh-agent'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2015-09-25 10:51:12 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-25 10:51:12 +00:00
end
2017-06-15 17:19:58 +00:00
it 'verify mac osx service parsing with not-running service' do
2016-01-22 10:52:06 +00:00
resource = MockLoader . new ( :osx104 ) . load_resource ( 'service' , 'FilesystemUI' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'darwin'
_ ( resource . name ) . must_equal 'com.apple.FilesystemUI'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-01-22 10:52:06 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal false
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2016-01-22 10:52:06 +00:00
end
2017-06-15 17:19:58 +00:00
it 'verify mac osx service parsing with default launchd_service' do
2016-01-20 14:54:36 +00:00
resource = MockLoader . new ( :osx104 ) . load_resource ( 'launchd_service' , 'ssh' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'darwin'
_ ( resource . name ) . must_equal 'org.openbsd.ssh-agent'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-01-20 14:54:36 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2016-01-20 14:54:36 +00:00
end
2015-12-03 03:08:49 +00:00
# wrlinux
2017-06-15 17:19:58 +00:00
it 'verify wrlinux service parsing' do
2015-12-03 03:08:49 +00:00
resource = MockLoader . new ( :wrlinux ) . load_resource ( 'service' , 'sshd' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
_ ( resource . type ) . must_equal 'sysv'
_ ( resource . name ) . must_equal 'sshd'
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2015-12-03 03:08:49 +00:00
_ ( resource . installed? ) . must_equal true
_ ( resource . enabled? ) . must_equal true
_ ( resource . running? ) . must_equal true
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-12-03 03:08:49 +00:00
end
2016-01-20 14:54:36 +00:00
2015-09-23 14:32:51 +00:00
# unknown OS
2017-06-15 17:19:58 +00:00
it 'verify service handling on unsupported os' do
2015-09-23 14:32:51 +00:00
resource = MockLoader . new ( :undefined ) . load_resource ( 'service' , 'dhcp' )
2016-05-06 15:38:56 +00:00
params = Hashie :: Mash . new ( { } )
2015-09-23 14:32:51 +00:00
_ ( resource . installed? ) . must_equal false
2017-06-11 10:16:10 +00:00
_ ( resource . description ) . must_be_nil
2016-05-06 15:38:56 +00:00
_ ( resource . params ) . must_equal params
2015-09-23 14:32:51 +00:00
end
2016-02-14 17:37:20 +00:00
# runlevel detection
describe 'runlevels on centos 6 (system V)' do
let ( :service ) { MockLoader . new ( :centos6 ) . load_resource ( 'service' , 'sshd' ) }
it 'grabs all runlevels' do
service . runlevels . keys . must_equal [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ]
end
it 'grabs runlevels via filter nil' do
service . runlevels ( nil ) . keys . must_equal [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ]
end
it 'grabs runlevels by number' do
service . runlevels ( 3 ) . keys . must_equal [ 3 ]
end
it 'grabs runlevels by multiple numbers' do
service . runlevels ( 3 , 4 , 8 ) . keys . must_equal [ 3 , 4 ]
end
it 'grabs runlevels via regex' do
service . runlevels ( / [5-9] / ) . keys . must_equal [ 5 , 6 ]
end
it 'checks enabled true if all services are enabled' do
service . runlevels ( 2 , 4 ) . enabled? . must_equal true
end
it 'checks enabled false if some services are not enabled' do
service . runlevels ( 1 , 4 ) . enabled? . must_equal false
end
it 'checks disabled true if all services are disabled' do
service . runlevels ( 0 , 1 ) . disabled? . must_equal true
end
it 'checks disabled false if some services are not disabled' do
service . runlevels ( 0 , 4 ) . enabled? . must_equal false
end
end
2015-09-14 13:15:32 +00:00
end