#!/usr/bin/env python # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 import logging import unittest import mock from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils.constants import CONST class OSTempestConfUtilsTesting(unittest.TestCase): logging.disable(logging.CRITICAL) def test_get_verifier_id_missing_verifier(self): CONST.tempest_deployment_name = 'test_deploy_name' with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen, \ self.assertRaises(Exception): mock_stdout = mock.Mock() attrs = {'stdout.readline.return_value': ''} mock_stdout.configure_mock(**attrs) mock_popen.return_value = mock_stdout conf_utils.get_verifier_id(), def test_get_verifier_id_default(self): CONST.tempest_deployment_name = 'test_deploy_name' with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen: mock_stdout = mock.Mock() attrs = {'stdout.readline.return_value': 'test_deploy_id'} mock_stdout.configure_mock(**attrs) mock_popen.return_value = mock_stdout self.assertEqual(conf_utils.get_verifier_id(), 'test_deploy_id') def test_get_verifier_deployment_id_missing_rally(self): CONST.rally_deployment_name = 'test_rally_deploy_name' with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen, \ self.assertRaises(Exception): mock_stdout = mock.Mock() attrs = {'stdout.readline.return_value': ''} mock_stdout.configure_mock(**attrs) mock_popen.return_value = mock_stdout conf_utils.get_verifier_deployment_id(), def test_get_verifier_deployment_id_default(self): CONST.rally_deployment_name = 'test_rally_deploy_name' with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen: mock_stdout = mock.Mock() attrs = {'stdout.readline.return_value': 'test_deploy_id'} mock_stdout.configure_mock(**attrs) mock_popen.return_value = mock_stdout self.assertEqual(conf_utils.get_verifier_deployment_id(), 'test_deploy_id') def test_get_verifier_repo_dir_default(self): with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.os.path.join', return_value='test_verifier_repo_dir'), \ mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.get_verifier_id') as m: self.assertEqual(conf_utils.get_verifier_repo_dir(''), 'test_verifier_repo_dir') self.assertTrue(m.called) def test_get_verifier_deployment_dir_default(self): with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.os.path.join', return_value='test_verifier_repo_dir'), \ mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.get_verifier_id') as m1, \ mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.get_verifier_deployment_id') as m2: self.assertEqual(conf_utils.get_verifier_deployment_dir('', ''), 'test_verifier_repo_dir') self.assertTrue(m1.called) self.assertTrue(m2.called) if __name__ == "__main__": unittest.main(verbosity=2)