コード例 #1
0
ファイル: test_common.py プロジェクト: weizai118/ironic
 def test_parse_driver_info_drac_host_and_drac_address(self, mock_log):
     driver_info = db_utils.get_test_drac_info()
     driver_info['drac_host'] = '4.5.6.7'
     node = obj_utils.create_test_node(self.context,
                                       driver='idrac',
                                       driver_info=driver_info)
     info = drac_common.parse_driver_info(node)
     self.assertEqual('4.5.6.7', driver_info['drac_host'])
     self.assertEqual(driver_info['drac_address'], info['drac_address'])
     self.assertTrue(mock_log.called)
コード例 #2
0
ファイル: test_common.py プロジェクト: Tehsmash/ironic
 def test_parse_driver_info_drac_host_and_drac_address(self, mock_log):
     driver_info = db_utils.get_test_drac_info()
     driver_info['drac_host'] = '4.5.6.7'
     node = obj_utils.create_test_node(self.context,
                                       driver='fake_drac',
                                       driver_info=driver_info)
     info = drac_common.parse_driver_info(node)
     self.assertEqual('4.5.6.7', driver_info['drac_host'])
     self.assertEqual(driver_info['drac_address'], info['drac_address'])
     self.assertTrue(mock_log.called)
コード例 #3
0
ファイル: test_client.py プロジェクト: juliakreger/ironic
"""

import time
from xml.etree import ElementTree

import mock

from ironic.common import exception
from ironic.drivers.modules.drac import client as drac_client
from ironic.tests import base
from ironic.tests.unit.db import utils as db_utils
from ironic.tests.unit.drivers.modules.drac import utils as test_utils
from ironic.tests.unit.drivers import third_party_driver_mock_specs \
    as mock_specs

INFO_DICT = db_utils.get_test_drac_info()


@mock.patch.object(drac_client, 'pywsman', spec_set=mock_specs.PYWSMAN_SPEC)
class DracClientTestCase(base.TestCase):

    def setUp(self):
        super(DracClientTestCase, self).setUp()
        self.resource_uri = 'http://foo/wsman'

    def test_wsman_enumerate(self, mock_client_pywsman):
        mock_xml = test_utils.mock_wsman_root('<test></test>')
        mock_pywsman_client = mock_client_pywsman.Client.return_value
        mock_pywsman_client.enumerate.return_value = mock_xml

        client = drac_client.Client(**INFO_DICT)
コード例 #4
0
ファイル: utils.py プロジェクト: younkun/ironic
#         http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#    License for the specific language governing permissions and limitations
#    under the License.

import collections

from oslo_utils import importutils

from ironic.tests.unit.db import base as db_base
from ironic.tests.unit.db import utils as db_utils

INFO_DICT = db_utils.get_test_drac_info()

dracclient_job = importutils.try_import('dracclient.resources.job')
dracclient_raid = importutils.try_import('dracclient.resources.raid')


class BaseDracTest(db_base.DbTestCase):
    def setUp(self):
        super(BaseDracTest, self).setUp()
        self.config(
            enabled_hardware_types=['idrac', 'fake-hardware'],
            enabled_boot_interfaces=['idrac-redfish-virtual-media', 'fake'],
            enabled_power_interfaces=['idrac-wsman', 'fake'],
            enabled_management_interfaces=['idrac-wsman', 'fake'],
            enabled_inspect_interfaces=['idrac-wsman', 'fake', 'no-inspect'],
            enabled_vendor_interfaces=['idrac-wsman', 'fake', 'no-vendor'],
コード例 #5
0
ファイル: test_bios.py プロジェクト: jriguera/ironic
from ironic.common import exception
from ironic.conductor import task_manager
from ironic.drivers.modules.drac import bios
from ironic.drivers.modules.drac import client as drac_client
from ironic.drivers.modules.drac import management as drac_mgmt
from ironic.drivers.modules.drac import resource_uris
from ironic.tests.unit.conductor import utils as mgr_utils
from ironic.tests.unit.db import base as db_base
from ironic.tests.unit.db import utils as db_utils
from ironic.tests.unit.drivers.modules.drac import bios_wsman_mock
from ironic.tests.unit.drivers.modules.drac import utils as test_utils
from ironic.tests.unit.objects import utils as obj_utils
from six.moves.urllib.parse import unquote

FAKE_DRAC = db_utils.get_test_drac_info()


def _base_config(responses=[]):
    for resource in [resource_uris.DCIM_BIOSEnumeration,
                     resource_uris.DCIM_BIOSString,
                     resource_uris.DCIM_BIOSInteger]:
        xml_root = test_utils.mock_wsman_root(
            bios_wsman_mock.Enumerations[resource]['XML'])
        responses.append(xml_root)
    return responses


def _set_config(responses=[]):
    ccj_xml = test_utils.build_soap_xml([{'DCIM_LifecycleJob':
                                          {'Name': 'fake'}}],
コード例 #6
0
ファイル: test_bios.py プロジェクト: jriguera/ironic
from ironic.common import exception
from ironic.conductor import task_manager
from ironic.drivers.modules.drac import bios
from ironic.drivers.modules.drac import client as drac_client
from ironic.drivers.modules.drac import management as drac_mgmt
from ironic.drivers.modules.drac import resource_uris
from ironic.tests.unit.conductor import utils as mgr_utils
from ironic.tests.unit.db import base as db_base
from ironic.tests.unit.db import utils as db_utils
from ironic.tests.unit.drivers.modules.drac import bios_wsman_mock
from ironic.tests.unit.drivers.modules.drac import utils as test_utils
from ironic.tests.unit.objects import utils as obj_utils
from six.moves.urllib.parse import unquote

FAKE_DRAC = db_utils.get_test_drac_info()


def _base_config(responses=[]):
    for resource in [
            resource_uris.DCIM_BIOSEnumeration, resource_uris.DCIM_BIOSString,
            resource_uris.DCIM_BIOSInteger
    ]:
        xml_root = test_utils.mock_wsman_root(
            bios_wsman_mock.Enumerations[resource]['XML'])
        responses.append(xml_root)
    return responses


def _set_config(responses=[]):
    ccj_xml = test_utils.build_soap_xml([{