diff --git a/nova/network/base_api.py b/nova/network/base_api.py index 436bffc20410..a9eff95ea783 100644 --- a/nova/network/base_api.py +++ b/nova/network/base_api.py @@ -38,7 +38,9 @@ def update_instance_cache_with_nw_info(impl, context, instance, nw_info = None if nw_info is None: nw_info = impl._get_instance_nw_info(context, instance) + LOG.debug('Updating cache with info: %s', nw_info) + # NOTE(comstud): The save() method actually handles updating or # creating the instance. We don't need to retrieve the object # from the DB first. diff --git a/nova/test.py b/nova/test.py index 45e7015715d1..597833b16eaa 100644 --- a/nova/test.py +++ b/nova/test.py @@ -39,6 +39,7 @@ from oslo.config import cfg from oslo.config import fixture as config_fixture from oslo.messaging import conffixture as messaging_conffixture from oslo.utils import timeutils +from oslotest import moxstubout import testtools from nova import context @@ -49,7 +50,6 @@ from nova.network import manager as network_manager from nova import objects from nova.objects import base as objects_base from nova.openstack.common.fixture import logging as log_fixture -from nova.openstack.common.fixture import moxstubout from nova.openstack.common import log as nova_logging from nova import paths from nova import rpc diff --git a/nova/tests/unit/api/ec2/test_faults.py b/nova/tests/unit/api/ec2/test_faults.py index ae71be9bbf68..26941398bd77 100644 --- a/nova/tests/unit/api/ec2/test_faults.py +++ b/nova/tests/unit/api/ec2/test_faults.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mox +from mox3 import mox import webob from nova.api.ec2 import faults diff --git a/nova/tests/unit/api/ec2/test_middleware.py b/nova/tests/unit/api/ec2/test_middleware.py index 3eb9c703da59..246e0d39f7d9 100644 --- a/nova/tests/unit/api/ec2/test_middleware.py +++ b/nova/tests/unit/api/ec2/test_middleware.py @@ -16,7 +16,7 @@ from eventlet.green import httplib from lxml import etree -import mox +from mox3 import mox from oslo.config import cfg from oslo.utils import timeutils import webob diff --git a/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping.py b/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping.py index ab20ad85c309..0fb0741e329e 100644 --- a/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping.py +++ b/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping.py @@ -14,7 +14,7 @@ # under the License. import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.serialization import jsonutils from webob import exc diff --git a/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping_v1.py b/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping_v1.py index 2f73f0095293..46e70021a5d6 100644 --- a/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping_v1.py +++ b/nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping_v1.py @@ -14,7 +14,7 @@ # under the License. import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.serialization import jsonutils from webob import exc diff --git a/nova/tests/unit/api/openstack/compute/contrib/test_certificates.py b/nova/tests/unit/api/openstack/compute/contrib/test_certificates.py index c7066516d8a1..eafa7cd0456f 100644 --- a/nova/tests/unit/api/openstack/compute/contrib/test_certificates.py +++ b/nova/tests/unit/api/openstack/compute/contrib/test_certificates.py @@ -16,7 +16,7 @@ from lxml import etree import mock -import mox +from mox3 import mox from webob import exc from nova.api.openstack.compute.contrib import certificates as certificates_v2 diff --git a/nova/tests/unit/api/openstack/compute/contrib/test_migrations.py b/nova/tests/unit/api/openstack/compute/contrib/test_migrations.py index 519c92cfd34d..3f59bea28a92 100644 --- a/nova/tests/unit/api/openstack/compute/contrib/test_migrations.py +++ b/nova/tests/unit/api/openstack/compute/contrib/test_migrations.py @@ -15,6 +15,7 @@ import datetime from lxml import etree +from oslotest import moxstubout from nova.api.openstack.compute.contrib import migrations as migrations_v2 from nova.api.openstack.compute.plugins.v3 import migrations as migrations_v21 @@ -22,7 +23,6 @@ from nova import context from nova import exception from nova import objects from nova.objects import base -from nova.openstack.common.fixture import moxstubout from nova import test fake_migrations = [ diff --git a/nova/tests/unit/api/openstack/compute/contrib/test_security_groups.py b/nova/tests/unit/api/openstack/compute/contrib/test_security_groups.py index d1620b6a2847..90a8a47b5de6 100644 --- a/nova/tests/unit/api/openstack/compute/contrib/test_security_groups.py +++ b/nova/tests/unit/api/openstack/compute/contrib/test_security_groups.py @@ -15,7 +15,7 @@ from lxml import etree import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.serialization import jsonutils import webob diff --git a/nova/tests/unit/api/openstack/compute/contrib/test_server_start_stop.py b/nova/tests/unit/api/openstack/compute/contrib/test_server_start_stop.py index 6be2a52b8645..aa1b00aa2017 100644 --- a/nova/tests/unit/api/openstack/compute/contrib/test_server_start_stop.py +++ b/nova/tests/unit/api/openstack/compute/contrib/test_server_start_stop.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mox +from mox3 import mox import webob from nova.api.openstack.compute.contrib import server_start_stop \ diff --git a/nova/tests/unit/api/openstack/compute/plugins/v3/test_server_actions.py b/nova/tests/unit/api/openstack/compute/plugins/v3/test_server_actions.py index 0887a04d1347..d53c4a2ddbac 100644 --- a/nova/tests/unit/api/openstack/compute/plugins/v3/test_server_actions.py +++ b/nova/tests/unit/api/openstack/compute/plugins/v3/test_server_actions.py @@ -16,7 +16,7 @@ import uuid import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.serialization import jsonutils import webob diff --git a/nova/tests/unit/api/openstack/compute/plugins/v3/test_servers.py b/nova/tests/unit/api/openstack/compute/plugins/v3/test_servers.py index b09187e84919..d4aa3ddd4ee8 100644 --- a/nova/tests/unit/api/openstack/compute/plugins/v3/test_servers.py +++ b/nova/tests/unit/api/openstack/compute/plugins/v3/test_servers.py @@ -22,7 +22,7 @@ import uuid import iso8601 import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.serialization import jsonutils from oslo.utils import timeutils diff --git a/nova/tests/unit/api/openstack/compute/test_server_actions.py b/nova/tests/unit/api/openstack/compute/test_server_actions.py index c3e28b1f6ff6..940400d52692 100644 --- a/nova/tests/unit/api/openstack/compute/test_server_actions.py +++ b/nova/tests/unit/api/openstack/compute/test_server_actions.py @@ -17,7 +17,7 @@ import base64 import uuid import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.serialization import jsonutils import webob diff --git a/nova/tests/unit/cells/test_cells_messaging.py b/nova/tests/unit/cells/test_cells_messaging.py index 58c40979c883..e7316c3b33a3 100644 --- a/nova/tests/unit/cells/test_cells_messaging.py +++ b/nova/tests/unit/cells/test_cells_messaging.py @@ -20,7 +20,7 @@ Tests For Cells Messaging module import contextlib import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo import messaging as oslo_messaging from oslo.serialization import jsonutils diff --git a/nova/tests/unit/cells/test_cells_rpc_driver.py b/nova/tests/unit/cells/test_cells_rpc_driver.py index 7efba3765b57..8c8e1921d530 100644 --- a/nova/tests/unit/cells/test_cells_rpc_driver.py +++ b/nova/tests/unit/cells/test_cells_rpc_driver.py @@ -17,7 +17,7 @@ Tests For Cells RPC Communication Driver """ -import mox +from mox3 import mox from oslo.config import cfg from oslo import messaging as oslo_messaging diff --git a/nova/tests/unit/compute/test_compute.py b/nova/tests/unit/compute/test_compute.py index d2561d1a776c..b144ea1e46db 100644 --- a/nova/tests/unit/compute/test_compute.py +++ b/nova/tests/unit/compute/test_compute.py @@ -28,7 +28,7 @@ import uuid from eventlet import greenthread import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo import messaging from oslo.serialization import jsonutils @@ -2767,7 +2767,8 @@ class ComputeTestCase(BaseTestCase): def test_reboot_hard_and_delete_and_rescued(self): self._test_reboot(False, True, True) - def test_reboot_fail(self): + @mock.patch.object(jsonutils, 'to_primitive') + def test_reboot_fail(self, mock_to_primitive): self._test_reboot(False, fail_reboot=True) def test_reboot_fail_running(self): diff --git a/nova/tests/unit/compute/test_compute_api.py b/nova/tests/unit/compute/test_compute_api.py index 814385764a09..cb8030036186 100644 --- a/nova/tests/unit/compute/test_compute_api.py +++ b/nova/tests/unit/compute/test_compute_api.py @@ -19,7 +19,7 @@ import datetime import iso8601 import mock -import mox +from mox3 import mox from oslo.utils import timeutils from nova.compute import api as compute_api diff --git a/nova/tests/unit/compute/test_shelve.py b/nova/tests/unit/compute/test_shelve.py index 3606cec7f666..3939b1183db0 100644 --- a/nova/tests/unit/compute/test_shelve.py +++ b/nova/tests/unit/compute/test_shelve.py @@ -12,7 +12,7 @@ import iso8601 import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.utils import timeutils diff --git a/nova/tests/unit/compute/test_virtapi.py b/nova/tests/unit/compute/test_virtapi.py index 5e58ba05d164..5a236760d4c0 100644 --- a/nova/tests/unit/compute/test_virtapi.py +++ b/nova/tests/unit/compute/test_virtapi.py @@ -13,7 +13,7 @@ # under the License. import mock -import mox +from mox3 import mox from nova.compute import manager as compute_manager from nova import context diff --git a/nova/tests/unit/conductor/tasks/test_live_migrate.py b/nova/tests/unit/conductor/tasks/test_live_migrate.py index 020535d035e7..790217b2aca2 100644 --- a/nova/tests/unit/conductor/tasks/test_live_migrate.py +++ b/nova/tests/unit/conductor/tasks/test_live_migrate.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mox +from mox3 import mox from nova.compute import power_state from nova.compute import utils as compute_utils diff --git a/nova/tests/unit/conductor/test_conductor.py b/nova/tests/unit/conductor/test_conductor.py index 0e5e7d77c1e6..92a86813a9b6 100644 --- a/nova/tests/unit/conductor/test_conductor.py +++ b/nova/tests/unit/conductor/test_conductor.py @@ -18,7 +18,7 @@ import contextlib import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo import messaging from oslo.serialization import jsonutils diff --git a/nova/tests/unit/consoleauth/test_consoleauth.py b/nova/tests/unit/consoleauth/test_consoleauth.py index 571d54fd923a..cf6e79736b81 100644 --- a/nova/tests/unit/consoleauth/test_consoleauth.py +++ b/nova/tests/unit/consoleauth/test_consoleauth.py @@ -18,7 +18,7 @@ Tests for Consoleauth Code. """ -import mox +from mox3 import mox from oslo.utils import timeutils from nova.consoleauth import manager diff --git a/nova/tests/unit/image/test_s3.py b/nova/tests/unit/image/test_s3.py index d9ef08d3feae..0219e61d6234 100644 --- a/nova/tests/unit/image/test_s3.py +++ b/nova/tests/unit/image/test_s3.py @@ -19,7 +19,7 @@ import tempfile import eventlet import fixtures -import mox +from mox3 import mox from nova.api.ec2 import ec2utils from nova import context diff --git a/nova/tests/unit/network/security_group/test_neutron_driver.py b/nova/tests/unit/network/security_group/test_neutron_driver.py index 715ea19e39b2..f1b34517be02 100644 --- a/nova/tests/unit/network/security_group/test_neutron_driver.py +++ b/nova/tests/unit/network/security_group/test_neutron_driver.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. # -import mox +from mox3 import mox from neutronclient.common import exceptions as n_exc from neutronclient.v2_0 import client diff --git a/nova/tests/unit/network/test_api.py b/nova/tests/unit/network/test_api.py index 12843323efd3..90af27fba698 100644 --- a/nova/tests/unit/network/test_api.py +++ b/nova/tests/unit/network/test_api.py @@ -20,7 +20,7 @@ import itertools import uuid import mock -import mox +from mox3 import mox from nova.compute import flavors from nova import context diff --git a/nova/tests/unit/network/test_linux_net.py b/nova/tests/unit/network/test_linux_net.py index 7e912f3c3cca..d5851a949c48 100644 --- a/nova/tests/unit/network/test_linux_net.py +++ b/nova/tests/unit/network/test_linux_net.py @@ -19,7 +19,7 @@ import datetime import os import mock -import mox +from mox3 import mox from oslo.concurrency import processutils from oslo.config import cfg from oslo.serialization import jsonutils diff --git a/nova/tests/unit/network/test_manager.py b/nova/tests/unit/network/test_manager.py index e78606a96623..00c9663bdef1 100644 --- a/nova/tests/unit/network/test_manager.py +++ b/nova/tests/unit/network/test_manager.py @@ -19,7 +19,7 @@ import contextlib import fixtures import mock -import mox +from mox3 import mox import netaddr from oslo.concurrency import processutils from oslo.config import cfg diff --git a/nova/tests/unit/network/test_neutronv2.py b/nova/tests/unit/network/test_neutronv2.py index 61fb349f0688..3ba3fe4a4558 100644 --- a/nova/tests/unit/network/test_neutronv2.py +++ b/nova/tests/unit/network/test_neutronv2.py @@ -20,7 +20,7 @@ import copy import uuid import mock -import mox +from mox3 import mox from neutronclient.common import exceptions from neutronclient.v2_0 import client from oslo.config import cfg @@ -2123,7 +2123,8 @@ class TestNeutronv2(TestNeutronv2Base): self.mox.StubOutWithMock(api, '_get_instance_nw_info') self.mox.StubOutWithMock(api.db, 'instance_info_cache_update') for instance in instances: - nw_info.json() + nw_info.__str__().AndReturn('') + nw_info.json().AndReturn({}) api._get_instance_nw_info(mox.IgnoreArg(), instance).\ AndReturn(nw_info) api.db.instance_info_cache_update(mox.IgnoreArg(), diff --git a/nova/tests/unit/network/test_rpcapi.py b/nova/tests/unit/network/test_rpcapi.py index f24fdd02d2d6..82f7e59b9a61 100644 --- a/nova/tests/unit/network/test_rpcapi.py +++ b/nova/tests/unit/network/test_rpcapi.py @@ -18,7 +18,7 @@ Unit Tests for nova.network.rpcapi import collections -import mox +from mox3 import mox from oslo.config import cfg from nova import context diff --git a/nova/tests/unit/objects/test_instance.py b/nova/tests/unit/objects/test_instance.py index 899b6d10af6e..87707519d0bb 100644 --- a/nova/tests/unit/objects/test_instance.py +++ b/nova/tests/unit/objects/test_instance.py @@ -16,7 +16,7 @@ import datetime import iso8601 import mock -import mox +from mox3 import mox import netaddr from oslo.serialization import jsonutils from oslo.utils import timeutils diff --git a/nova/tests/unit/scheduler/fakes.py b/nova/tests/unit/scheduler/fakes.py index 487616e55fc8..e085b4e3a517 100644 --- a/nova/tests/unit/scheduler/fakes.py +++ b/nova/tests/unit/scheduler/fakes.py @@ -16,7 +16,7 @@ Fakes For Scheduler tests. """ -import mox +from mox3 import mox from oslo.serialization import jsonutils from nova.compute import vm_states diff --git a/nova/tests/unit/scheduler/test_chance_scheduler.py b/nova/tests/unit/scheduler/test_chance_scheduler.py index 73a4696ec3e4..31d9c9314533 100644 --- a/nova/tests/unit/scheduler/test_chance_scheduler.py +++ b/nova/tests/unit/scheduler/test_chance_scheduler.py @@ -18,7 +18,7 @@ Tests For Chance Scheduler. import random -import mox +from mox3 import mox from nova.compute import rpcapi as compute_rpcapi from nova.compute import utils as compute_utils diff --git a/nova/tests/unit/scheduler/test_filter_scheduler.py b/nova/tests/unit/scheduler/test_filter_scheduler.py index 96231ef13af0..24fb7eb0db05 100644 --- a/nova/tests/unit/scheduler/test_filter_scheduler.py +++ b/nova/tests/unit/scheduler/test_filter_scheduler.py @@ -17,7 +17,7 @@ Tests For Filter Scheduler. """ import mock -import mox +from mox3 import mox from nova.compute import utils as compute_utils from nova.compute import vm_states diff --git a/nova/tests/unit/scheduler/test_rpcapi.py b/nova/tests/unit/scheduler/test_rpcapi.py index 0ba0feb54057..381e81deebc8 100644 --- a/nova/tests/unit/scheduler/test_rpcapi.py +++ b/nova/tests/unit/scheduler/test_rpcapi.py @@ -16,7 +16,7 @@ Unit Tests for nova.scheduler.rpcapi """ -import mox +from mox3 import mox from oslo.config import cfg from nova import context diff --git a/nova/tests/unit/scheduler/test_scheduler.py b/nova/tests/unit/scheduler/test_scheduler.py index 2435d60343c0..45ac720525ac 100644 --- a/nova/tests/unit/scheduler/test_scheduler.py +++ b/nova/tests/unit/scheduler/test_scheduler.py @@ -17,7 +17,7 @@ Tests For Scheduler """ -import mox +from mox3 import mox from oslo.config import cfg from nova.compute import api as compute_api diff --git a/nova/tests/unit/scheduler/test_scheduler_utils.py b/nova/tests/unit/scheduler/test_scheduler_utils.py index b655ab64a2af..a72095a6481e 100644 --- a/nova/tests/unit/scheduler/test_scheduler_utils.py +++ b/nova/tests/unit/scheduler/test_scheduler_utils.py @@ -19,7 +19,7 @@ import contextlib import uuid import mock -import mox +from mox3 import mox from oslo.config import cfg from nova.compute import flavors diff --git a/nova/tests/unit/scheduler/test_weights.py b/nova/tests/unit/scheduler/test_weights.py index 5f168bf5df95..3b5f8ab06d65 100644 --- a/nova/tests/unit/scheduler/test_weights.py +++ b/nova/tests/unit/scheduler/test_weights.py @@ -17,10 +17,10 @@ Tests For Scheduler weights. """ from oslo.serialization import jsonutils +from oslotest import mockpatch from nova import context from nova import exception -from nova.openstack.common.fixture import mockpatch from nova.scheduler import weights from nova import test from nova.tests.unit import matchers diff --git a/nova/tests/unit/test_configdrive2.py b/nova/tests/unit/test_configdrive2.py index f6bcaea99d8c..606fbc5c05e6 100644 --- a/nova/tests/unit/test_configdrive2.py +++ b/nova/tests/unit/test_configdrive2.py @@ -17,7 +17,7 @@ import os import tempfile -import mox +from mox3 import mox from oslo.config import cfg from nova import context diff --git a/nova/tests/unit/test_crypto.py b/nova/tests/unit/test_crypto.py index 49634626a3c9..b44288b9c5b2 100644 --- a/nova/tests/unit/test_crypto.py +++ b/nova/tests/unit/test_crypto.py @@ -19,7 +19,7 @@ Tests for Crypto module. import os import mock -import mox +from mox3 import mox from oslo.concurrency import processutils from nova import crypto diff --git a/nova/tests/unit/test_service.py b/nova/tests/unit/test_service.py index bb3614386913..7269f9d19c4d 100644 --- a/nova/tests/unit/test_service.py +++ b/nova/tests/unit/test_service.py @@ -21,7 +21,7 @@ Unit Tests for remote procedure calls using queue import sys import mock -import mox +from mox3 import mox from oslo.concurrency import processutils from oslo.config import cfg import testtools diff --git a/nova/tests/unit/test_utils.py b/nova/tests/unit/test_utils.py index 8c26a38998aa..e333a46d2d25 100644 --- a/nova/tests/unit/test_utils.py +++ b/nova/tests/unit/test_utils.py @@ -12,7 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. -import __builtin__ import datetime import functools import hashlib @@ -22,7 +21,8 @@ import os.path import StringIO import tempfile -import mox +import mock +from mox3 import mox import netaddr from oslo.concurrency import processutils from oslo.config import cfg @@ -181,32 +181,23 @@ class GenericUtilsTestCase(test.NoDBTestCase): def test_read_modified_cached_file(self): self.mox.StubOutWithMock(os.path, "getmtime") - self.mox.StubOutWithMock(__builtin__, 'open') os.path.getmtime(mox.IgnoreArg()).AndReturn(2) + self.mox.ReplayAll() fake_contents = "lorem ipsum" - fake_file = self.mox.CreateMockAnything() - fake_file.read().AndReturn(fake_contents) - fake_context_manager = self.mox.CreateMockAnything() - fake_context_manager.__enter__().AndReturn(fake_file) - fake_context_manager.__exit__(mox.IgnoreArg(), - mox.IgnoreArg(), - mox.IgnoreArg()) + m = mock.mock_open(read_data=fake_contents) + with mock.patch("__builtin__.open", m, create=True): + cache_data = {"data": 1123, "mtime": 1} + self.reload_called = False - __builtin__.open(mox.IgnoreArg()).AndReturn(fake_context_manager) + def test_reload(reloaded_data): + self.assertEqual(reloaded_data, fake_contents) + self.reload_called = True - self.mox.ReplayAll() - cache_data = {"data": 1123, "mtime": 1} - self.reload_called = False - - def test_reload(reloaded_data): - self.assertEqual(reloaded_data, fake_contents) - self.reload_called = True - - data = utils.read_cached_file("/this/is/a/fake", cache_data, - reload_func=test_reload) - self.assertEqual(data, fake_contents) - self.assertTrue(self.reload_called) + data = utils.read_cached_file("/this/is/a/fake", cache_data, + reload_func=test_reload) + self.assertEqual(data, fake_contents) + self.assertTrue(self.reload_called) def test_generate_password(self): password = utils.generate_password() diff --git a/nova/tests/unit/virt/disk/test_api.py b/nova/tests/unit/virt/disk/test_api.py index 1f62c33b51da..91581e5fd06f 100644 --- a/nova/tests/unit/virt/disk/test_api.py +++ b/nova/tests/unit/virt/disk/test_api.py @@ -120,7 +120,8 @@ class APITestCase(test.NoDBTestCase): self.mox.StubOutWithMock(mounter, 'get_dev') self.mox.StubOutWithMock(mounter, 'unget_dev') self.mox.StubOutWithMock(api, 'resize2fs') - self.mox.StubOutWithMock(mount.Mount, 'instance_for_format') + self.mox.StubOutWithMock(mount.Mount, 'instance_for_format', + use_mock_anything=True) api.can_resize_image(imgfile, imgsize).AndReturn(True) utils.execute('qemu-img', 'resize', imgfile, imgsize) diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index a12b5fa09b6d..7966411c27a4 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -31,7 +31,7 @@ from eventlet import greenthread import fixtures from lxml import etree import mock -import mox +from mox3 import mox from oslo.concurrency import lockutils from oslo.concurrency import processutils from oslo.config import cfg @@ -11396,7 +11396,10 @@ class LibvirtDriverTestCase(test.NoDBTestCase): network_info, image_meta, rescue_password) self.mox.VerifyAll() - def test_rescue_config_drive(self): + @mock.patch( + 'nova.virt.configdrive.ConfigDriveBuilder.add_instance_metadata') + @mock.patch('nova.virt.configdrive.ConfigDriveBuilder.make_drive') + def test_rescue_config_drive(self, mock_make, mock_add): instance = self._create_instance() uuid = instance.uuid configdrive_path = uuid + '/disk.config.rescue' @@ -11418,8 +11421,6 @@ class LibvirtDriverTestCase(test.NoDBTestCase): self.mox.StubOutWithMock(imagebackend.Image, 'cache') self.mox.StubOutWithMock(instance_metadata.InstanceMetadata, '__init__') - self.mox.StubOutWithMock(configdrive, 'ConfigDriveBuilder') - self.mox.StubOutWithMock(configdrive.ConfigDriveBuilder, 'make_drive') self.mox.StubOutWithMock(self.libvirtconnection, '_get_guest_xml') self.mox.StubOutWithMock(self.libvirtconnection, '_destroy') self.mox.StubOutWithMock(self.libvirtconnection, '_create_domain') @@ -11455,14 +11456,6 @@ class LibvirtDriverTestCase(test.NoDBTestCase): content=mox.IgnoreArg(), extra_md=mox.IgnoreArg(), network_info=mox.IgnoreArg()) - cdb = self.mox.CreateMockAnything() - m = configdrive.ConfigDriveBuilder(instance_md=mox.IgnoreArg()) - m.AndReturn(cdb) - # __enter__ and __exit__ are required by "with" - cdb.__enter__().AndReturn(cdb) - cdb.make_drive(mox.Regex(configdrive_path)) - cdb.__exit__(mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg() - ).AndReturn(None) image_meta = {'id': 'fake', 'name': 'fake'} self.libvirtconnection._get_guest_xml(mox.IgnoreArg(), instance, network_info, mox.IgnoreArg(), @@ -11480,6 +11473,11 @@ class LibvirtDriverTestCase(test.NoDBTestCase): image_meta, rescue_password) self.mox.VerifyAll() + mock_add.assert_any_call(mock.ANY) + expected_call = [mock.call(os.path.join(CONF.instances_path, + configdrive_path))] + mock_make.assert_has_calls(expected_call) + @mock.patch('shutil.rmtree') @mock.patch('nova.utils.execute') @mock.patch('os.path.exists') diff --git a/nova/tests/unit/virt/libvirt/test_firewall.py b/nova/tests/unit/virt/libvirt/test_firewall.py index b6d4cddf5153..ac0f1356b152 100644 --- a/nova/tests/unit/virt/libvirt/test_firewall.py +++ b/nova/tests/unit/virt/libvirt/test_firewall.py @@ -20,7 +20,7 @@ from xml.dom import minidom from lxml import etree import mock -import mox +from mox3 import mox from oslo.concurrency import lockutils from nova.compute import utils as compute_utils diff --git a/nova/tests/unit/virt/vmwareapi/test_configdrive.py b/nova/tests/unit/virt/vmwareapi/test_configdrive.py index 7b4b1bba1f74..626b71bb639a 100644 --- a/nova/tests/unit/virt/vmwareapi/test_configdrive.py +++ b/nova/tests/unit/virt/vmwareapi/test_configdrive.py @@ -15,7 +15,7 @@ import fixtures import mock -import mox +from mox3 import mox from nova import context from nova.image import glance diff --git a/nova/tests/unit/virt/vmwareapi/test_driver_api.py b/nova/tests/unit/virt/vmwareapi/test_driver_api.py index dc1395641ddf..d796d8ff6340 100644 --- a/nova/tests/unit/virt/vmwareapi/test_driver_api.py +++ b/nova/tests/unit/virt/vmwareapi/test_driver_api.py @@ -26,7 +26,7 @@ import datetime from eventlet import greenthread import mock -import mox +from mox3 import mox from oslo.config import cfg from oslo.serialization import jsonutils from oslo.utils import timeutils diff --git a/nova/tests/unit/virt/xenapi/image/test_bittorrent.py b/nova/tests/unit/virt/xenapi/image/test_bittorrent.py index 5422036b98d0..6a956d58f8e2 100644 --- a/nova/tests/unit/virt/xenapi/image/test_bittorrent.py +++ b/nova/tests/unit/virt/xenapi/image/test_bittorrent.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -import mox +from mox3 import mox import pkg_resources import six diff --git a/nova/tests/unit/virt/xenapi/test_vm_utils.py b/nova/tests/unit/virt/xenapi/test_vm_utils.py index 8f2472217ab6..c32620087e20 100644 --- a/nova/tests/unit/virt/xenapi/test_vm_utils.py +++ b/nova/tests/unit/virt/xenapi/test_vm_utils.py @@ -19,7 +19,7 @@ import uuid from eventlet import greenthread import fixtures import mock -import mox +from mox3 import mox from oslo.concurrency import lockutils from oslo.concurrency import processutils from oslo.config import cfg diff --git a/nova/tests/unit/virt/xenapi/test_xenapi.py b/nova/tests/unit/virt/xenapi/test_xenapi.py index 901f70387aa4..b9086a153690 100644 --- a/nova/tests/unit/virt/xenapi/test_xenapi.py +++ b/nova/tests/unit/virt/xenapi/test_xenapi.py @@ -23,7 +23,7 @@ import os import re import mock -import mox +from mox3 import mox from oslo.concurrency import lockutils from oslo.config import cfg from oslo.config import fixture as config_fixture diff --git a/nova/tests/unit/volume/test_cinder.py b/nova/tests/unit/volume/test_cinder.py index b33c05cb6e64..402cd1089b59 100644 --- a/nova/tests/unit/volume/test_cinder.py +++ b/nova/tests/unit/volume/test_cinder.py @@ -195,7 +195,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_reserve_volume(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'reserve') + 'reserve', + use_mock_anything=True) self.cinderclient.volumes.reserve('id1') self.mox.ReplayAll() @@ -204,7 +205,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_unreserve_volume(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'unreserve') + 'unreserve', + use_mock_anything=True) self.cinderclient.volumes.unreserve('id1') self.mox.ReplayAll() @@ -213,7 +215,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_begin_detaching(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'begin_detaching') + 'begin_detaching', + use_mock_anything=True) self.cinderclient.volumes.begin_detaching('id1') self.mox.ReplayAll() @@ -222,7 +225,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_roll_detaching(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'roll_detaching') + 'roll_detaching', + use_mock_anything=True) self.cinderclient.volumes.roll_detaching('id1') self.mox.ReplayAll() @@ -253,7 +257,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_detach(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'detach') + 'detach', + use_mock_anything=True) self.cinderclient.volumes.detach('id1') self.mox.ReplayAll() @@ -262,7 +267,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_initialize_connection(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'initialize_connection') + 'initialize_connection', + use_mock_anything=True) self.cinderclient.volumes.initialize_connection('id1', 'connector') self.mox.ReplayAll() @@ -271,7 +277,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_terminate_connection(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'terminate_connection') + 'terminate_connection', + use_mock_anything=True) self.cinderclient.volumes.terminate_connection('id1', 'connector') self.mox.ReplayAll() @@ -280,7 +287,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_delete(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'delete') + 'delete', + use_mock_anything=True) self.cinderclient.volumes.delete('id1') self.mox.ReplayAll() @@ -340,7 +348,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_delete_snapshot(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volume_snapshots, - 'delete') + 'delete', + use_mock_anything=True) self.cinderclient.volume_snapshots.delete('id1') self.mox.ReplayAll() @@ -429,7 +438,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_update_snapshot_status(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volume_snapshots, - 'update_snapshot_status') + 'update_snapshot_status', + use_mock_anything=True) self.cinderclient.volume_snapshots.update_snapshot_status( 'id1', {'status': 'error', 'progress': '90%'}) self.mox.ReplayAll() @@ -438,7 +448,8 @@ class CinderApiTestCase(test.NoDBTestCase): def test_get_volume_encryption_metadata(self): cinder.cinderclient(self.ctx).AndReturn(self.cinderclient) self.mox.StubOutWithMock(self.cinderclient.volumes, - 'get_encryption_metadata') + 'get_encryption_metadata', + use_mock_anything=True) self.cinderclient.volumes.\ get_encryption_metadata({'encryption_key_id': 'fake_key'}) self.mox.ReplayAll() diff --git a/test-requirements.txt b/test-requirements.txt index 890f8c8b521a..d577f34cb069 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10,6 +10,7 @@ fixtures>=0.3.14 libvirt-python>=1.2.5 # LGPLv2+ mock>=1.0 mox>=0.5.3 +mox3>=0.7.0 MySQL-python psycopg2 pylint>=1.3.0 # GNU GPL v2