2019-06-11 15:24:35 -07:00
|
|
|
require "helper"
|
|
|
|
require "inspec/resource"
|
|
|
|
require "inspec/resources/interface"
|
2015-10-08 12:11:55 +02:00
|
|
|
|
2019-06-11 15:24:35 -07:00
|
|
|
describe "Inspec::Resources::Interface" do
|
2015-10-08 12:11:55 +02:00
|
|
|
|
2021-09-30 14:26:43 +05:30
|
|
|
# ubuntu
|
2019-06-11 15:24:35 -07:00
|
|
|
it "verify interface on ubuntu" do
|
2021-09-30 14:26:43 +05:30
|
|
|
resource = MockLoader.new(:ubuntu).load_resource("interface", "eth0")
|
2015-10-08 12:11:55 +02:00
|
|
|
_(resource.exists?).must_equal true
|
|
|
|
_(resource.up?).must_equal true
|
|
|
|
_(resource.speed).must_equal 10000
|
2019-10-03 00:23:17 -07:00
|
|
|
_(resource.name).must_equal "eth0"
|
2019-06-11 15:24:35 -07:00
|
|
|
_(resource.ipv4_cidrs).must_include "127.0.0.1/8"
|
2020-06-05 13:48:41 -04:00
|
|
|
_(resource.ipv4_address).must_equal "127.0.0.1"
|
2019-06-11 15:24:35 -07:00
|
|
|
_(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"
|
2020-06-05 13:48:41 -04:00
|
|
|
_(resource.ipv6_address).must_equal "::1"
|
2019-06-11 15:24:35 -07:00
|
|
|
_(resource.ipv6_addresses).must_include "::1"
|
2019-03-18 15:53:51 -07:00
|
|
|
_(resource.ipv4_address?).must_equal true
|
|
|
|
_(resource.ipv6_address?).must_equal true
|
2015-10-08 12:11:55 +02:00
|
|
|
end
|
|
|
|
|
2019-06-11 15:24:35 -07:00
|
|
|
it "verify invalid interface on ubuntu" do
|
2021-09-30 14:26:43 +05:30
|
|
|
resource = MockLoader.new(:ubuntu).load_resource("interface", "eth1")
|
2015-10-08 12:11:55 +02:00
|
|
|
_(resource.exists?).must_equal false
|
|
|
|
_(resource.up?).must_equal false
|
2019-10-03 00:23:17 -07:00
|
|
|
_(resource.name).must_be_nil
|
2017-06-11 06:16:10 -04:00
|
|
|
_(resource.speed).must_be_nil
|
2019-03-18 15:53:51 -07:00
|
|
|
_(resource.ipv4_cidrs).must_be_empty
|
2020-05-18 23:42:25 -04:00
|
|
|
_(resource.ipv4_address).must_be_nil
|
2019-03-18 15:53:51 -07:00
|
|
|
_(resource.ipv4_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_addresses_netmask).must_be_empty
|
2020-05-18 23:42:25 -04:00
|
|
|
_(resource.ipv6_address).must_be_nil
|
2019-03-18 15:53:51 -07:00
|
|
|
_(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 12:11:55 +02:00
|
|
|
end
|
2015-10-08 13:01:09 +02:00
|
|
|
|
2019-03-18 15:53:51 -07:00
|
|
|
# windows
|
2019-06-11 15:24:35 -07:00
|
|
|
it "verify interface on windows" do
|
|
|
|
resource = MockLoader.new(:windows).load_resource("interface", "ethernet0")
|
2015-10-08 13:01:09 +02:00
|
|
|
_(resource.exists?).must_equal true
|
|
|
|
_(resource.up?).must_equal false
|
2019-10-03 00:23:17 -07:00
|
|
|
_(resource.name).must_equal "Ethernet0"
|
2015-10-08 13:01:09 +02:00
|
|
|
_(resource.speed).must_equal 0
|
2020-05-18 23:42:25 -04:00
|
|
|
_(resource.ipv4_address).must_be_nil
|
2019-03-18 15:53:51 -07: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
|
2020-05-18 23:42:25 -04:00
|
|
|
_(resource.ipv6_address).must_be_nil
|
2019-03-18 15:53:51 -07:00
|
|
|
_(resource.ipv6_addresses).must_be_empty
|
|
|
|
_(resource.ipv4_cidrs).must_be_empty
|
|
|
|
_(resource.ipv6_cidrs).must_be_empty
|
2015-10-08 13:01:09 +02:00
|
|
|
end
|
|
|
|
|
2019-06-11 15:24:35 -07:00
|
|
|
it "verify interface on windows" do
|
|
|
|
resource = MockLoader.new(:windows).load_resource("interface", "vEthernet (Intel(R) PRO 1000 MT Network Connection - Virtual Switch)")
|
2015-10-08 13:01:09 +02:00
|
|
|
_(resource.exists?).must_equal true
|
|
|
|
_(resource.up?).must_equal true
|
2019-10-03 00:23:17 -07:00
|
|
|
_(resource.name).must_equal "vEthernet (Intel(R) PRO 1000 MT Network Connection - Virtual Switch)"
|
2015-10-08 13:01:09 +02:00
|
|
|
_(resource.speed).must_equal 10000000
|
2019-06-11 15:24:35 -07:00
|
|
|
_(resource.ipv4_cidrs).must_include "127.0.0.1/8"
|
2020-06-05 13:48:41 -04:00
|
|
|
_(resource.ipv4_address).must_equal "127.0.0.1"
|
2019-06-11 15:24:35 -07:00
|
|
|
_(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"
|
2020-06-05 13:48:41 -04:00
|
|
|
_(resource.ipv6_address).must_equal "::1"
|
2019-06-11 15:24:35 -07:00
|
|
|
_(resource.ipv6_addresses).must_include "::1"
|
2019-03-18 15:53:51 -07:00
|
|
|
_(resource.ipv4_address?).must_equal true
|
|
|
|
_(resource.ipv6_address?).must_equal true
|
2015-10-08 13:01:09 +02:00
|
|
|
end
|
|
|
|
|
2019-06-11 15:24:35 -07:00
|
|
|
it "verify invalid interface on windows" do
|
|
|
|
resource = MockLoader.new(:windows).load_resource("interface", "eth1")
|
2015-10-08 13:01:09 +02:00
|
|
|
_(resource.exists?).must_equal false
|
|
|
|
_(resource.up?).must_equal false
|
2019-10-03 00:23:17 -07:00
|
|
|
_(resource.name).must_be_nil
|
2017-06-11 06:16:10 -04:00
|
|
|
_(resource.speed).must_be_nil
|
2019-03-18 15:53:51 -07: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 13:01:09 +02:00
|
|
|
end
|
|
|
|
|
2020-05-14 17:28:58 -04:00
|
|
|
it "verify interface on macos" do
|
2020-07-01 18:35:23 -04:00
|
|
|
resource = MockLoader.new(:macos10_10).load_resource("interface", "en0")
|
2020-05-14 17:28:58 -04:00
|
|
|
_(resource.exists?).must_equal true
|
|
|
|
_(resource.up?).must_equal true
|
|
|
|
_(resource.speed).must_equal 1000
|
|
|
|
_(resource.name).must_equal "en0"
|
|
|
|
_(resource.ipv4_cidrs).must_include "192.168.1.2/24"
|
2020-06-05 13:48:41 -04:00
|
|
|
_(resource.ipv4_address).must_equal "192.168.1.2"
|
2020-05-14 17:28:58 -04:00
|
|
|
_(resource.ipv4_addresses).must_include "192.168.1.2"
|
|
|
|
_(resource.ipv4_addresses_netmask).must_include "192.168.1.2/255.255.255.0"
|
|
|
|
_(resource.ipv6_cidrs).must_include "fe80::8b6:c2cc:2928:3b61/64"
|
2020-06-05 13:48:41 -04:00
|
|
|
_(resource.ipv6_address).must_equal "fe80::8b6:c2cc:2928:3b61"
|
2020-05-14 17:28:58 -04:00
|
|
|
_(resource.ipv6_addresses).must_include "fe80::8b6:c2cc:2928:3b61"
|
|
|
|
_(resource.ipv4_address?).must_equal true
|
|
|
|
_(resource.ipv6_address?).must_equal true
|
|
|
|
end
|
|
|
|
|
2015-10-08 13:01:09 +02:00
|
|
|
# undefined
|
2019-06-11 15:24:35 -07:00
|
|
|
it "verify interface on unsupported os" do
|
|
|
|
resource = MockLoader.new(:undefined).load_resource("interface", "eth0")
|
2015-10-08 13:01:09 +02:00
|
|
|
_(resource.exists?).must_equal false
|
|
|
|
_(resource.up?).must_equal false
|
2019-10-03 00:23:17 -07:00
|
|
|
_(resource.name).must_be_nil
|
2017-06-11 06:16:10 -04:00
|
|
|
_(resource.speed).must_be_nil
|
2015-10-08 13:01:09 +02:00
|
|
|
end
|
|
|
|
|
2015-10-08 12:11:55 +02:00
|
|
|
end
|