blob: 1e2925b546327d60a27894a71aedf2605702f925 [file] [log] [blame]
# Copyright 2014 NEC Corporation. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import mock
import subprocess
from tempest.common import commands
from tempest.tests import base
class TestCommands(base.TestCase):
def setUp(self):
super(TestCommands, self).setUp()
self.subprocess_args = {'stdout': subprocess.PIPE,
'stderr': subprocess.STDOUT}
@mock.patch('subprocess.Popen')
def test_ip_addr_raw(self, mock):
expected = ['/usr/bin/sudo', '-n', 'ip', 'a']
commands.ip_addr_raw()
mock.assert_called_once_with(expected, **self.subprocess_args)
@mock.patch('subprocess.Popen')
def test_ip_route_raw(self, mock):
expected = ['/usr/bin/sudo', '-n', 'ip', 'r']
commands.ip_route_raw()
mock.assert_called_once_with(expected, **self.subprocess_args)
@mock.patch('subprocess.Popen')
def test_ip_ns_raw(self, mock):
expected = ['/usr/bin/sudo', '-n', 'ip', 'netns', 'list']
commands.ip_ns_raw()
mock.assert_called_once_with(expected, **self.subprocess_args)
@mock.patch('subprocess.Popen')
def test_iptables_raw(self, mock):
table = 'filter'
expected = ['/usr/bin/sudo', '-n', 'iptables', '--line-numbers',
'-L', '-nv', '-t',
'%s' % table]
commands.iptables_raw(table)
mock.assert_called_once_with(expected, **self.subprocess_args)
@mock.patch('subprocess.Popen')
def test_ip_ns_list(self, mock):
expected = ['/usr/bin/sudo', '-n', 'ip', 'netns', 'list']
commands.ip_ns_list()
mock.assert_called_once_with(expected, **self.subprocess_args)
@mock.patch('subprocess.Popen')
def test_ip_ns_addr(self, mock):
ns_list = commands.ip_ns_list()
for ns in ns_list:
expected = ['/usr/bin/sudo', '-n', 'ip', 'netns', 'exec', ns,
'ip', 'a']
commands.ip_ns_addr(ns)
mock.assert_called_once_with(expected, **self.subprocess_args)
@mock.patch('subprocess.Popen')
def test_ip_ns_route(self, mock):
ns_list = commands.ip_ns_list()
for ns in ns_list:
expected = ['/usr/bin/sudo', '-n', 'ip', 'netns', 'exec', ns,
'ip', 'r']
commands.ip_ns_route(ns)
mock.assert_called_once_with(expected, **self.subprocess_args)
@mock.patch('subprocess.Popen')
def test_iptables_ns(self, mock):
table = 'filter'
ns_list = commands.ip_ns_list()
for ns in ns_list:
expected = ['/usr/bin/sudo', '-n', 'ip', 'netns', 'exec', ns,
'iptables', '-v', '-S', '-t', table]
commands.iptables_ns(ns, table)
mock.assert_called_once_with(expected, **self.subprocess_args)