testtools was recently bumped to a version that is typed, which means we now see type hints for that library. As a result, we now see issues with variables defined in tests via setUpClass. Note that the issue lies with mypy and not testtools, however: mypy doesn't adding class variables via assignment [1]. [1] https://github.com/python/mypy/issues/8723 Change-Id: I8b09846ff8fc6ee51ba03531f5b41039282ee1c0 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
# 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 typing import ClassVar
|
|
|
|
import fixtures
|
|
|
|
from openstackclient.tests.functional.volume import base
|
|
|
|
|
|
class BaseVolumeTests(base.BaseVolumeTests):
|
|
"""Base class for Volume functional tests."""
|
|
|
|
haz_volume_v3: ClassVar[bool]
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
cls.haz_volume_v3 = cls.is_service_enabled('block-storage', '3.0')
|
|
|
|
def setUp(self):
|
|
super().setUp()
|
|
|
|
if not self.haz_volume_v3:
|
|
self.skipTest("No Volume v3 service present")
|
|
|
|
ver_fixture = fixtures.EnvironmentVariable(
|
|
'OS_VOLUME_API_VERSION', '3'
|
|
)
|
|
self.useFixture(ver_fixture)
|