Rehome OVO unit tests to tests.unit.test_object.py

Rehomed the unit tests to check the Oslo Versioned Objects in
``os_vif`` project. The same strategy is used, for example, in
Nova or Neutron projects.

Change-Id: I9c2fb8d700f56fd8ff9f10c74e0e6111e96fa773
This commit is contained in:
Rodolfo Alonso Hernandez 2017-08-02 09:21:10 +01:00
parent e797ffd187
commit 4ac9048290
2 changed files with 76 additions and 60 deletions

View File

@ -0,0 +1,76 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# 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.
from oslo_versionedobjects import base as ovo_base
from oslo_versionedobjects import fixture
import os_vif
from os_vif import objects
from os_vif.tests.unit import base
object_data = {
'HostInfo': '1.0-4dba5ce236ea2dc559de8764995dd247',
'HostPluginInfo': '1.0-5204e579864981c9891ecb5d1c9329f2',
'HostPortProfileInfo': '1.0-e0bc9228c1456b220830d67b05bc4bf2',
'HostVIFInfo': '1.1-00fdbeba3f9bb3bd2a723c17023ba182',
'FixedIP': '1.0-d1a0ec7e7b6ce021a784c54d44cce009',
'FixedIPList': '1.0-15ecf022a68ddbb8c2a6739cfc9f8f5e',
'InstanceInfo': '1.0-84104d3435046b1a282ac8265ec2a976',
'Network': '1.1-27a8a3e236d1d239121668a590130154',
'Route': '1.0-5ca049cb82c4d4ec5edb1b839c1429c7',
'RouteList': '1.0-15ecf022a68ddbb8c2a6739cfc9f8f5e',
'Subnet': '1.0-6a8c192ef7492120d1a5e0fd08e44272',
'SubnetList': '1.0-15ecf022a68ddbb8c2a6739cfc9f8f5e',
'VIFBase': '1.0-4a5a8881dc999752cb050dd443458b6a',
'VIFBridge': '1.0-e78d355f3505361fafbf0797ffad484a',
'VIFDirect': '1.0-05c939280f4025fd1f7efb921a835c57',
'VIFGeneric': '1.0-c72e637ed620f0135ea50a9409a3f389',
'VIFHostDevice': '1.0-bb090f1869c3b4df36efda216ab97a61',
'VIFOpenVSwitch': '1.0-e78d355f3505361fafbf0797ffad484a',
'VIFPortProfile8021Qbg': '1.0-167f305f6e982b9368cc38763815d429',
'VIFPortProfile8021Qbh': '1.0-4b945f07d2666ab00a48d1dc225669b1',
'VIFPortProfileBase': '1.0-77509ea1ea0dd750d5864b9bd87d3f9d',
'VIFPortProfileOpenVSwitch': '1.1-70d36e09c8d800345ce71177265212df',
'VIFPortProfileFPOpenVSwitch': '1.1-74e77f46aa5806930df6f37a0b76ff8b',
'VIFPortProfileFPBridge': '1.0-d50872b3cddd245ffebef6053dfbe27a',
'VIFPortProfileFPTap': '1.0-11670d8dbabd772ff0da26961adadc5a',
'VIFVHostUser': '1.1-1f95b43be1f884f090ca1f4d79adfd35',
'VIFPortProfileOVSRepresentor': '1.1-30e555981003a109b133da5b43ded5df',
}
class TestObjectVersions(base.TestCase):
def setUp(self):
super(TestObjectVersions, self).setUp()
os_vif.objects.register_all()
def test_versions(self):
checker = fixture.ObjectVersionChecker(
ovo_base.VersionedObjectRegistry.obj_classes())
expected, actual = checker.test_hashes(object_data)
self.assertEqual(expected, actual,
'Some objects have changed; please make sure the '
'versions have been bumped, and then update their '
'hashes here.')
def test_vif_vhost_user_obj_make_compatible(self):
vif = objects.vif.VIFVHostUser(
path="/some/socket.path",
mode=objects.fields.VIFVHostUserMode.CLIENT,
vif_name="vhu123")
primitive = vif.obj_to_primitive()['versioned_object.data']
self.assertIn('vif_name', primitive)
vif.obj_make_compatible(primitive, '1.0')
self.assertNotIn('vif_name', primitive)

View File

@ -10,9 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_versionedobjects import base as ovo_base
from oslo_versionedobjects import fixture
import os_vif
from os_vif import objects
from os_vif.tests.unit import base
@ -196,60 +193,3 @@ class TestVIFS(base.TestCase):
self._test_vif(objects.vif.VIFHostDevice,
dev_address="0002:24:12.3",
port_profile=prof)
object_data = {
'HostInfo': '1.0-4dba5ce236ea2dc559de8764995dd247',
'HostPluginInfo': '1.0-5204e579864981c9891ecb5d1c9329f2',
'HostPortProfileInfo': '1.0-e0bc9228c1456b220830d67b05bc4bf2',
'HostVIFInfo': '1.1-00fdbeba3f9bb3bd2a723c17023ba182',
'FixedIP': '1.0-d1a0ec7e7b6ce021a784c54d44cce009',
'FixedIPList': '1.0-15ecf022a68ddbb8c2a6739cfc9f8f5e',
'InstanceInfo': '1.0-84104d3435046b1a282ac8265ec2a976',
'Network': '1.1-27a8a3e236d1d239121668a590130154',
'Route': '1.0-5ca049cb82c4d4ec5edb1b839c1429c7',
'RouteList': '1.0-15ecf022a68ddbb8c2a6739cfc9f8f5e',
'Subnet': '1.0-6a8c192ef7492120d1a5e0fd08e44272',
'SubnetList': '1.0-15ecf022a68ddbb8c2a6739cfc9f8f5e',
'VIFBase': '1.0-4a5a8881dc999752cb050dd443458b6a',
'VIFBridge': '1.0-e78d355f3505361fafbf0797ffad484a',
'VIFDirect': '1.0-05c939280f4025fd1f7efb921a835c57',
'VIFGeneric': '1.0-c72e637ed620f0135ea50a9409a3f389',
'VIFHostDevice': '1.0-bb090f1869c3b4df36efda216ab97a61',
'VIFOpenVSwitch': '1.0-e78d355f3505361fafbf0797ffad484a',
'VIFPortProfile8021Qbg': '1.0-167f305f6e982b9368cc38763815d429',
'VIFPortProfile8021Qbh': '1.0-4b945f07d2666ab00a48d1dc225669b1',
'VIFPortProfileBase': '1.0-77509ea1ea0dd750d5864b9bd87d3f9d',
'VIFPortProfileOpenVSwitch': '1.1-70d36e09c8d800345ce71177265212df',
'VIFPortProfileFPOpenVSwitch': '1.1-74e77f46aa5806930df6f37a0b76ff8b',
'VIFPortProfileFPBridge': '1.0-d50872b3cddd245ffebef6053dfbe27a',
'VIFPortProfileFPTap': '1.0-11670d8dbabd772ff0da26961adadc5a',
'VIFVHostUser': '1.1-1f95b43be1f884f090ca1f4d79adfd35',
'VIFPortProfileOVSRepresentor': '1.1-30e555981003a109b133da5b43ded5df',
}
class TestObjectVersions(base.TestCase):
def setUp(self):
super(TestObjectVersions, self).setUp()
os_vif.objects.register_all()
def test_versions(self):
checker = fixture.ObjectVersionChecker(
ovo_base.VersionedObjectRegistry.obj_classes())
expected, actual = checker.test_hashes(object_data)
self.assertEqual(expected, actual,
'Some objects have changed; please make sure the '
'versions have been bumped, and then update their '
'hashes here.')
def test_vif_vhost_user_obj_make_compatible(self):
vif = objects.vif.VIFVHostUser(
path="/some/socket.path",
mode=objects.fields.VIFVHostUserMode.CLIENT,
vif_name="vhu123")
primitive = vif.obj_to_primitive()['versioned_object.data']
self.assertIn('vif_name', primitive)
vif.obj_make_compatible(primitive, '1.0')
self.assertNotIn('vif_name', primitive)