Add support for kubernetes deployment
[apex.git] / apex / tests / test_apex_deploy.py
index b7941f6..8e9756e 100644 (file)
@@ -144,6 +144,7 @@ class TestDeploy(unittest.TestCase):
                                            'dataplane': 'ovs',
                                            'sfc': False,
                                            'vpn': False,
+                                           'vim': 'openstack',
                                            'yardstick': 'test',
                                            'os_version': DEFAULT_OS_VERSION,
                                            'containers': False}}
@@ -220,6 +221,7 @@ class TestDeploy(unittest.TestCase):
                                            'dataplane': 'ovs',
                                            'sfc': False,
                                            'vpn': False,
+                                           'vim': 'openstack',
                                            'yardstick': 'test',
                                            'os_version': DEFAULT_OS_VERSION,
                                            'containers': False}}
@@ -281,6 +283,7 @@ class TestDeploy(unittest.TestCase):
                                            'dataplane': 'ovs',
                                            'sfc': False,
                                            'vpn': False,
+                                           'vim': 'openstack',
                                            'yardstick': 'test',
                                            'os_version': DEFAULT_OS_VERSION,
                                            'containers': True}}
@@ -303,6 +306,63 @@ class TestDeploy(unittest.TestCase):
         args.virt_compute_ram = 16
         args.virt_default_ram = 10
         main()
-        mock_oc_deploy.prep_image.assert_called
+        mock_oc_deploy.prep_image.assert_called()
         # TODO(trozet) add assertions here with arguments for functions in
         # deploy main
+
+    @patch('apex.deploy.uc_builder')
+    @patch('apex.deploy.network_data.create_network_data')
+    @patch('apex.deploy.shutil')
+    @patch('apex.deploy.git')
+    @patch('apex.deploy.oc_deploy')
+    @patch('apex.deploy.uc_lib')
+    @patch('apex.deploy.build_vms')
+    @patch('apex.deploy.Inventory')
+    @patch('apex.deploy.virt_utils')
+    @patch('apex.deploy.oc_cfg')
+    @patch('apex.deploy.parsers')
+    @patch('apex.deploy.utils')
+    @patch('apex.deploy.NetworkEnvironment')
+    @patch('apex.deploy.NetworkSettings')
+    @patch('apex.deploy.DeploySettings')
+    @patch('apex.deploy.os')
+    @patch('apex.deploy.json')
+    @patch('apex.deploy.jumphost')
+    @patch('apex.deploy.validate_cross_settings')
+    @patch('apex.deploy.validate_deploy_args')
+    @patch('apex.deploy.create_deploy_parser')
+    @patch('builtins.open', a_mock_open, create=True)
+    def test_main_k8s(self, mock_parser, mock_val_args, mock_cross_sets,
+                      mock_jumphost, mock_json, mock_os,
+                      mock_deploy_sets, mock_net_sets, mock_net_env,
+                      mock_utils, mock_parsers, mock_oc_cfg,
+                      mock_virt_utils, mock_inv, mock_build_vms, mock_uc_lib,
+                      mock_oc_deploy, mock_git, mock_shutil,
+                      mock_network_data, mock_uc_builder):
+        net_sets_dict = {'networks': MagicMock(),
+                         'dns_servers': 'test'}
+        ds_opts_dict = {'global_params': MagicMock(),
+                        'deploy_options': {'gluon': False,
+                                           'congress': True,
+                                           'sdn_controller': False,
+                                           'dataplane': 'ovs',
+                                           'sfc': False,
+                                           'vpn': False,
+                                           'vim': 'k8s',
+                                           'yardstick': 'test',
+                                           'os_version': DEFAULT_OS_VERSION,
+                                           'containers': False}}
+        args = mock_parser.return_value.parse_args.return_value
+        args.virtual = False
+        args.quickstart = False
+        args.debug = False
+        args.upstream = False
+        net_sets = mock_net_sets.return_value
+        net_sets.enabled_network_list = ['external']
+        net_sets.__getitem__.side_effect = net_sets_dict.__getitem__
+        net_sets.__contains__.side_effect = net_sets_dict.__contains__
+        deploy_sets = mock_deploy_sets.return_value
+        deploy_sets.__getitem__.side_effect = ds_opts_dict.__getitem__
+        deploy_sets.__contains__.side_effect = ds_opts_dict.__contains__
+        mock_parsers.parse_nova_output.return_value = {'testnode1': 'test'}
+        main()