Merge "add BaseV2ComputeTest as the base class of nova v2 api tests"
This commit is contained in:
commit
18dae645a6
@ -22,7 +22,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class AggregatesAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Aggregates API that require admin privileges
|
||||
|
@ -20,7 +20,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class AvailabilityZoneAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class AvailabilityZoneAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Availability Zone API List that require admin privileges
|
||||
|
@ -20,7 +20,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class FixedIPsTestJson(base.BaseComputeAdminTest):
|
||||
class FixedIPsTestJson(base.BaseV2ComputeAdminTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -24,7 +24,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class FlavorsAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Flavors API Create and Delete that require admin privileges
|
||||
|
@ -25,7 +25,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class FlavorsAccessTestJSON(base.BaseComputeAdminTest):
|
||||
class FlavorsAccessTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Flavor Access API extension.
|
||||
|
@ -23,7 +23,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class FlavorsExtraSpecsTestJSON(base.BaseComputeAdminTest):
|
||||
class FlavorsExtraSpecsTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Flavor Extra Spec API extension.
|
||||
|
@ -21,7 +21,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class HostsAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class HostsAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests hosts API using admin privileges.
|
||||
|
@ -19,7 +19,7 @@ from tempest.api.compute import base
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class HypervisorAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class HypervisorAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Hypervisors API that require admin privileges
|
||||
|
@ -23,7 +23,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class QuotasAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class QuotasAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -22,7 +22,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class ServersAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Servers API using admin privileges
|
||||
|
@ -21,7 +21,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServicesAdminTestJSON(base.BaseComputeAdminTest):
|
||||
class ServicesAdminTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
"""
|
||||
Tests Services API. List and Enable/Disable require admin privileges.
|
||||
|
@ -23,7 +23,7 @@ from tempest.test import attr
|
||||
import time
|
||||
|
||||
|
||||
class TenantUsagesTestJSON(base.BaseComputeAdminTest):
|
||||
class TenantUsagesTestJSON(base.BaseV2ComputeAdminTest):
|
||||
|
||||
_interface = 'json'
|
||||
|
||||
|
@ -54,37 +54,19 @@ class BaseComputeTest(tempest.test.BaseTestCase):
|
||||
os = clients.Manager(interface=cls._interface)
|
||||
|
||||
cls.os = os
|
||||
cls.servers_client = os.servers_client
|
||||
cls.flavors_client = os.flavors_client
|
||||
cls.images_client = os.images_client
|
||||
cls.extensions_client = os.extensions_client
|
||||
cls.floating_ips_client = os.floating_ips_client
|
||||
cls.keypairs_client = os.keypairs_client
|
||||
cls.security_groups_client = os.security_groups_client
|
||||
cls.quotas_client = os.quotas_client
|
||||
cls.limits_client = os.limits_client
|
||||
cls.volumes_extensions_client = os.volumes_extensions_client
|
||||
cls.volumes_client = os.volumes_client
|
||||
cls.interfaces_client = os.interfaces_client
|
||||
cls.fixed_ips_client = os.fixed_ips_client
|
||||
cls.availability_zone_client = os.availability_zone_client
|
||||
cls.aggregates_client = os.aggregates_client
|
||||
cls.services_client = os.services_client
|
||||
cls.hypervisor_client = os.hypervisor_client
|
||||
|
||||
cls.build_interval = cls.config.compute.build_interval
|
||||
cls.build_timeout = cls.config.compute.build_timeout
|
||||
cls.ssh_user = cls.config.compute.ssh_user
|
||||
cls.image_ssh_user = cls.config.compute.image_ssh_user
|
||||
cls.image_ssh_password = cls.config.compute.image_ssh_password
|
||||
cls.image_ref = cls.config.compute.image_ref
|
||||
cls.image_ref_alt = cls.config.compute.image_ref_alt
|
||||
cls.flavor_ref = cls.config.compute.flavor_ref
|
||||
cls.flavor_ref_alt = cls.config.compute.flavor_ref_alt
|
||||
cls.image_ssh_user = cls.config.compute.image_ssh_user
|
||||
cls.image_ssh_password = cls.config.compute.image_ssh_password
|
||||
cls.servers = []
|
||||
cls.images = []
|
||||
|
||||
cls.servers_client_v3_auth = os.servers_client_v3_auth
|
||||
|
||||
@classmethod
|
||||
def clear_servers(cls):
|
||||
for server in cls.servers:
|
||||
@ -162,7 +144,7 @@ class BaseComputeTest(tempest.test.BaseTestCase):
|
||||
|
||||
@classmethod
|
||||
def create_image_from_server(cls, server_id, **kwargs):
|
||||
"""Wrapper utility that returns a test server."""
|
||||
"""Wrapper utility that returns an image created from the server."""
|
||||
name = rand_name(cls.__name__ + "-image")
|
||||
if 'name' in kwargs:
|
||||
name = kwargs.pop('name')
|
||||
@ -195,12 +177,37 @@ class BaseComputeTest(tempest.test.BaseTestCase):
|
||||
time.sleep(self.build_interval)
|
||||
|
||||
|
||||
class BaseComputeAdminTest(BaseComputeTest):
|
||||
"""Base test case class for all Compute Admin API tests."""
|
||||
class BaseV2ComputeTest(BaseComputeTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(BaseComputeAdminTest, cls).setUpClass()
|
||||
super(BaseV2ComputeTest, cls).setUpClass()
|
||||
cls.servers_client = cls.os.servers_client
|
||||
cls.flavors_client = cls.os.flavors_client
|
||||
cls.images_client = cls.os.images_client
|
||||
cls.extensions_client = cls.os.extensions_client
|
||||
cls.floating_ips_client = cls.os.floating_ips_client
|
||||
cls.keypairs_client = cls.os.keypairs_client
|
||||
cls.security_groups_client = cls.os.security_groups_client
|
||||
cls.quotas_client = cls.os.quotas_client
|
||||
cls.limits_client = cls.os.limits_client
|
||||
cls.volumes_extensions_client = cls.os.volumes_extensions_client
|
||||
cls.volumes_client = cls.os.volumes_client
|
||||
cls.interfaces_client = cls.os.interfaces_client
|
||||
cls.fixed_ips_client = cls.os.fixed_ips_client
|
||||
cls.availability_zone_client = cls.os.availability_zone_client
|
||||
cls.aggregates_client = cls.os.aggregates_client
|
||||
cls.services_client = cls.os.services_client
|
||||
cls.hypervisor_client = cls.os.hypervisor_client
|
||||
cls.servers_client_v3_auth = cls.os.servers_client_v3_auth
|
||||
|
||||
|
||||
class BaseV2ComputeAdminTest(BaseV2ComputeTest):
|
||||
"""Base test case class for Compute Admin V2 API tests."""
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(BaseV2ComputeAdminTest, cls).setUpClass()
|
||||
admin_username = cls.config.compute_admin.username
|
||||
admin_password = cls.config.compute_admin.password
|
||||
admin_tenant = cls.config.compute_admin.tenant_name
|
||||
|
@ -20,7 +20,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class FlavorsTestJSON(base.BaseComputeTest):
|
||||
class FlavorsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -23,7 +23,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class FloatingIPsTestJSON(base.BaseComputeTest):
|
||||
class FloatingIPsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
server_id = None
|
||||
floating_ip = None
|
||||
|
@ -23,7 +23,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class FloatingIPDetailsTestJSON(base.BaseComputeTest):
|
||||
class FloatingIPDetailsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -21,7 +21,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ImagesMetadataTestJSON(base.BaseComputeTest):
|
||||
class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -23,7 +23,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ImagesTestJSON(base.BaseComputeTest):
|
||||
class ImagesTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -30,7 +30,7 @@ from tempest.test import skip_because
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ImagesOneServerTestJSON(base.BaseComputeTest):
|
||||
class ImagesOneServerTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
def tearDown(self):
|
||||
|
@ -25,7 +25,7 @@ from tempest.test import attr
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ListImageFiltersTestJSON(base.BaseComputeTest):
|
||||
class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -19,7 +19,7 @@ from tempest.api.compute import base
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ListImagesTestJSON(base.BaseComputeTest):
|
||||
class ListImagesTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -21,7 +21,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class KeyPairsTestJSON(base.BaseComputeTest):
|
||||
class KeyPairsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -20,7 +20,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class AbsoluteLimitsTestJSON(base.BaseComputeTest):
|
||||
class AbsoluteLimitsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -23,7 +23,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class SecurityGroupRulesTestJSON(base.BaseComputeTest):
|
||||
class SecurityGroupRulesTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -25,7 +25,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class SecurityGroupsTestJSON(base.BaseComputeTest):
|
||||
class SecurityGroupsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -19,7 +19,7 @@ from tempest.test import attr
|
||||
import time
|
||||
|
||||
|
||||
class AttachInterfacesTestJSON(base.BaseComputeTest):
|
||||
class AttachInterfacesTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -28,7 +28,7 @@ import tempest.config
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServersTestJSON(base.BaseComputeTest):
|
||||
class ServersTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
run_ssh = tempest.config.TempestConfig().compute.run_ssh
|
||||
disk_config = 'AUTO'
|
||||
|
@ -22,7 +22,7 @@ from tempest.api.compute import base
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServerDiskConfigTestJSON(base.BaseComputeTest):
|
||||
class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -20,7 +20,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class InstanceActionsTestJSON(base.BaseComputeTest):
|
||||
class InstanceActionsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -24,7 +24,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class ListServerFiltersTestJSON(base.BaseComputeTest):
|
||||
class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -24,7 +24,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ListServersNegativeTestJSON(base.BaseComputeTest):
|
||||
class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -21,7 +21,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class MultipleCreateTestJSON(base.BaseComputeTest):
|
||||
class MultipleCreateTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
_name = 'multiple-create-test'
|
||||
|
||||
|
@ -30,7 +30,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class ServerActionsTestJSON(base.BaseComputeTest):
|
||||
class ServerActionsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
resize_available = tempest.config.TempestConfig().compute.resize_available
|
||||
run_ssh = tempest.config.TempestConfig().compute.run_ssh
|
||||
|
@ -20,7 +20,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServerAddressesTest(base.BaseComputeTest):
|
||||
class ServerAddressesTest(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -20,7 +20,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServerMetadataTestJSON(base.BaseComputeTest):
|
||||
class ServerMetadataTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -22,7 +22,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServerPersonalityTestJSON(base.BaseComputeTest):
|
||||
class ServerPersonalityTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -22,7 +22,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServerRescueTestJSON(base.BaseComputeTest):
|
||||
class ServerRescueTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
run_ssh = tempest.config.TempestConfig().compute.run_ssh
|
||||
|
@ -20,7 +20,7 @@ from tempest.common.utils.data_utils import rand_name
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServersTestJSON(base.BaseComputeTest):
|
||||
class ServersTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -26,7 +26,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ServersNegativeTestJSON(base.BaseComputeTest):
|
||||
class ServersNegativeTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
def setUp(self):
|
||||
|
@ -25,7 +25,7 @@ from tempest.test import attr
|
||||
from tempest.test import skip_because
|
||||
|
||||
|
||||
class VirtualInterfacesTestJSON(base.BaseComputeTest):
|
||||
class VirtualInterfacesTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
CONF = config.TempestConfig()
|
||||
|
@ -19,7 +19,7 @@ from tempest.api.compute import base
|
||||
import tempest.config as config
|
||||
|
||||
|
||||
class AuthTokenTestJSON(base.BaseComputeTest):
|
||||
class AuthTokenTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -27,7 +27,7 @@ from tempest.test import attr
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class AuthorizationTestJSON(base.BaseComputeTest):
|
||||
class AuthorizationTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -20,7 +20,7 @@ from tempest.api.compute import base
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class ExtensionsTestJSON(base.BaseComputeTest):
|
||||
class ExtensionsTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@attr(type='gate')
|
||||
|
@ -26,7 +26,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class LiveBlockMigrationTestJSON(base.BaseComputeAdminTest):
|
||||
class LiveBlockMigrationTestJSON(base.BaseV2ComputeAdminTest):
|
||||
_host_key = 'OS-EXT-SRV-ATTR:host'
|
||||
_interface = 'json'
|
||||
|
||||
|
@ -19,7 +19,7 @@ from tempest.api.compute import base
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class QuotasTestJSON(base.BaseComputeTest):
|
||||
class QuotasTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
@ -23,7 +23,7 @@ import tempest.config
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class AttachVolumeTestJSON(base.BaseComputeTest):
|
||||
class AttachVolumeTestJSON(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
run_ssh = tempest.config.TempestConfig().compute.run_ssh
|
||||
|
||||
|
@ -20,7 +20,7 @@ from tempest.common.utils.data_utils import rand_name
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class VolumesGetTestJSON(base.BaseComputeTest):
|
||||
class VolumesGetTestJSON(base.BaseV2ComputeTest):
|
||||
|
||||
_interface = 'json'
|
||||
|
||||
|
@ -20,7 +20,7 @@ from tempest.common.utils.data_utils import rand_name
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class VolumesTestJSON(base.BaseComputeTest):
|
||||
class VolumesTestJSON(base.BaseV2ComputeTest):
|
||||
|
||||
"""
|
||||
This test creates a number of 1G volumes. To run successfully,
|
||||
|
@ -23,7 +23,7 @@ from tempest import exceptions
|
||||
from tempest.test import attr
|
||||
|
||||
|
||||
class VolumesNegativeTest(base.BaseComputeTest):
|
||||
class VolumesNegativeTest(base.BaseV2ComputeTest):
|
||||
_interface = 'json'
|
||||
|
||||
@classmethod
|
||||
|
Loading…
Reference in New Issue
Block a user