Refactor rbac_base class
Moved rbac_base classes from api/rbac_base into seperate files
for each api. ex. api/image/rbac_base
Change-Id: I7548b0bd3d258d819a87b2f46969241e2c7fd51b
diff --git a/patrole_tempest_plugin/tests/api/image/rbac_base.py b/patrole_tempest_plugin/tests/api/image/rbac_base.py
new file mode 100644
index 0000000..786927f
--- /dev/null
+++ b/patrole_tempest_plugin/tests/api/image/rbac_base.py
@@ -0,0 +1,39 @@
+# Copyright 2017 at&t
+# 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.
+
+# Maybe these should be in lib or recreated?
+from tempest.api.image import base as image_base
+from tempest import config
+
+CONF = config.CONF
+
+
+class BaseV2ImageRbacTest(image_base.BaseV2ImageTest):
+
+ credentials = ['primary', 'admin']
+
+ @classmethod
+ def skip_checks(cls):
+ super(BaseV2ImageRbacTest, cls).skip_checks()
+ if not CONF.rbac.rbac_flag:
+ raise cls.skipException(
+ "%s skipped as RBAC Flag not enabled" % cls.__name__)
+ if 'admin' not in CONF.auth.tempest_roles:
+ raise cls.skipException(
+ "%s skipped because tempest roles is not admin" % cls.__name__)
+
+ @classmethod
+ def setup_clients(cls):
+ super(BaseV2ImageRbacTest, cls).setup_clients()
+ cls.auth_provider = cls.os.auth_provider
+ cls.admin_client = cls.os_adm.image_client_v2
diff --git a/patrole_tempest_plugin/tests/api/image/test_images_member_rbac.py b/patrole_tempest_plugin/tests/api/image/v2/test_images_member_rbac.py
similarity index 98%
rename from patrole_tempest_plugin/tests/api/image/test_images_member_rbac.py
rename to patrole_tempest_plugin/tests/api/image/v2/test_images_member_rbac.py
index 8131356..c2d2969 100644
--- a/patrole_tempest_plugin/tests/api/image/test_images_member_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/v2/test_images_member_rbac.py
@@ -21,7 +21,7 @@
from patrole_tempest_plugin import rbac_exceptions
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base as base
+from patrole_tempest_plugin.tests.api.image import rbac_base as base
CONF = config.CONF
LOG = logging.getLogger(__name__)
diff --git a/patrole_tempest_plugin/tests/api/image/test_images_rbac.py b/patrole_tempest_plugin/tests/api/image/v2/test_images_rbac.py
similarity index 99%
rename from patrole_tempest_plugin/tests/api/image/test_images_rbac.py
rename to patrole_tempest_plugin/tests/api/image/v2/test_images_rbac.py
index 7df5461..c9f17bf 100644
--- a/patrole_tempest_plugin/tests/api/image/test_images_rbac.py
+++ b/patrole_tempest_plugin/tests/api/image/v2/test_images_rbac.py
@@ -22,7 +22,7 @@
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base
+from patrole_tempest_plugin.tests.api.image import rbac_base
CONF = config.CONF
LOG = logging.getLogger(__name__)
diff --git a/patrole_tempest_plugin/tests/api/network/rbac_base.py b/patrole_tempest_plugin/tests/api/network/rbac_base.py
new file mode 100644
index 0000000..3bbe8b6
--- /dev/null
+++ b/patrole_tempest_plugin/tests/api/network/rbac_base.py
@@ -0,0 +1,38 @@
+# Copyright 2017 at&t
+# 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 tempest.api.network import base as network_base
+from tempest import config
+
+CONF = config.CONF
+
+
+class BaseNetworkRbacTest(network_base.BaseNetworkTest):
+
+ credentials = ['primary', 'admin']
+
+ @classmethod
+ def skip_checks(cls):
+ super(BaseNetworkRbacTest, cls).skip_checks()
+ if not CONF.rbac.rbac_flag:
+ raise cls.skipException(
+ "%s skipped as RBAC Flag not enabled" % cls.__name__)
+ if 'admin' not in CONF.auth.tempest_roles:
+ raise cls.skipException(
+ "%s skipped because tempest roles is not admin" % cls.__name__)
+
+ @classmethod
+ def setup_clients(cls):
+ super(BaseNetworkRbacTest, cls).setup_clients()
+ cls.auth_provider = cls.os.auth_provider
+ cls.admin_client = cls.os_adm.agents_client
diff --git a/patrole_tempest_plugin/tests/api/network/test_networks_rbac.py b/patrole_tempest_plugin/tests/api/network/test_networks_rbac.py
index c53eba8..e32e83b 100644
--- a/patrole_tempest_plugin/tests/api/network/test_networks_rbac.py
+++ b/patrole_tempest_plugin/tests/api/network/test_networks_rbac.py
@@ -23,7 +23,7 @@
from patrole_tempest_plugin import rbac_exceptions
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base as base
+from patrole_tempest_plugin.tests.api.network import rbac_base as base
CONF = config.CONF
diff --git a/patrole_tempest_plugin/tests/api/rbac_base.py b/patrole_tempest_plugin/tests/api/rbac_base.py
deleted file mode 100644
index 3243456..0000000
--- a/patrole_tempest_plugin/tests/api/rbac_base.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 2017 at&t
-# 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.
-
-# Maybe these should be in lib or recreated?
-from tempest.api.image import base as image_base
-from tempest.api.network import base as network_base
-from tempest.api.volume import base as vol_base
-from tempest import config
-
-CONF = config.CONF
-
-
-class BaseV2ImageRbacTest(image_base.BaseV2ImageTest):
-
- credentials = ['primary', 'admin']
-
- @classmethod
- def skip_checks(cls):
- super(BaseV2ImageRbacTest, cls).skip_checks()
- if not CONF.rbac.rbac_flag:
- raise cls.skipException(
- "%s skipped as RBAC Flag not enabled" % cls.__name__)
- if 'admin' not in CONF.auth.tempest_roles:
- raise cls.skipException(
- "%s skipped because tempest roles is not admin" % cls.__name__)
-
- @classmethod
- def setup_clients(cls):
- super(BaseV2ImageRbacTest, cls).setup_clients()
- cls.auth_provider = cls.os.auth_provider
- cls.admin_client = cls.os_adm.image_client_v2
-
-
-class BaseVolumeRbacTest(vol_base.BaseVolumeTest):
-
- credentials = ['primary', 'admin']
-
- @classmethod
- def skip_checks(cls):
- super(BaseVolumeRbacTest, cls).skip_checks()
- if not CONF.rbac.rbac_flag:
- raise cls.skipException(
- "%s skipped as RBAC Flag not enabled" % cls.__name__)
- if 'admin' not in CONF.auth.tempest_roles:
- raise cls.skipException(
- "%s skipped because tempest roles is not admin" % cls.__name__)
-
- @classmethod
- def setup_clients(cls):
- super(BaseVolumeRbacTest, cls).setup_clients()
- cls.auth_provider = cls.os.auth_provider
- cls.admin_client = cls.os_adm.volumes_client
-
-
-class BaseVolumeAdminRbacTest(vol_base.BaseVolumeAdminTest):
-
- credentials = ['primary', 'admin']
-
- @classmethod
- def skip_checks(cls):
- super(BaseVolumeAdminRbacTest, cls).skip_checks()
- if not CONF.rbac.rbac_flag:
- raise cls.skipException(
- "%s skipped as RBAC Flag not enabled" % cls.__name__)
- if 'admin' not in CONF.auth.tempest_roles:
- raise cls.skipException(
- "%s skipped because tempest roles is not admin" % cls.__name__)
-
- @classmethod
- def setup_clients(cls):
- super(BaseVolumeAdminRbacTest, cls).setup_clients()
- cls.auth_provider = cls.os.auth_provider
- cls.admin_client = cls.os_adm.volumes_client
-
-
-class BaseNetworkRbacTest(network_base.BaseNetworkTest):
-
- credentials = ['primary', 'admin']
-
- @classmethod
- def skip_checks(cls):
- super(BaseNetworkRbacTest, cls).skip_checks()
- if not CONF.rbac.rbac_flag:
- raise cls.skipException(
- "%s skipped as RBAC Flag not enabled" % cls.__name__)
- if 'admin' not in CONF.auth.tempest_roles:
- raise cls.skipException(
- "%s skipped because tempest roles is not admin" % cls.__name__)
-
- @classmethod
- def setup_clients(cls):
- super(BaseNetworkRbacTest, cls).setup_clients()
- cls.auth_provider = cls.os.auth_provider
- cls.admin_client = cls.os_adm.agents_client
diff --git a/patrole_tempest_plugin/tests/api/volume/admin/test_volume_quotas_rbac.py b/patrole_tempest_plugin/tests/api/volume/admin/test_volume_quotas_rbac.py
index 1595eac..3aa79b7 100644
--- a/patrole_tempest_plugin/tests/api/volume/admin/test_volume_quotas_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/admin/test_volume_quotas_rbac.py
@@ -20,7 +20,7 @@
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base
+from patrole_tempest_plugin.tests.api.volume import rbac_base
QUOTA_KEYS = ['gigabytes', 'snapshots', 'volumes']
QUOTA_USAGE_KEYS = ['reserved', 'limit', 'in_use']
diff --git a/patrole_tempest_plugin/tests/api/volume/rbac_base.py b/patrole_tempest_plugin/tests/api/volume/rbac_base.py
new file mode 100644
index 0000000..e92b980
--- /dev/null
+++ b/patrole_tempest_plugin/tests/api/volume/rbac_base.py
@@ -0,0 +1,59 @@
+# Copyright 2017 at&t
+# 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 tempest.api.volume import base as vol_base
+from tempest import config
+
+CONF = config.CONF
+
+
+class BaseVolumeRbacTest(vol_base.BaseVolumeTest):
+
+ credentials = ['primary', 'admin']
+
+ @classmethod
+ def skip_checks(cls):
+ super(BaseVolumeRbacTest, cls).skip_checks()
+ if not CONF.rbac.rbac_flag:
+ raise cls.skipException(
+ "%s skipped as RBAC Flag not enabled" % cls.__name__)
+ if 'admin' not in CONF.auth.tempest_roles:
+ raise cls.skipException(
+ "%s skipped because tempest roles is not admin" % cls.__name__)
+
+ @classmethod
+ def setup_clients(cls):
+ super(BaseVolumeRbacTest, cls).setup_clients()
+ cls.auth_provider = cls.os.auth_provider
+ cls.admin_client = cls.os_adm.volumes_client
+
+
+class BaseVolumeAdminRbacTest(vol_base.BaseVolumeAdminTest):
+
+ credentials = ['primary', 'admin']
+
+ @classmethod
+ def skip_checks(cls):
+ super(BaseVolumeAdminRbacTest, cls).skip_checks()
+ if not CONF.rbac.rbac_flag:
+ raise cls.skipException(
+ "%s skipped as RBAC Flag not enabled" % cls.__name__)
+ if 'admin' not in CONF.auth.tempest_roles:
+ raise cls.skipException(
+ "%s skipped because tempest roles is not admin" % cls.__name__)
+
+ @classmethod
+ def setup_clients(cls):
+ super(BaseVolumeAdminRbacTest, cls).setup_clients()
+ cls.auth_provider = cls.os.auth_provider
+ cls.admin_client = cls.os_adm.volumes_client
diff --git a/patrole_tempest_plugin/tests/api/volume/test_snapshots_actions_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_snapshots_actions_rbac.py
index 9718bfc..4af7f00 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_snapshots_actions_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_snapshots_actions_rbac.py
@@ -20,7 +20,7 @@
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base
+from patrole_tempest_plugin.tests.api.volume import rbac_base
CONF = config.CONF
LOG = logging.getLogger(__name__)
diff --git a/patrole_tempest_plugin/tests/api/volume/test_volume_create_delete_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_volume_create_delete_rbac.py
index e535f96..bfb2b1a 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_volume_create_delete_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_volume_create_delete_rbac.py
@@ -22,7 +22,7 @@
from patrole_tempest_plugin import rbac_exceptions
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base
+from patrole_tempest_plugin.tests.api.volume import rbac_base
CONF = config.CONF
LOG = logging.getLogger(__name__)
diff --git a/patrole_tempest_plugin/tests/api/volume/test_volume_metadata_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_volume_metadata_rbac.py
index 9c5d2d9..a9cf5e5 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_volume_metadata_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_volume_metadata_rbac.py
@@ -20,7 +20,7 @@
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base
+from patrole_tempest_plugin.tests.api.volume import rbac_base
CONF = config.CONF
LOG = logging.getLogger(__name__)
diff --git a/patrole_tempest_plugin/tests/api/volume/test_volumes_rbac.py b/patrole_tempest_plugin/tests/api/volume/test_volumes_rbac.py
index 632abdd..a4f88ea 100644
--- a/patrole_tempest_plugin/tests/api/volume/test_volumes_rbac.py
+++ b/patrole_tempest_plugin/tests/api/volume/test_volumes_rbac.py
@@ -20,7 +20,7 @@
from patrole_tempest_plugin import rbac_rule_validation
from patrole_tempest_plugin.rbac_utils import rbac_utils
-from patrole_tempest_plugin.tests.api import rbac_base
+from patrole_tempest_plugin.tests.api.volume import rbac_base
CONF = config.CONF
LOG = logging.getLogger(__name__)