Adding apex/overcloud/* unittests
[apex.git] / apex / tests / test_apex_overcloud_config.py
1 ##############################################################################
2 # Copyright (c) 2016 Dan Radez (dradez@redhat.com) (Red Hat)
3 #
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10 import unittest
11
12 from mock import patch
13 from mock import MagicMock
14 from mock import mock_open
15
16 from apex.overcloud.config import create_nic_template
17 from apex.common.exceptions import ApexDeployException
18
19 from nose.tools import (
20     assert_regexp_matches,
21     assert_raises,
22     assert_equal)
23
24
25 class TestOvercloudConfig(unittest.TestCase):
26     @classmethod
27     def setup_class(cls):
28         """This method is run once for each class before any tests are run"""
29
30     @classmethod
31     def teardown_class(cls):
32         """This method is run once for each class _after_ all tests are run"""
33
34     def setup(self):
35         """This method is run once before _each_ test method is executed"""
36
37     def teardown(self):
38         """This method is run once after _each_ test method is executed"""
39
40     def test_create_nic_template_invalid_role(self):
41         assert_raises(ApexDeployException, create_nic_template,
42                       None, None, None, None, None)
43
44     @patch('apex.overcloud.config.Environment')
45     @patch('builtins.open', mock_open(read_data=None), create=True)
46     def test_create_nic_template_ctl_fdio(self, mock_env):
47         network_settings = MagicMock()
48         deploy_settings = MagicMock()
49         deploy_settings.get.return_value = {'dataplane': 'fdio',
50                                             'sdn_controller': 'opendaylight'}
51
52         create_nic_template(network_settings, deploy_settings,
53                             'controller', 'template_dir', 'target_dir')
54
55     @patch('apex.overcloud.config.Environment')
56     @patch('builtins.open', mock_open(read_data=None), create=True)
57     def test_create_nic_template_ctl_ovs_dpdk(self, mock_env):
58         network_settings = MagicMock()
59         deploy_settings = MagicMock()
60         deploy_settings.get.return_value = {'dataplane': 'ovs_dpdk',
61                                             'sdn_controller': 'opendaylight',
62                                             'sfc': True}
63         create_nic_template(network_settings, deploy_settings,
64                             'controller', 'template_dir', 'target_dir')
65
66     @patch('apex.overcloud.config.Environment')
67     @patch('builtins.open', mock_open(read_data=None), create=True)
68     def test_create_nic_template_comp_fdio(self, mock_env):
69         network_settings = MagicMock()
70         deploy_settings = MagicMock()
71         deploy_settings.get.return_value = {'performance':
72                                             {'Compute':
73                                              {'vpp':
74                                               {'uio-driver': 'test',
75                                                'interface-options': 'test'}}},
76                                             'dvr': True,
77                                             'dataplane': 'fdio',
78                                             'sdn_controller': 'opendaylight'}
79         create_nic_template(network_settings, deploy_settings,
80                             'compute', 'template_dir', 'target_dir')