Use pypowervm fixture for media UT
Change test_media.py to use pypowervm UT fixture. Update test case to use a property mock rather than our own class. Change-Id: I475476b5f2104836eafbf1d65b478d6120acbcad
This commit is contained in:
parent
6137c1f574
commit
f913a40ea7
|
@ -23,6 +23,7 @@ from pypowervm.tests.wrappers.util import pvmhttp
|
|||
from pypowervm.wrappers import storage as st_w
|
||||
from pypowervm.wrappers import virtual_io_server as vios_w
|
||||
|
||||
from nova_powervm.tests.virt.powervm import fixtures as fx
|
||||
from nova_powervm.virt.powervm import media as m
|
||||
|
||||
VOL_GRP_DATA = 'fake_volume_group.txt'
|
||||
|
@ -52,16 +53,17 @@ class TestConfigDrivePowerVM(test.TestCase):
|
|||
self.vg_to_vio = resp(VOL_GRP_WITH_VIOS)
|
||||
self.vio_to_vg = resp(VIOS_WITH_VOL_GRP)
|
||||
|
||||
self.pypvm = self.useFixture(fx.PyPowerVM())
|
||||
self.apt = self.pypvm.apt
|
||||
|
||||
@mock.patch('nova_powervm.virt.powervm.media.ConfigDrivePowerVM.'
|
||||
'_validate_vopt_vg')
|
||||
@mock.patch('pypowervm.adapter')
|
||||
@mock.patch('nova.api.metadata.base.InstanceMetadata')
|
||||
@mock.patch('nova.virt.configdrive.ConfigDriveBuilder.make_drive')
|
||||
def test_crt_cfg_dr_iso(self, mock_mkdrv, mock_meta, mock_adpt,
|
||||
mock_vopt_valid):
|
||||
def test_crt_cfg_dr_iso(self, mock_mkdrv, mock_meta, mock_vopt_valid):
|
||||
"""Validates that the image creation method works."""
|
||||
cfg_dr_builder = m.ConfigDrivePowerVM(mock_adpt, 'fake_host',
|
||||
'fake_vios')
|
||||
cfg_dr_builder = m.ConfigDrivePowerVM(
|
||||
self.apt, 'fake_host', 'fake_vios')
|
||||
mock_instance = mock.MagicMock()
|
||||
mock_instance.name = 'fake-instance'
|
||||
mock_files = mock.MagicMock()
|
||||
|
@ -81,15 +83,14 @@ class TestConfigDrivePowerVM(test.TestCase):
|
|||
@mock.patch('nova_powervm.virt.powervm.media.ConfigDrivePowerVM.'
|
||||
'_upload_lv')
|
||||
@mock.patch('pypowervm.wrappers.virtual_io_server.crt_scsi_map_to_vopt')
|
||||
@mock.patch('pypowervm.adapter')
|
||||
def test_crt_cfg_drv_vopt(self, mock_adpt, mock_vio_w, mock_upld, mock_rm,
|
||||
def test_crt_cfg_drv_vopt(self, mock_vio_w, mock_upld, mock_rm,
|
||||
mock_size, mock_validate, mock_cfg_iso):
|
||||
# Mock Returns
|
||||
mock_cfg_iso.return_value = '/tmp/cfgdrv/fake.iso', 'fake.iso'
|
||||
mock_size.return_value = 10000
|
||||
|
||||
# Run
|
||||
cfg_dr_builder = m.ConfigDrivePowerVM(mock_adpt, 'fake_host',
|
||||
cfg_dr_builder = m.ConfigDrivePowerVM(self.apt, 'fake_host',
|
||||
'fake_vios')
|
||||
resp = cfg_dr_builder.create_cfg_drv_vopt(mock.MagicMock(),
|
||||
mock.MagicMock(),
|
||||
|
@ -98,33 +99,28 @@ class TestConfigDrivePowerVM(test.TestCase):
|
|||
self.assertIsNotNone(resp)
|
||||
self.assertTrue(mock_upld.called)
|
||||
|
||||
@mock.patch('pypowervm.adapter.Adapter')
|
||||
def test_validate_opt_vg(self, mock_adpt):
|
||||
mock_adpt.read.return_value = self.vol_grp_resp
|
||||
cfg_dr_builder = m.ConfigDrivePowerVM(mock_adpt, 'fake_host',
|
||||
def test_validate_opt_vg(self):
|
||||
self.apt.read.return_value = self.vol_grp_resp
|
||||
cfg_dr_builder = m.ConfigDrivePowerVM(self.apt, 'fake_host',
|
||||
'fake_vios')
|
||||
self.assertEqual('1e46bbfd-73b6-3c2a-aeab-a1d3f065e92f',
|
||||
cfg_dr_builder._validate_vopt_vg())
|
||||
|
||||
@mock.patch('pypowervm.adapter.Adapter')
|
||||
def test_validate_opt_vg_fail(self, mock_adpt):
|
||||
mock_adpt.read.return_value = self.vol_grp_novg_resp
|
||||
def test_validate_opt_vg_fail(self):
|
||||
self.apt.read.return_value = self.vol_grp_novg_resp
|
||||
self.assertRaises(m.NoMediaRepoVolumeGroupFound,
|
||||
m.ConfigDrivePowerVM, mock_adpt, 'fake_host',
|
||||
m.ConfigDrivePowerVM, self.apt, 'fake_host',
|
||||
'fake_vios')
|
||||
|
||||
@mock.patch('nova_powervm.virt.powervm.media.ConfigDrivePowerVM.'
|
||||
'_validate_vopt_vg')
|
||||
@mock.patch('pypowervm.adapter.Adapter')
|
||||
def test_dlt_vopt(self, mock_adpt, mock_vop_valid):
|
||||
def test_dlt_vopt(self, mock_vop_valid):
|
||||
|
||||
# Set up the mock data.
|
||||
class FakeQuickProp():
|
||||
@property
|
||||
def body(self):
|
||||
return '2'
|
||||
mock_adpt.read.side_effect = [self.vio_to_vg, FakeQuickProp(),
|
||||
self.vg_to_vio]
|
||||
resp = mock.MagicMock(name='resp')
|
||||
type(resp).body = mock.PropertyMock(return_value='2')
|
||||
self.apt.read.side_effect = [self.vio_to_vg, resp,
|
||||
self.vg_to_vio]
|
||||
|
||||
# Make sure that the first update is a VIO and doesn't have the vopt
|
||||
# mapping
|
||||
|
@ -144,10 +140,10 @@ class TestConfigDrivePowerVM(test.TestCase):
|
|||
else:
|
||||
self.fail("Shouldn't hit here")
|
||||
|
||||
mock_adpt.update.side_effect = validate_update
|
||||
self.apt.update.side_effect = validate_update
|
||||
|
||||
# Invoke the operation
|
||||
cfg_dr = m.ConfigDrivePowerVM(mock_adpt, 'fake_host', 'fake_vios')
|
||||
cfg_dr = m.ConfigDrivePowerVM(self.apt, 'fake_host', 'fake_vios')
|
||||
cfg_dr.dlt_vopt('fake_lpar_uuid')
|
||||
|
||||
self.assertEqual(2, mock_adpt.update.call_count)
|
||||
self.assertEqual(2, self.apt.update.call_count)
|
||||
|
|
Loading…
Reference in New Issue