Remove PyPowerVM fixture; use pypowervm AdapterFx

nova_powervm.tests.virt.powervm.fixtures.PyPowerVM was redundant with
pypowervm.tests.test_fixtures.AdapterFx and .SessionFx, and did not
provide the same level of functionality.  This change set removes the
PyPowerVM fixture and refactors its usages to use AdapterFx instead.

Change-Id: Ia095bfd172ef8c3f9e6be693f0aa50d6b02c70b1
This commit is contained in:
Eric Fried 2015-08-31 18:06:22 -05:00
parent 8494ff617f
commit 4e07db1739
13 changed files with 35 additions and 60 deletions

View File

@ -41,18 +41,19 @@ class TestLocalDisk(test.TestCase):
def setUp(self):
super(TestLocalDisk, self).setUp()
self.apt = self.useFixture(pvm_fx.AdapterFx()).adpt
# Find directory for response file(s)
data_dir = os.path.dirname(os.path.abspath(__file__))
data_dir = os.path.join(data_dir, "..", 'data')
def resp(file_name):
file_path = os.path.join(data_dir, file_name)
return pvmhttp.load_pvm_resp(file_path).get_response()
return pvmhttp.load_pvm_resp(
file_path, adapter=self.apt).get_response()
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
# Set up for the mocks for get_ls
@ -391,13 +392,16 @@ class TestLocalDiskFindVG(test.TestCase):
def setUp(self):
super(TestLocalDiskFindVG, self).setUp()
self.apt = self.useFixture(pvm_fx.AdapterFx()).adpt
# Find directory for response file(s)
data_dir = os.path.dirname(os.path.abspath(__file__))
data_dir = os.path.join(data_dir, "..", 'data')
def resp(file_name):
file_path = os.path.join(data_dir, file_name)
return pvmhttp.load_pvm_resp(file_path).get_response()
return pvmhttp.load_pvm_resp(
file_path, adapter=self.apt).get_response()
self.vg_to_vio = resp(VOL_GRP_WITH_VIOS)
self.vio_to_vg = resp(VIOS_WITH_VOL_GRP)
@ -405,9 +409,6 @@ class TestLocalDiskFindVG(test.TestCase):
self.mock_vios_feed = [pvm_vios.VIOS.wrap(self.vio_to_vg)]
self.mock_vg_feed = [pvm_stor.VG.wrap(self.vg_to_vio)]
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
@mock.patch('pypowervm.wrappers.storage.VG.wrap')
@mock.patch('pypowervm.wrappers.virtual_io_server.VIOS.wrap')
def test_get_vg_uuid(self, mock_vio_wrap, mock_vg_wrap):

View File

@ -79,8 +79,7 @@ class TestSSPDiskAdapter(test.TestCase):
data_dir = os.path.dirname(os.path.abspath(__file__))
data_dir = os.path.join(data_dir, "..", 'data')
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
self.apt = self.useFixture(pvm_fx.AdapterFx()).adpt
def resp(file_name):
file_path = os.path.join(data_dir, file_name)

View File

@ -24,27 +24,15 @@ import os
from nova_powervm.virt.powervm import driver
from nova.virt import fake
from pypowervm.tests import test_fixtures as pvm_fx
from pypowervm.tests.wrappers.util import pvmhttp
MS_HTTPRESP_FILE = "fake_managedsystem.txt"
FAKE_INST_UUID = 'b6513403-fd7f-4ad0-ab27-f73bacbd3929'
FAKE_INST_UUID_PVM = '36513403-FD7F-4AD0-AB27-F73BACBD3929'
class PyPowerVM(fixtures.Fixture):
"""Patch out PyPowerVM Session and Adapter."""
def setUp(self):
super(PyPowerVM, self).setUp()
self._sess_patcher = mock.patch('pypowervm.adapter.Session')
self._apt_patcher = mock.patch('pypowervm.adapter.Adapter')
self.sess = self._sess_patcher.start()
self.apt = self._apt_patcher.start()
self.addCleanup(self._sess_patcher.stop)
self.addCleanup(self._apt_patcher.stop)
class ImageAPI(fixtures.Fixture):
"""Mock out the Glance API."""
@ -116,15 +104,11 @@ class PowerVMComputeDriver(fixtures.Fixture):
def setUp(self):
super(PowerVMComputeDriver, self).setUp()
self.pypvm = PyPowerVM()
self.pypvm.setUp()
self.addCleanup(self.pypvm.cleanUp)
# Set up the mock CPU stats (init_host uses it)
self.useFixture(HostCPUStats())
self.drv = driver.PowerVMDriver(fake.FakeVirtAPI())
self.drv.adapter = self.pypvm.apt
self.drv.adapter = self.useFixture(pvm_fx.AdapterFx()).adpt
self._init_host()
self.drv.image_api = mock.Mock()

View File

@ -20,9 +20,9 @@ import mock
from nova import exception
from nova import objects
from nova import test
from pypowervm.tests import test_fixtures as pvm_fx
from nova_powervm.tests.virt import powervm
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm.tasks import network as tf_net
@ -37,8 +37,7 @@ def cna(mac):
class TestNetwork(test.TestCase):
def setUp(self):
super(TestNetwork, self).setUp()
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
self.apt = self.useFixture(pvm_fx.AdapterFx()).adpt
self.mock_lpar_wrap = mock.MagicMock()
self.mock_lpar_wrap.can_modify_io.return_value = True, None

View File

@ -83,7 +83,7 @@ class TestPowerVMDriver(test.TestCase):
self.flags(disk_driver='localdisk', group='powervm')
self.drv_fix = self.useFixture(fx.PowerVMComputeDriver())
self.drv = self.drv_fix.drv
self.apt = self.drv_fix.pypvm.apt
self.apt = self.drv.adapter
self._setup_lpm()

View File

@ -20,11 +20,11 @@ import mock
import logging
from nova import test
import os
import pypowervm.tests.test_fixtures as pvm_fx
from pypowervm.tests.wrappers.util import pvmhttp
import pypowervm.wrappers.managed_system as pvm_ms
from pypowervm.wrappers.pcm import phyp as pvm_phyp
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm import host as pvm_host
MS_HTTPRESP_FILE = "managedsystem.txt"
@ -87,8 +87,7 @@ class TestHostCPUStats(test.TestCase):
super(TestHostCPUStats, self).setUp()
# Fixture for the adapter
self.pypvm = self.useFixture(fx.PyPowerVM())
self.adpt = self.pypvm.apt
self.adpt = self.useFixture(pvm_fx.AdapterFx()).adpt
# Test data
dirname = os.path.dirname(__file__)

View File

@ -32,7 +32,7 @@ class TestLPM(test.TestCase):
self.flags(disk_driver='localdisk', group='powervm')
self.drv_fix = self.useFixture(fx.PowerVMComputeDriver())
self.drv = self.drv_fix.drv
self.apt = self.drv_fix.pypvm.apt
self.apt = self.drv.adapter
self.inst = objects.Instance(**powervm.TEST_INSTANCE)
self.lpmsrc = lpm.LiveMigrationSrc(self.drv, self.inst, {})

View File

@ -23,7 +23,6 @@ from pypowervm.tests.wrappers.util import pvmhttp
from pypowervm.wrappers import storage as pvm_stor
from pypowervm.wrappers import virtual_io_server as pvm_vios
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm import exception as npvmex
from nova_powervm.virt.powervm import media as m
@ -47,8 +46,7 @@ class TestConfigDrivePowerVM(test.TestCase):
data_dir = os.path.dirname(os.path.abspath(__file__))
data_dir = os.path.join(data_dir, 'data')
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
self.apt = self.useFixture(pvm_fx.AdapterFx()).adpt
def resp(file_name):
file_path = os.path.join(data_dir, file_name)

View File

@ -18,10 +18,10 @@ import mock
from nova import exception
from nova import test
from pypowervm.tests import test_fixtures as pvm_fx
from pypowervm.tests.wrappers.util import pvmhttp
from pypowervm.wrappers import logical_partition as pvm_lpar
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm import exception as npvmex
from nova_powervm.virt.powervm import mgmt
@ -31,8 +31,7 @@ LPAR_HTTPRESP_FILE = "lpar.txt"
class TestMgmt(test.TestCase):
def setUp(self):
super(TestMgmt, self).setUp()
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
self.apt = self.useFixture(pvm_fx.AdapterFx()).adpt
lpar_http = pvmhttp.load_pvm_resp(LPAR_HTTPRESP_FILE, adapter=self.apt)
self.assertNotEqual(lpar_http, None,

View File

@ -17,12 +17,13 @@
from nova import test
import os
from pypowervm.tests import test_fixtures as pvm_fx
from pypowervm.tests.wrappers.util import pvmhttp
from pypowervm.wrappers import base_partition as pvm_bp
from pypowervm.wrappers import managed_system as pvm_ms
from pypowervm.wrappers import virtual_io_server as pvm_vios
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm import vios
VIOS_FEED = 'fake_vios_feed.txt'
@ -32,8 +33,7 @@ class TestVios(test.TestCase):
def setUp(self):
super(TestVios, self).setUp()
self.pypvm_fix = self.useFixture(fx.PyPowerVM())
self.adpt = self.pypvm_fix.apt
self.adpt = self.useFixture(pvm_fx.AdapterFx()).adpt
# Find directory for response file(s)
data_dir = os.path.dirname(os.path.abspath(__file__))

View File

@ -25,13 +25,13 @@ from nova import objects
from nova import test
from pypowervm import exceptions as pvm_exc
from pypowervm.helpers import log_helper as pvm_log
from pypowervm.tests import test_fixtures as pvm_fx
from pypowervm.tests.wrappers.util import pvmhttp
from pypowervm.wrappers import base_partition as pvm_bp
from pypowervm.wrappers import logical_partition as pvm_lpar
from pypowervm.wrappers import network as pvm_net
from nova_powervm.tests.virt import powervm
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm import vm
LPAR_HTTPRESP_FILE = "lpar.txt"
@ -155,8 +155,8 @@ class TestVMBuilder(test.TestCase):
class TestVM(test.TestCase):
def setUp(self):
super(TestVM, self).setUp()
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
self.apt = self.useFixture(pvm_fx.AdapterFx(
traits=pvm_fx.LocalPVMTraits)).adpt
self.apt.helpers = [pvm_log.log_helper]
lpar_http = pvmhttp.load_pvm_resp(LPAR_HTTPRESP_FILE, adapter=self.apt)
@ -319,8 +319,7 @@ class TestVM(test.TestCase):
mock_crt_cna.side_effect = validate_of_crt
# Invoke
resp = vm.crt_vif(mock.MagicMock(), mock.MagicMock(), 'fake_host',
fake_vif)
resp = vm.crt_vif(self.apt, mock.MagicMock(), 'fake_host', fake_vif)
# Validate (along with validate method above)
self.assertEqual(1, mock_crt_cna.call_count)

View File

@ -23,7 +23,6 @@ from pypowervm.tests import test_fixtures as pvm_fx
from pypowervm.tests.wrappers.util import pvmhttp
from pypowervm.wrappers import virtual_io_server as pvm_vios
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm.volume import npiv
VIOS_FEED = 'fake_vios_feed.txt'
@ -35,13 +34,16 @@ class TestNPIVAdapter(test.TestCase):
def setUp(self):
super(TestNPIVAdapter, self).setUp()
self.adpt = self.useFixture(pvm_fx.AdapterFx()).adpt
# Find directory for response file(s)
data_dir = os.path.dirname(os.path.abspath(__file__))
data_dir = os.path.join(data_dir, '../data')
def resp(file_name):
file_path = os.path.join(data_dir, file_name)
return pvmhttp.load_pvm_resp(file_path).get_response()
return pvmhttp.load_pvm_resp(
file_path, adapter=self.adpt).get_response()
self.vios_feed_resp = resp(VIOS_FEED)
self.wwpn1 = '21000024FF649104'
self.wwpn2 = '21000024FF649107'
@ -66,10 +68,6 @@ class TestNPIVAdapter(test.TestCase):
self.mock_fabric_ports = self.mock_fabric_ports_p.start()
self.mock_fabric_ports.return_value = [self.wwpn1, self.wwpn2]
# Fixtures
self.adpt_fix = self.useFixture(fx.PyPowerVM())
self.adpt = self.adpt_fix.apt
@mock.patch('pypowervm.wrappers.virtual_io_server.VIOS.getter')
@mock.patch('nova_powervm.virt.powervm.vm.get_pvm_uuid')
def init_vol_adpt(mock_pvm_uuid, mock_getter):

View File

@ -21,7 +21,6 @@ import os
from oslo_config import cfg
from nova_powervm.tests.virt.powervm import fixtures as fx
from nova_powervm.virt.powervm import exception as p_exc
from nova_powervm.virt.powervm.volume import vscsi
@ -43,8 +42,7 @@ class TestVSCSIAdapter(test.TestCase):
"""Tests the vSCSI Volume Connector Adapter."""
def setUp(self):
super(TestVSCSIAdapter, self).setUp()
self.pypvm_fix = self.useFixture(fx.PyPowerVM())
self.adpt = self.pypvm_fix.apt
self.adpt = self.useFixture(pvm_fx.AdapterFx()).adpt
# Find directory for response file(s)
data_dir = os.path.dirname(os.path.abspath(__file__))
@ -52,7 +50,8 @@ class TestVSCSIAdapter(test.TestCase):
def resp(file_name):
file_path = os.path.join(data_dir, file_name)
return pvmhttp.load_pvm_resp(file_path).get_response()
return pvmhttp.load_pvm_resp(
file_path, adapter=self.adpt).get_response()
self.vios_feed_resp = resp(VIOS_FEED)
feed = pvm_vios.VIOS.wrap(self.vios_feed_resp)