2015-10-08 10:11:55 +00:00
|
|
|
# author: Christoph Hartmann
|
|
|
|
# author: Dominik Richter
|
|
|
|
|
|
|
|
require 'helper'
|
2015-10-26 03:04:18 +00:00
|
|
|
require 'inspec/resource'
|
2015-10-08 10:11:55 +00:00
|
|
|
|
2015-10-26 03:04:18 +00:00
|
|
|
describe 'Inspec::Resources::Interface' do
|
2015-10-08 10:11:55 +00:00
|
|
|
|
|
|
|
# ubuntu 14.04
|
|
|
|
it 'verify interface on ubuntu' do
|
|
|
|
resource = MockLoader.new(:ubuntu1404).load_resource('interface', 'eth0')
|
|
|
|
_(resource.exists?).must_equal true
|
|
|
|
_(resource.up?).must_equal true
|
|
|
|
_(resource.speed).must_equal 10000
|
2019-03-18 22:53:51 +00:00
|
|
|
_(resource.ipv4_cidrs).must_include '127.0.0.1/8'
|
|
|
|
_(resource.ipv4_addresses).must_include '127.0.0.1'
|
|
|
|
_(resource.ipv4_addresses_netmask).must_include '127.0.0.1/255.0.0.0'
|
|
|
|
_(resource.ipv6_cidrs).must_include '::1/128'
|
|
|
|
_(resource.ipv6_addresses).must_include '::1'
|
|
|
|
_(resource.ipv4_address?).must_equal true
|
|
|
|
_(resource.ipv6_address?).must_equal true
|
2015-10-08 10:11:55 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'verify invalid interface on ubuntu' do
|
|
|
|
resource = MockLoader.new(:ubuntu1404).load_resource('interface', 'eth1')
|
|
|
|
_(resource.exists?).must_equal false
|
|
|
|
_(resource.up?).must_equal false
|
2017-06-11 10:16:10 +00:00
|
|
|
_(resource.speed).must_be_nil
|
2019-03-18 22:53:51 +00:00
|
|
|
_(resource.ipv4_cidrs).must_be_empty
|
|
|
|
_(resource.ipv4_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_addresses_netmask).must_be_empty
|
|
|
|
_(resource.ipv6_cidrs).must_be_empty
|
|
|
|
_(resource.ipv6_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_address?).must_equal false
|
|
|
|
_(resource.ipv6_address?).must_equal false
|
2015-10-08 10:11:55 +00:00
|
|
|
end
|
2015-10-08 11:01:09 +00:00
|
|
|
|
2019-03-18 22:53:51 +00:00
|
|
|
# windows
|
2015-10-08 11:01:09 +00:00
|
|
|
it 'verify interface on windows' do
|
|
|
|
resource = MockLoader.new(:windows).load_resource('interface', 'ethernet0')
|
|
|
|
_(resource.exists?).must_equal true
|
|
|
|
_(resource.up?).must_equal false
|
|
|
|
_(resource.speed).must_equal 0
|
2019-03-18 22:53:51 +00:00
|
|
|
_(resource.ipv4_address?).must_equal false
|
|
|
|
_(resource.ipv6_address?).must_equal false
|
|
|
|
_(resource.ipv4_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_addresses_netmask).must_be_empty
|
|
|
|
_(resource.ipv6_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_cidrs).must_be_empty
|
|
|
|
_(resource.ipv6_cidrs).must_be_empty
|
2015-10-08 11:01:09 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'verify interface on windows' do
|
|
|
|
resource = MockLoader.new(:windows).load_resource('interface', 'vEthernet (Intel(R) PRO 1000 MT Network Connection - Virtual Switch)')
|
|
|
|
_(resource.exists?).must_equal true
|
|
|
|
_(resource.up?).must_equal true
|
|
|
|
_(resource.speed).must_equal 10000000
|
2019-03-18 22:53:51 +00:00
|
|
|
_(resource.ipv4_cidrs).must_include '127.0.0.1/8'
|
|
|
|
_(resource.ipv4_addresses).must_include '127.0.0.1'
|
|
|
|
_(resource.ipv4_addresses_netmask).must_include '127.0.0.1/255.0.0.0'
|
|
|
|
_(resource.ipv6_cidrs).must_include '::1/128'
|
|
|
|
_(resource.ipv6_addresses).must_include '::1'
|
|
|
|
_(resource.ipv4_address?).must_equal true
|
|
|
|
_(resource.ipv6_address?).must_equal true
|
2015-10-08 11:01:09 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'verify invalid interface on windows' do
|
|
|
|
resource = MockLoader.new(:windows).load_resource('interface', 'eth1')
|
|
|
|
_(resource.exists?).must_equal false
|
|
|
|
_(resource.up?).must_equal false
|
2017-06-11 10:16:10 +00:00
|
|
|
_(resource.speed).must_be_nil
|
2019-03-18 22:53:51 +00:00
|
|
|
_(resource.ipv4_address?).must_equal false
|
|
|
|
_(resource.ipv6_address?).must_equal false
|
|
|
|
_(resource.ipv4_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_addresses_netmask).must_be_empty
|
|
|
|
_(resource.ipv6_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_cidrs).must_be_empty
|
|
|
|
_(resource.ipv6_cidrs).must_be_empty
|
2015-10-08 11:01:09 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
# undefined
|
|
|
|
it 'verify interface on unsupported os' do
|
|
|
|
resource = MockLoader.new(:undefined).load_resource('interface', 'eth0')
|
|
|
|
_(resource.exists?).must_equal false
|
|
|
|
_(resource.up?).must_equal false
|
2017-06-11 10:16:10 +00:00
|
|
|
_(resource.speed).must_be_nil
|
2015-10-08 11:01:09 +00:00
|
|
|
end
|
|
|
|
|
2015-10-08 10:11:55 +00:00
|
|
|
end
|