Simplify volume test classes inheritance
* Enough to specify the interface in the leaf test classes
* Non-admin user are allowed to attempt admin operations in negative tests
Change-Id: Ibbb0ac1de20601272028e364348b9ae89bd0f808
diff --git a/tempest/tests/volume/base.py b/tempest/tests/volume/base.py
index 6625180..480f125 100644
--- a/tempest/tests/volume/base.py
+++ b/tempest/tests/volume/base.py
@@ -193,15 +193,18 @@
time.sleep(self.build_interval)
-class BaseVolumeTestJSON(BaseVolumeTest):
+class BaseVolumeAdminTest(BaseVolumeTest):
+ """Base test case class for all Volume Admin API tests."""
@classmethod
def setUpClass(cls):
- cls._interface = "json"
- super(BaseVolumeTestJSON, cls).setUpClass()
+ super(BaseVolumeAdminTest, cls).setUpClass()
+ cls.adm_user = cls.config.identity.admin_username
+ cls.adm_pass = cls.config.identity.admin_password
+ cls.adm_tenant = cls.config.identity.admin_tenant_name
+ if not all((cls.adm_user, cls.adm_pass, cls.adm_tenant)):
+ msg = ("Missing Volume Admin API credentials "
+ "in configuration.")
+ raise cls.skipException(msg)
-
-class BaseVolumeTestXML(BaseVolumeTest):
- @classmethod
- def setUpClass(cls):
- cls._interface = "xml"
- super(BaseVolumeTestXML, cls).setUpClass()
+ cls.os_adm = clients.AdminManager(interface=cls._interface)
+ cls.client = cls.os_adm.volume_types_client