spec/redhat/routing_table_spec.rb in serverspec-0.6.16 vs spec/redhat/routing_table_spec.rb in serverspec-0.6.17

- old
+ new

@@ -1,7 +1,120 @@ require 'spec_helper' include Serverspec::Helper::RedHat -describe 'Serverspec routing table matchers of Red Hat family' do - it_behaves_like 'support routing table have_entry matcher' +describe routing_table do + let(:stdout) { "192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.10 \r\ndefault via 192.168.100.1 dev eth0 \r\n" } + it { should have_entry( :destination => '192.168.100.0/24' ) } + its(:command) { should eq "ip route | grep -E '^192.168.100.0/24 |^default '" } +end + +describe routing_table do + let(:stdout) { "192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.10 \r\ndefault via 192.168.100.1 dev eth0 \r\n" } + it { should_not have_entry( :destination => '192.168.100.100/24' ) } + its(:command) { should eq "ip route | grep -E '^192.168.100.100/24 |^default '" } +end + +describe routing_table do + let(:stdout) { "192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.10 \r\ndefault via 192.168.100.1 dev eth0 \r\n" } + it do + should have_entry( + :destination => '192.168.100.0/24', + :gateway => '192.168.100.1' + ) + end + + it do + should have_entry( + :destination => '192.168.100.0/24', + :gateway => '192.168.100.1', + :interface => 'eth1' + ) + end + + it do + should_not have_entry( + :gateway => '192.168.100.1', + :interface => 'eth1' + ) + end + + it do + should_not have_entry( + :destination => '192.168.100.0/32', + :gateway => '192.168.100.1', + :interface => 'eth1' + ) + end +end + +describe routing_table do + let(:stdout) { "192.168.200.0/24 via 192.168.200.1 dev eth0 \r\ndefault via 192.168.100.1 dev eth0 \r\n" } + it { should have_entry( :destination => '192.168.200.0/24' ) } + it { should_not have_entry( :destination => '192.168.200.200/24' ) } + + it do + should have_entry( + :destination => '192.168.200.0/24', + :gateway => '192.168.200.1' + ) + end + + it do + should have_entry( + :destination => '192.168.200.0/24', + :gateway => '192.168.200.1', + :interface => 'eth0' + ) + end + + it do + should_not have_entry( + :gateway => '192.168.200.1', + :interface => 'eth0' + ) + end + + it do + should_not have_entry( + :destination => '192.168.200.0/32', + :gateway => '192.168.200.1', + :interface => 'eth0' + ) + end +end + +describe routing_table do + let(:stdout) { "default via 10.0.2.2 dev eth0 \r\n" } + it { should have_entry( :destination => 'default' ) } + it { should_not have_entry( :destination => 'defaulth' ) } + + it do + should have_entry( + :destination => 'default', + :gateway => '10.0.2.2' + ) + end + + it do + should have_entry( + :destination => 'default', + :gateway => '10.0.2.2', + :interface => 'eth0' + ) + end + + it do + should_not have_entry( + :gateway => '10.0.2.2', + :interface => 'eth0' + ) + end + + it do + should_not have_entry( + :destination => 'default', + :gateway => '10.0.2.1', + :interface => 'eth0' + ) + end end