summaryrefslogtreecommitdiff
path: root/nova/tests/unit/compute/test_provider_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/unit/compute/test_provider_config.py')
-rw-r--r--nova/tests/unit/compute/test_provider_config.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/nova/tests/unit/compute/test_provider_config.py b/nova/tests/unit/compute/test_provider_config.py
index b9070bd218..384d465054 100644
--- a/nova/tests/unit/compute/test_provider_config.py
+++ b/nova/tests/unit/compute/test_provider_config.py
@@ -13,13 +13,14 @@
import copy
import ddt
import fixtures
+import importlib.metadata
import microversion_parse
import os
-
from unittest import mock
from oslo_utils.fixture import uuidsentinel
from oslotest import base
+from packaging import version
from nova.compute import provider_config
from nova import exception as nova_exc
@@ -118,6 +119,17 @@ class SchemaValidationTestCasesV1(SchemaValidationMixin):
@ddt.unpack
@ddt.file_data('provider_config_data/v1/validation_error_test_data.yaml')
def test_validation_errors(self, config, expected_messages):
+ # TODO(stephenfin): Drop this once we no longer support jsonschema 3.x
+ jsonschema_version = importlib.metadata.version('jsonschema')
+ if version.parse(jsonschema_version) < version.parse('4.0.0'):
+ if expected_messages == [
+ "should not be valid under {}",
+ "validating 'not' in schema['properties']['__source_file']",
+ ]:
+ expected_messages = [
+ "{} is not allowed for",
+ "validating 'not' in schema['properties']['__source_file']", # noqa: E501
+ ]
self.run_test_validation_errors(config, expected_messages)
@ddt.unpack