~ubuntu-branches/ubuntu/vivid/ironic/vivid-updates

« back to all changes in this revision

Viewing changes to ironic/tests/drivers/irmc/test_common.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2015-03-30 11:14:57 UTC
  • mfrom: (1.2.6)
  • Revision ID: package-import@ubuntu.com-20150330111457-kr4ju3guf22m4vbz
Tags: 2015.1~b3-0ubuntu1
* New upstream release.
  + d/control: 
    - Align with upstream dependencies.
    - Add dh-python to build-dependencies.
    - Add psmisc as a dependency. (LP: #1358820)
  + d/p/fix-requirements.patch: Rediffed.
  + d/ironic-conductor.init.in: Fixed typos in LSB headers,
    thanks to JJ Asghar. (LP: #1429962)

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
"""
17
17
 
18
18
import mock
19
 
from oslo_config import cfg
20
19
 
21
20
from ironic.common import exception
22
21
from ironic.conductor import task_manager
27
26
from ironic.tests.objects import utils as obj_utils
28
27
 
29
28
 
30
 
CONF = cfg.CONF
31
 
 
32
 
 
33
29
class IRMCValidateParametersTestCase(db_base.DbTestCase):
34
30
 
35
31
    def setUp(self):
48
44
        self.assertIsNotNone(info.get('irmc_client_timeout'))
49
45
        self.assertIsNotNone(info.get('irmc_port'))
50
46
        self.assertIsNotNone(info.get('irmc_auth_method'))
 
47
        self.assertIsNotNone(info.get('irmc_sensor_method'))
 
48
 
 
49
    def test_parse_driver_option_default(self):
 
50
        self.node.driver_info = {
 
51
            "irmc_address": "1.2.3.4",
 
52
            "irmc_username": "admin0",
 
53
            "irmc_password": "fake0",
 
54
        }
 
55
        info = irmc_common.parse_driver_info(self.node)
 
56
 
 
57
        self.assertEqual('basic', info.get('irmc_auth_method'))
 
58
        self.assertEqual(443, info.get('irmc_port'))
 
59
        self.assertEqual(60, info.get('irmc_client_timeout'))
 
60
        self.assertEqual('ipmitool', info.get('irmc_sensor_method'))
51
61
 
52
62
    def test_parse_driver_info_missing_address(self):
53
63
        del self.node.driver_info['irmc_address']
79
89
        self.assertRaises(exception.InvalidParameterValue,
80
90
                          irmc_common.parse_driver_info, self.node)
81
91
 
 
92
    def test_parse_driver_info_invalid_sensor_method(self):
 
93
        self.node.driver_info['irmc_sensor_method'] = 'qwe'
 
94
        self.assertRaises(exception.InvalidParameterValue,
 
95
                          irmc_common.parse_driver_info, self.node)
 
96
 
82
97
    def test_parse_driver_info_missing_multiple_params(self):
83
98
        del self.node.driver_info['irmc_password']
84
99
        del self.node.driver_info['irmc_address']
130
145
            actual_info = task.node.driver_info
131
146
            expected_info = dict(self.info, **ipmi_info)
132
147
            self.assertEqual(expected_info, actual_info)
 
148
 
 
149
    @mock.patch.object(irmc_common, 'scci')
 
150
    def test_get_irmc_report(self, mock_scci):
 
151
        self.info['irmc_port'] = 80
 
152
        self.info['irmc_auth_method'] = 'digest'
 
153
        self.info['irmc_client_timeout'] = 60
 
154
        mock_scci.get_report.return_value = 'get_report'
 
155
        returned_mock_scci_get_report = irmc_common.get_irmc_report(self.node)
 
156
        mock_scci.get_report.assert_called_with(
 
157
            self.info['irmc_address'],
 
158
            self.info['irmc_username'],
 
159
            self.info['irmc_password'],
 
160
            port=self.info['irmc_port'],
 
161
            auth_method=self.info['irmc_auth_method'],
 
162
            client_timeout=self.info['irmc_client_timeout'])
 
163
        self.assertEqual('get_report', returned_mock_scci_get_report)