Merge "Use StableObjectJsonFixture from o.vo"

This commit is contained in:
Jenkins
2016-08-30 09:14:53 +00:00
committed by Gerrit Code Review
3 changed files with 2 additions and 43 deletions
+2 -1
View File
@@ -40,6 +40,7 @@ from oslo_log.fixture import logging_error as log_fixture
from oslo_log import log as logging
from oslo_serialization import jsonutils
from oslo_utils import timeutils
from oslo_versionedobjects import fixture as ovo_fixture
from oslotest import moxstubout
import six
import testtools
@@ -229,7 +230,7 @@ class TestCase(testtools.TestCase):
objects_base.NovaObjectRegistry._registry._obj_classes)
self.addCleanup(self._restore_obj_registry)
self.useFixture(nova_fixtures.StableObjectJsonFixture())
self.useFixture(ovo_fixture.StableObjectJsonFixture())
# NOTE(mnaser): All calls to utils.is_neutron() are cached in
# nova.utils._IS_NEUTRON. We set it to None to avoid any
-28
View File
@@ -605,34 +605,6 @@ class BannedDBSchemaOperations(fixtures.Fixture):
lambda *a, **k: self._explode(thing, 'alter')))
class StableObjectJsonFixture(fixtures.Fixture):
"""Fixture that makes sure we get stable JSON object representations.
Since objects contain things like set(), which can't be converted to
JSON, we have some situations where the representation isn't fully
deterministic. This doesn't matter at all at runtime, but does to
unit tests that try to assert things at a low level.
This fixture mocks the obj_to_primitive() call and makes sure to
sort the list of changed fields (which came from a set) before
returning it to the caller.
"""
def __init__(self):
self._original_otp = obj_base.NovaObject.obj_to_primitive
def setUp(self):
super(StableObjectJsonFixture, self).setUp()
def _doit(obj, *args, **kwargs):
result = self._original_otp(obj, *args, **kwargs)
if 'nova_object.changes' in result:
result['nova_object.changes'].sort()
return result
self.useFixture(fixtures.MonkeyPatch(
'nova.objects.base.NovaObject.obj_to_primitive', _doit))
class EngineFacadeFixture(fixtures.Fixture):
"""Fixture to isolation EngineFacade during tests.
-14
View File
@@ -423,20 +423,6 @@ class TestBannedDBSchemaOperations(testtools.TestCase):
table.alter)
class TestStableObjectJsonFixture(testtools.TestCase):
def test_changes_sort(self):
class TestObject(obj_base.NovaObject):
def obj_what_changed(self):
return ['z', 'a']
obj = TestObject()
self.assertEqual(['z', 'a'],
obj.obj_to_primitive()['nova_object.changes'])
with fixtures.StableObjectJsonFixture():
self.assertEqual(['a', 'z'],
obj.obj_to_primitive()['nova_object.changes'])
class TestAllServicesCurrentFixture(testtools.TestCase):
@mock.patch('nova.objects.Service._db_service_get_minimum_version')
def test_services_current(self, mock_db):