+ with mock.patch.object(self.rally_base.cloud,
+ 'list_hypervisors') as mock_list_hyperv, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_image') as mock_create_img, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_network') as mock_create_net, \
+ mock.patch.object(self.rally_base.cloud, 'create_subnet',
+ return_value=None) as mock_create_subnet:
+ with self.assertRaises(Exception):
+ self.rally_base._prepare_env()
+ mock_create_subnet.assert_called()
+ mock_create_net.assert_called()
+ mock_create_img.assert_called()
+ mock_list_hyperv.assert_called()
+
+ @mock.patch('functest.utils.functest_utils.get_external_network')
+ def test_prepare_env_router_creation_failed(self, *args):
+ # pylint: disable=unused-argument
+ self.rally_base.TESTS = ['test1', 'test2']
+ self.rally_base.test_name = 'test1'
+ with mock.patch.object(self.rally_base.cloud,
+ 'list_hypervisors') as mock_list_hyperv, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_image') as mock_create_img, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_network') as mock_create_net, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_subnet') as mock_create_subnet, \
+ mock.patch.object(self.rally_base.cloud, 'create_router',
+ return_value=None) as mock_create_router:
+ with self.assertRaises(Exception):
+ self.rally_base._prepare_env()
+ mock_create_router.assert_called()
+ mock_create_subnet.assert_called()
+ mock_create_net.assert_called()
+ mock_create_img.assert_called()
+ mock_list_hyperv.assert_called()
+
+ @mock.patch('functest.utils.functest_utils.get_external_network')
+ def test_prepare_env_flavor_creation_failed(self, *args):
+ # pylint: disable=unused-argument
+ self.rally_base.TESTS = ['test1', 'test2']
+ self.rally_base.test_name = 'test1'
+ with mock.patch.object(self.rally_base.cloud,
+ 'list_hypervisors') as mock_list_hyperv, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_image') as mock_create_img, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_network') as mock_create_net, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_subnet') as mock_create_subnet, \
+ mock.patch.object(self.rally_base.cloud,
+ 'add_router_interface') as mock_add_router_if, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_router') as mock_create_router, \
+ mock.patch.object(self.rally_base.cloud, 'create_flavor',
+ return_value=None) as mock_create_flavor:
+ with self.assertRaises(Exception):
+ self.rally_base._prepare_env()
+ mock_create_flavor.assert_called_once()
+ mock_add_router_if.assert_called()
+ mock_create_router.assert_called()
+ mock_create_subnet.assert_called()
+ mock_create_net.assert_called()
+ mock_create_img.assert_called()
+ mock_list_hyperv.assert_called()
+
+ @mock.patch('functest.utils.functest_utils.get_external_network')
+ def test_prepare_env_flavor_alt_creation_failed(self, *args):
+ # pylint: disable=unused-argument
+ self.rally_base.TESTS = ['test1', 'test2']
+ self.rally_base.test_name = 'test1'
+ with mock.patch.object(self.rally_base.cloud,
+ 'list_hypervisors') as mock_list_hyperv, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_image') as mock_create_img, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_network') as mock_create_net, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_subnet') as mock_create_subnet, \
+ mock.patch.object(self.rally_base.cloud,
+ 'add_router_interface') as mock_add_router_if, \
+ mock.patch.object(self.rally_base.cloud,
+ 'create_router') as mock_create_router, \
+ mock.patch.object(self.rally_base.cloud,
+ 'set_flavor_specs') as mock_set_flavor_specs, \
+ mock.patch.object(self.rally_base.cloud, 'create_flavor',
+ side_effect=[mock.Mock(), None]) \
+ as mock_create_flavor:
+ with self.assertRaises(Exception):
+ self.rally_base._prepare_env()
+ self.assertEqual(mock_create_flavor.call_count, 2)
+ mock_set_flavor_specs.assert_called_once()
+ mock_add_router_if.assert_called()
+ mock_create_router.assert_called()
+ mock_create_subnet.assert_called()
+ mock_create_net.assert_called()
+ mock_create_img.assert_called()
+ mock_list_hyperv.assert_called()