inspec/test/unit/utils/solaris_netstat_parser_test.rb
username-is-already-taken2 fd558b63ac Corrected some unit test warnings (#2242)
Signed-off-by: username-is-already-taken2 <gary.bright@niu-solutions.com>
2017-10-17 14:49:26 +02:00

124 lines
3.3 KiB
Ruby

# encoding: utf-8
# author: Christoph Hartmann
# author: Dominik Richter
require 'helper'
describe SolarisNetstatParser do
let (:parser) { Class.new() { include SolarisNetstatParser }.new }
describe '#parse_solaris_netset' do
it 'parses nil content' do
parser.parse_netstat(nil).must_equal([])
end
it 'parses an empty line' do
parser.parse_netstat('').must_equal([])
end
it 'parses udpv4' do
content =
"""
UDP: IPv4
Local Address Remote Address State
-------------------- -------------------- ----------
*.631 Idle
"""
info = [{
"protocol"=>"udp",
"local-address"=>"*.631",
"remote-address"=>"",
"state"=>"Idle"
}]
parser.parse_netstat(content).must_equal(info)
end
it 'parses udpv6' do
content =
"""
UDP: IPv6
Local Address Remote Address State If
--------------------------------- --------------------------------- ---------- -----
*.546 Idle
"""
info = [{
"protocol"=>"udp6",
"local-address"=>"*.546",
"remote-address"=>"",
"state"=>"Idle",
"if"=>"",
}]
parser.parse_netstat(content).must_equal(info)
end
it 'parses tcpv4' do
content =
"""
TCP: IPv4
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ------- ------ ------- ------ -----------
127.0.0.1.5999 *.* 0 0 128000 0 LISTEN
"""
info = [{
"protocol"=>"tcp",
"local-address"=>"127.0.0.1.5999",
"remote-address"=>"*.*",
"swind"=>"0",
"send-q"=>"0",
"rwind"=>"128000",
"recv-q"=>"0",
"state"=>"LISTEN",
}]
parser.parse_netstat(content).must_equal(info)
end
it 'parses tcpv6' do
content =
"""
TCP: IPv6
Local Address Remote Address Swind Send-Q Rwind Recv-Q State If
--------------------------------- --------------------------------- ------- ------ ------- ------ ----------- -----
::1.5999 *.* 0 0 128000 0 LISTEN
"""
info = [{
"protocol"=>"tcp6",
"local-address"=>"::1.5999",
"remote-address"=>"*.*",
"swind"=>"0",
"send-q"=>"0",
"rwind"=>"128000",
"recv-q"=>"0",
"state"=>"LISTEN",
"if"=>"",
}]
parser.parse_netstat(content).must_equal(info)
end
it 'parses sctp' do
content =
"""
SCTP:
Local Address Remote Address Swind Send-Q Rwind Recv-Q StrsI/O State
------------------------------- ------------------------------- ------ ------ ------ ------ ------- -----------
0.0.0.0 0.0.0.0 0 0 102400 0 32/32 CLOSED
"""
info = [{
"protocol"=>"sctp",
"local-address"=>"0.0.0.0",
"remote-address"=>"0.0.0.0",
"swind"=>"0",
"send-q"=>"0",
"rwind"=>"102400",
"recv-q"=>"0",
"strsi_o"=>"32/32",
"state"=>"CLOSED",
}]
parser.parse_netstat(content).must_equal(info)
end
end
end