diff options
Diffstat (limited to 'tests/unit/utils/env_setup_test.py')
-rw-r--r-- | tests/unit/utils/env_setup_test.py | 66 |
1 files changed, 40 insertions, 26 deletions
diff --git a/tests/unit/utils/env_setup_test.py b/tests/unit/utils/env_setup_test.py index e28c6a18..5aa21b1b 100644 --- a/tests/unit/utils/env_setup_test.py +++ b/tests/unit/utils/env_setup_test.py @@ -7,36 +7,49 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +import os import pytest import filecmp from qtip.utils.env_setup import Env_setup import mock -class TestClass: +DATA_DIR = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, 'data') + + +def get_test_plan(name): + return os.path.join(DATA_DIR, 'testplan', name) + +def get_output(name): + return os.path.join(DATA_DIR, 'output', name) + + +class TestClass: @pytest.mark.parametrize("test_input, expected", [ - ("tests/test_case/bm_with_proxy.yaml", ["dhrystone", - {}, - [], - {'http_proxy': 'http://10.20.0.1:8118', - 'https_proxy': 'http://10.20.0.1:8118', - 'no_proxy': 'localhost,127.0.0.1,10.20.*,192.168.*'}]), - ("tests/test_case/bm_without_proxy.yaml", ["dhrystone", - {}, - [], - {}]), - ("tests/test_case/vm.yaml", ["iperf", - {'availability_zone': ['compute1', 'compute1'], - 'OS_image': ['QTIP_CentOS', 'QTIP_CentOS'], - 'public_network': ['admin-floating_net', 'admin-floating_net'], - 'flavor': ['m1.large', 'm1.large'], - 'role': ['1-server', '2-host']}, - [('duration', 20), ('protocol', 'tcp'), ('bandwidthGbps', 0)], - {'http_proxy': 'http://10.20.0.1:8118', - 'https_proxy': 'http://10.20.0.1:8118', - 'no_proxy': 'localhost,127.0.0.1,10.20.*,192.168.*'}]) - ]) + (get_test_plan("bm_with_proxy.yaml"), + ["dhrystone", + {}, + [], + {'http_proxy': 'http://10.20.0.1:8118', + 'https_proxy': 'http://10.20.0.1:8118', + 'no_proxy': 'localhost,127.0.0.1,10.20.*,192.168.*'}]), + (get_test_plan("bm_without_proxy.yaml"), + ["dhrystone", + {}, + [], + {}]), + (get_test_plan("vm.yaml"), + ["iperf", + {'availability_zone': ['compute1', 'compute1'], + 'OS_image': ['QTIP_CentOS', 'QTIP_CentOS'], + 'public_network': ['admin-floating_net', 'admin-floating_net'], + 'flavor': ['m1.large', 'm1.large'], + 'role': ['1-server', '2-host']}, + [('duration', 20), ('protocol', 'tcp'), ('bandwidthGbps', 0)], + {'http_proxy': 'http://10.20.0.1:8118', + 'https_proxy': 'http://10.20.0.1:8118', + 'no_proxy': 'localhost,127.0.0.1,10.20.*,192.168.*'}])]) def test_parse_success(self, test_input, expected): test_class = Env_setup() mock_ips = mock.Mock(return_value=["10.20.0.28", "10.20.0.29"]) @@ -53,23 +66,24 @@ class TestClass: mock_ips = mock.Mock(return_value=["10.20.0.28", "10.20.0.29"]) test_class.fetch_compute_ips = mock_ips with pytest.raises(KeyError) as excinfo: - test_class.parse("tests/test_case/vm_error.yaml") + test_class.parse(get_test_plan("vm_error.yaml")) assert "benchmark" in str(excinfo.value) def test_update_ansible(self): test_class = Env_setup() mock_ips = mock.Mock(return_value=["10.20.0.28", "10.20.0.29"]) test_class.fetch_compute_ips = mock_ips - test_class.parse("tests/test_case/bm_without_proxy.yaml") + test_class.parse(get_test_plan("bm_without_proxy.yaml")) test_class.update_ansible() - result = filecmp.cmp('tests/output/hosts', 'config/hosts') + result = filecmp.cmp(get_output("hosts"), "config/hosts") assert result + @pytest.mark.skip(reason="(yujunz) test halt, to be fixed") def test_ping(self, capfd): test_class = Env_setup() mock_ips = mock.Mock(return_value=["127.0.0.1", "10.20.0.29"]) test_class.fetch_compute_ips = mock_ips - test_class.parse("tests/test_case/bm_ping.yaml") + test_class.parse(get_test_plan("bm_ping.yaml")) test_class.call_ping_test() resout, reserr = capfd.readouterr() assert '127.0.0.1 is UP' in resout |