lib/serverspec/backend/exec.rb in serverspec-0.3.0 vs lib/serverspec/backend/exec.rb in serverspec-0.3.1

- old
+ new

@@ -143,9 +143,28 @@ end true end end + def check_routing_table(example, expected_attr) + @example = example + return false if ! expected_attr[:destination] + ret = run_command(commands.check_routing_table(expected_attr[:destination])) + return false if ret[:exit_status] != 0 + + ret[:stdout] =~ /^(\S+)(?: via (\S+))? dev (\S+).+\r\n(?:default via (\S+))?/ + actual_attr = { + :destination => $1, + :gateway => $2 ? $2 : $4, + :interface => expected_attr[:interface] ? $3 : nil + } + + expected_attr.each do |key, val| + return false if actual_attr[key] != val + end + true + end + def check_os if run_command('ls /etc/redhat-release')[:exit_status] == 0 'RedHat' elsif run_command('ls /etc/system-release')[:exit_status] == 0 'RedHat' # Amazon Linux