From 4f8af5f2f8073fc8e316cda794ffd657732afdd9 Mon Sep 17 00:00:00 2001 From: Chandan Kumar Date: Sun, 3 Dec 2017 16:24:40 +0530 Subject: [PATCH] Refactored magnum tempest plugin * It provides proper directory structure and cleanup of magnum tempest plugin tests. * Added tools/pretty_tox.sh to trigger functional api tests Change-Id: Ibdddd26da9cfb0d08c2977660320b2c052d7261b --- README.rst | 13 ++++-------- doc/source/installation.rst | 13 ++++++------ magnum/tests/functional/common/__init__.py | 0 .../functional/tempest_tests/__init__.py | 0 {magnum => magnum_tempest_plugin}/__init__.py | 0 .../common}/__init__.py | 0 .../common/base.py | 6 +++--- .../common/client.py | 2 +- .../common/config.py | 0 .../common/datagen.py | 20 +++++++++---------- .../common/manager.py | 16 +++++++-------- .../common/models.py | 0 .../common/utils.py | 0 .../config.py | 0 .../plugin.py | 7 +++---- .../tests}/__init__.py | 0 .../tests}/api/__init__.py | 0 .../tests}/api/base.py | 6 +++--- .../tests}/api/v1/__init__.py | 0 .../tests}/api/v1/clients/__init__.py | 0 .../tests}/api/v1/clients/bay_client.py | 6 +++--- .../tests}/api/v1/clients/baymodel_client.py | 4 ++-- .../tests}/api/v1/clients/cert_client.py | 4 ++-- .../tests}/api/v1/clients/cluster_client.py | 8 ++++---- .../api/v1/clients/cluster_template_client.py | 4 ++-- .../api/v1/clients/magnum_service_client.py | 4 ++-- .../tests}/api/v1/models/__init__.py | 0 .../tests}/api/v1/models/bay_model.py | 2 +- .../tests}/api/v1/models/baymodel_model.py | 2 +- .../api/v1/models/baymodelpatch_model.py | 2 +- .../tests}/api/v1/models/baypatch_model.py | 2 +- .../tests}/api/v1/models/cert_model.py | 2 +- .../tests}/api/v1/models/cluster_id_model.py | 2 +- .../tests}/api/v1/models/cluster_model.py | 2 +- .../api/v1/models/cluster_template_model.py | 2 +- .../v1/models/cluster_templatepatch_model.py | 2 +- .../api/v1/models/clusterpatch_model.py | 2 +- .../api/v1/models/magnum_service_model.py | 2 +- .../tests}/api/v1/test_bay.py | 6 +++--- .../tests}/api/v1/test_baymodel.py | 4 ++-- .../tests}/api/v1/test_baymodel_admin.py | 4 ++-- .../tests}/api/v1/test_cluster.py | 6 +++--- .../tests}/api/v1/test_cluster_template.py | 4 ++-- .../api/v1/test_cluster_template_admin.py | 4 ++-- .../tests}/api/v1/test_magnum_service.py | 2 +- .../tests/contrib/copy_instance_logs.sh | 0 setup.cfg | 20 +++++++++---------- test-requirements.txt | 5 ----- tools/pretty_tox.sh | 16 +++++++++++++++ tox.ini | 12 +++++++++-- 50 files changed, 116 insertions(+), 102 deletions(-) delete mode 100644 magnum/tests/functional/common/__init__.py delete mode 100644 magnum/tests/functional/tempest_tests/__init__.py rename {magnum => magnum_tempest_plugin}/__init__.py (100%) rename {magnum/tests => magnum_tempest_plugin/common}/__init__.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin}/common/base.py (94%) rename {magnum/tests/functional => magnum_tempest_plugin}/common/client.py (96%) rename {magnum/tests/functional => magnum_tempest_plugin}/common/config.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin}/common/datagen.py (96%) rename {magnum/tests/functional => magnum_tempest_plugin}/common/manager.py (82%) rename {magnum/tests/functional => magnum_tempest_plugin}/common/models.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin}/common/utils.py (100%) rename {magnum/tests/functional/tempest_tests => magnum_tempest_plugin}/config.py (100%) rename {magnum/tests/functional/tempest_tests => magnum_tempest_plugin}/plugin.py (87%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/__init__.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/__init__.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/base.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/__init__.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/clients/__init__.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/clients/bay_client.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/clients/baymodel_client.py (96%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/clients/cert_client.py (94%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/clients/cluster_client.py (96%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/clients/cluster_template_client.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/clients/magnum_service_client.py (92%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/__init__.py (100%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/bay_model.py (95%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/baymodel_model.py (95%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/baymodelpatch_model.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/baypatch_model.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/cert_model.py (94%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/cluster_id_model.py (94%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/cluster_model.py (95%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/cluster_template_model.py (95%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/cluster_templatepatch_model.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/clusterpatch_model.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/models/magnum_service_model.py (95%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/test_bay.py (98%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/test_baymodel.py (98%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/test_baymodel_admin.py (96%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/test_cluster.py (98%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/test_cluster_template.py (98%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/test_cluster_template_admin.py (97%) rename {magnum/tests/functional => magnum_tempest_plugin/tests}/api/v1/test_magnum_service.py (97%) rename {magnum => magnum_tempest_plugin}/tests/contrib/copy_instance_logs.sh (100%) create mode 100755 tools/pretty_tox.sh diff --git a/README.rst b/README.rst index 4f96ce5..910754b 100644 --- a/README.rst +++ b/README.rst @@ -2,17 +2,12 @@ openstack Magnum Tempest Plugin =============================== -Tempest plugin for magnum Project +Tempest plugin for Magnum Project It contains the tempest tests for testing Container Infrastructure Management Service for OpenStack. * Free software: Apache license -* Documentation: http://docs.openstack.org/developer/openstack -* Source: http://git.openstack.org/cgit/openstack/openstack -* Bugs: http://bugs.launchpad.net/magnum_tempest_plugin - -Features --------- - -* TODO +* Documentation: http://docs.openstack.org/magnum/latest +* Source: http://git.openstack.org/cgit/openstack/magnum-tempest-plugin +* Bugs: http://bugs.launchpad.net/magnum diff --git a/doc/source/installation.rst b/doc/source/installation.rst index ddf0fd4..52b20cd 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -2,11 +2,12 @@ Installation ============ +Tempest automatically discovers installed plugins. That's why you just need +to install the Python packages that contains the Magnum Tempest plugin in +the same environment where Tempest is installed. + At the command line:: - $ pip install openstack - -Or, if you have virtualenvwrapper installed:: - - $ mkvirtualenv openstack - $ pip install openstack + $ git clone https://git.openstack.org/cgit/openstack/magnum-tempest-plugin + $ cd magnum-tempest-plugin/ + $ pip install -e . diff --git a/magnum/tests/functional/common/__init__.py b/magnum/tests/functional/common/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/magnum/tests/functional/tempest_tests/__init__.py b/magnum/tests/functional/tempest_tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/magnum/__init__.py b/magnum_tempest_plugin/__init__.py similarity index 100% rename from magnum/__init__.py rename to magnum_tempest_plugin/__init__.py diff --git a/magnum/tests/__init__.py b/magnum_tempest_plugin/common/__init__.py similarity index 100% rename from magnum/tests/__init__.py rename to magnum_tempest_plugin/common/__init__.py diff --git a/magnum/tests/functional/common/base.py b/magnum_tempest_plugin/common/base.py similarity index 94% rename from magnum/tests/functional/common/base.py rename to magnum_tempest_plugin/common/base.py index f568cfb..93d86e3 100755 --- a/magnum/tests/functional/common/base.py +++ b/magnum_tempest_plugin/common/base.py @@ -16,10 +16,10 @@ import subprocess from tempest.lib import base -import magnum +import magnum_tempest_plugin -COPY_LOG_HELPER = "magnum/tests/contrib/copy_instance_logs.sh" +COPY_LOG_HELPER = "magnum_tempest_plugin/tests/contrib/copy_instance_logs.sh" class BaseMagnumTest(base.BaseTestCase): @@ -53,7 +53,7 @@ class BaseMagnumTest(base.BaseTestCase): slave_nodes = nodes_addresses[1] base_path = os.path.split(os.path.dirname( - os.path.abspath(magnum.__file__)))[0] + os.path.abspath(magnum_tempest_plugin.__file__)))[0] full_location = os.path.join(base_path, COPY_LOG_HELPER) def do_copy_logs(prefix, nodes_address): diff --git a/magnum/tests/functional/common/client.py b/magnum_tempest_plugin/common/client.py similarity index 96% rename from magnum/tests/functional/common/client.py rename to magnum_tempest_plugin/common/client.py index d61c8da..93d274b 100644 --- a/magnum/tests/functional/common/client.py +++ b/magnum_tempest_plugin/common/client.py @@ -16,7 +16,7 @@ import six from six.moves.urllib import parse from tempest.lib.common import rest_client -from magnum.tests.functional.common import config +from magnum_tempest_plugin.common import config @six.add_metaclass(abc.ABCMeta) diff --git a/magnum/tests/functional/common/config.py b/magnum_tempest_plugin/common/config.py similarity index 100% rename from magnum/tests/functional/common/config.py rename to magnum_tempest_plugin/common/config.py diff --git a/magnum/tests/functional/common/datagen.py b/magnum_tempest_plugin/common/datagen.py similarity index 96% rename from magnum/tests/functional/common/datagen.py rename to magnum_tempest_plugin/common/datagen.py index b9a31f2..9397461 100644 --- a/magnum/tests/functional/common/datagen.py +++ b/magnum_tempest_plugin/common/datagen.py @@ -17,16 +17,16 @@ import struct from tempest.lib.common.utils import data_utils -from magnum.tests.functional.api.v1.models import bay_model -from magnum.tests.functional.api.v1.models import baymodel_model -from magnum.tests.functional.api.v1.models import baymodelpatch_model -from magnum.tests.functional.api.v1.models import baypatch_model -from magnum.tests.functional.api.v1.models import cert_model -from magnum.tests.functional.api.v1.models import cluster_model -from magnum.tests.functional.api.v1.models import cluster_template_model -from magnum.tests.functional.api.v1.models import cluster_templatepatch_model -from magnum.tests.functional.api.v1.models import clusterpatch_model -from magnum.tests.functional.common import config +from magnum_tempest_plugin.common import config +from magnum_tempest_plugin.tests.api.v1.models import bay_model +from magnum_tempest_plugin.tests.api.v1.models import baymodel_model +from magnum_tempest_plugin.tests.api.v1.models import baymodelpatch_model +from magnum_tempest_plugin.tests.api.v1.models import baypatch_model +from magnum_tempest_plugin.tests.api.v1.models import cert_model +from magnum_tempest_plugin.tests.api.v1.models import cluster_model +from magnum_tempest_plugin.tests.api.v1.models import cluster_template_model +from magnum_tempest_plugin.tests.api.v1.models import cluster_templatepatch_model # noqa +from magnum_tempest_plugin.tests.api.v1.models import clusterpatch_model def random_int(min_int=1, max_int=100): diff --git a/magnum/tests/functional/common/manager.py b/magnum_tempest_plugin/common/manager.py similarity index 82% rename from magnum/tests/functional/common/manager.py rename to magnum_tempest_plugin/common/manager.py index 9ecf046..e9cb164 100644 --- a/magnum/tests/functional/common/manager.py +++ b/magnum_tempest_plugin/common/manager.py @@ -13,14 +13,14 @@ from tempest import clients from tempest.common import credentials_factory as common_creds -from magnum.tests.functional.api.v1.clients import bay_client -from magnum.tests.functional.api.v1.clients import baymodel_client -from magnum.tests.functional.api.v1.clients import cert_client -from magnum.tests.functional.api.v1.clients import cluster_client -from magnum.tests.functional.api.v1.clients import cluster_template_client -from magnum.tests.functional.api.v1.clients import magnum_service_client -from magnum.tests.functional.common import client -from magnum.tests.functional.common import config +from magnum_tempest_plugin.common import client +from magnum_tempest_plugin.common import config +from magnum_tempest_plugin.tests.api.v1.clients import bay_client +from magnum_tempest_plugin.tests.api.v1.clients import baymodel_client +from magnum_tempest_plugin.tests.api.v1.clients import cert_client +from magnum_tempest_plugin.tests.api.v1.clients import cluster_client +from magnum_tempest_plugin.tests.api.v1.clients import cluster_template_client +from magnum_tempest_plugin.tests.api.v1.clients import magnum_service_client class Manager(clients.Manager): diff --git a/magnum/tests/functional/common/models.py b/magnum_tempest_plugin/common/models.py similarity index 100% rename from magnum/tests/functional/common/models.py rename to magnum_tempest_plugin/common/models.py diff --git a/magnum/tests/functional/common/utils.py b/magnum_tempest_plugin/common/utils.py similarity index 100% rename from magnum/tests/functional/common/utils.py rename to magnum_tempest_plugin/common/utils.py diff --git a/magnum/tests/functional/tempest_tests/config.py b/magnum_tempest_plugin/config.py similarity index 100% rename from magnum/tests/functional/tempest_tests/config.py rename to magnum_tempest_plugin/config.py diff --git a/magnum/tests/functional/tempest_tests/plugin.py b/magnum_tempest_plugin/plugin.py similarity index 87% rename from magnum/tests/functional/tempest_tests/plugin.py rename to magnum_tempest_plugin/plugin.py index 923f60b..ccaf128 100644 --- a/magnum/tests/functional/tempest_tests/plugin.py +++ b/magnum_tempest_plugin/plugin.py @@ -16,15 +16,14 @@ import os from tempest import config from tempest.test_discover import plugins -import magnum -from magnum.tests.functional.tempest_tests import config as magnum_config +from magnum_tempest_plugin import config as magnum_config class MagnumTempestPlugin(plugins.TempestPlugin): def load_tests(self): base_path = os.path.split(os.path.dirname( - os.path.abspath(magnum.__file__)))[0] - test_dir = "magnum/tests/functional/api/v1" + os.path.abspath(__file__)))[0] + test_dir = "magnum_tempest_plugin/tests/api/v1" full_test_dir = os.path.join(base_path, test_dir) return full_test_dir, base_path diff --git a/magnum/tests/functional/__init__.py b/magnum_tempest_plugin/tests/__init__.py similarity index 100% rename from magnum/tests/functional/__init__.py rename to magnum_tempest_plugin/tests/__init__.py diff --git a/magnum/tests/functional/api/__init__.py b/magnum_tempest_plugin/tests/api/__init__.py similarity index 100% rename from magnum/tests/functional/api/__init__.py rename to magnum_tempest_plugin/tests/api/__init__.py diff --git a/magnum/tests/functional/api/base.py b/magnum_tempest_plugin/tests/api/base.py similarity index 97% rename from magnum/tests/functional/api/base.py rename to magnum_tempest_plugin/tests/api/base.py index da030ea..c1266b1 100755 --- a/magnum/tests/functional/api/base.py +++ b/magnum_tempest_plugin/tests/api/base.py @@ -15,9 +15,9 @@ import logging from tempest.common import credentials_factory as common_creds -from magnum.tests.functional.common import base -from magnum.tests.functional.common import config -from magnum.tests.functional.common import manager +from magnum_tempest_plugin.common import base +from magnum_tempest_plugin.common import config +from magnum_tempest_plugin.common import manager COPY_LOG_HELPER = "magnum/tests/contrib/copy_instance_logs.sh" diff --git a/magnum/tests/functional/api/v1/__init__.py b/magnum_tempest_plugin/tests/api/v1/__init__.py similarity index 100% rename from magnum/tests/functional/api/v1/__init__.py rename to magnum_tempest_plugin/tests/api/v1/__init__.py diff --git a/magnum/tests/functional/api/v1/clients/__init__.py b/magnum_tempest_plugin/tests/api/v1/clients/__init__.py similarity index 100% rename from magnum/tests/functional/api/v1/clients/__init__.py rename to magnum_tempest_plugin/tests/api/v1/clients/__init__.py diff --git a/magnum/tests/functional/api/v1/clients/bay_client.py b/magnum_tempest_plugin/tests/api/v1/clients/bay_client.py similarity index 97% rename from magnum/tests/functional/api/v1/clients/bay_client.py rename to magnum_tempest_plugin/tests/api/v1/clients/bay_client.py index 844ed4a..bc201fd 100755 --- a/magnum/tests/functional/api/v1/clients/bay_client.py +++ b/magnum_tempest_plugin/tests/api/v1/clients/bay_client.py @@ -13,9 +13,9 @@ from oslo_log import log as logging from tempest.lib import exceptions -from magnum.tests.functional.api.v1.models import bay_model -from magnum.tests.functional.common import client -from magnum.tests.functional.common import utils +from magnum_tempest_plugin.common import client +from magnum_tempest_plugin.common import utils +from magnum_tempest_plugin.tests.api.v1.models import bay_model class BayClient(client.MagnumClient): diff --git a/magnum/tests/functional/api/v1/clients/baymodel_client.py b/magnum_tempest_plugin/tests/api/v1/clients/baymodel_client.py similarity index 96% rename from magnum/tests/functional/api/v1/clients/baymodel_client.py rename to magnum_tempest_plugin/tests/api/v1/clients/baymodel_client.py index 10d6a8b..654ff99 100644 --- a/magnum/tests/functional/api/v1/clients/baymodel_client.py +++ b/magnum_tempest_plugin/tests/api/v1/clients/baymodel_client.py @@ -10,8 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.api.v1.models import baymodel_model -from magnum.tests.functional.common import client +from magnum_tempest_plugin.common import client +from magnum_tempest_plugin.tests.api.v1.models import baymodel_model class BayModelClient(client.MagnumClient): diff --git a/magnum/tests/functional/api/v1/clients/cert_client.py b/magnum_tempest_plugin/tests/api/v1/clients/cert_client.py similarity index 94% rename from magnum/tests/functional/api/v1/clients/cert_client.py rename to magnum_tempest_plugin/tests/api/v1/clients/cert_client.py index 6853f35..0c2be89 100644 --- a/magnum/tests/functional/api/v1/clients/cert_client.py +++ b/magnum_tempest_plugin/tests/api/v1/clients/cert_client.py @@ -10,8 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.api.v1.models import cert_model -from magnum.tests.functional.common import client +from magnum_tempest_plugin.common import client +from magnum_tempest_plugin.tests.api.v1.models import cert_model class CertClient(client.MagnumClient): diff --git a/magnum/tests/functional/api/v1/clients/cluster_client.py b/magnum_tempest_plugin/tests/api/v1/clients/cluster_client.py similarity index 96% rename from magnum/tests/functional/api/v1/clients/cluster_client.py rename to magnum_tempest_plugin/tests/api/v1/clients/cluster_client.py index 21e4be9..8505ed6 100755 --- a/magnum/tests/functional/api/v1/clients/cluster_client.py +++ b/magnum_tempest_plugin/tests/api/v1/clients/cluster_client.py @@ -13,10 +13,10 @@ from oslo_log import log as logging from tempest.lib import exceptions -from magnum.tests.functional.api.v1.models import cluster_id_model -from magnum.tests.functional.api.v1.models import cluster_model -from magnum.tests.functional.common import client -from magnum.tests.functional.common import utils +from magnum_tempest_plugin.common import client +from magnum_tempest_plugin.common import utils +from magnum_tempest_plugin.tests.api.v1.models import cluster_id_model +from magnum_tempest_plugin.tests.api.v1.models import cluster_model class ClusterClient(client.MagnumClient): diff --git a/magnum/tests/functional/api/v1/clients/cluster_template_client.py b/magnum_tempest_plugin/tests/api/v1/clients/cluster_template_client.py similarity index 97% rename from magnum/tests/functional/api/v1/clients/cluster_template_client.py rename to magnum_tempest_plugin/tests/api/v1/clients/cluster_template_client.py index e3b8e17..4ccda73 100644 --- a/magnum/tests/functional/api/v1/clients/cluster_template_client.py +++ b/magnum_tempest_plugin/tests/api/v1/clients/cluster_template_client.py @@ -10,8 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.api.v1.models import cluster_template_model -from magnum.tests.functional.common import client +from magnum_tempest_plugin.common import client +from magnum_tempest_plugin.tests.api.v1.models import cluster_template_model class ClusterTemplateClient(client.MagnumClient): diff --git a/magnum/tests/functional/api/v1/clients/magnum_service_client.py b/magnum_tempest_plugin/tests/api/v1/clients/magnum_service_client.py similarity index 92% rename from magnum/tests/functional/api/v1/clients/magnum_service_client.py rename to magnum_tempest_plugin/tests/api/v1/clients/magnum_service_client.py index 0559c91..e0f9782 100644 --- a/magnum/tests/functional/api/v1/clients/magnum_service_client.py +++ b/magnum_tempest_plugin/tests/api/v1/clients/magnum_service_client.py @@ -10,8 +10,8 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.api.v1.models import magnum_service_model -from magnum.tests.functional.common import client +from magnum_tempest_plugin.common import client +from magnum_tempest_plugin.tests.api.v1.models import magnum_service_model class MagnumServiceClient(client.MagnumClient): diff --git a/magnum/tests/functional/api/v1/models/__init__.py b/magnum_tempest_plugin/tests/api/v1/models/__init__.py similarity index 100% rename from magnum/tests/functional/api/v1/models/__init__.py rename to magnum_tempest_plugin/tests/api/v1/models/__init__.py diff --git a/magnum/tests/functional/api/v1/models/bay_model.py b/magnum_tempest_plugin/tests/api/v1/models/bay_model.py similarity index 95% rename from magnum/tests/functional/api/v1/models/bay_model.py rename to magnum_tempest_plugin/tests/api/v1/models/bay_model.py index 4c89acf..5a43100 100644 --- a/magnum/tests/functional/api/v1/models/bay_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/bay_model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class BayData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/baymodel_model.py b/magnum_tempest_plugin/tests/api/v1/models/baymodel_model.py similarity index 95% rename from magnum/tests/functional/api/v1/models/baymodel_model.py rename to magnum_tempest_plugin/tests/api/v1/models/baymodel_model.py index 606fb04..37df4b7 100644 --- a/magnum/tests/functional/api/v1/models/baymodel_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/baymodel_model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class BayModelData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/baymodelpatch_model.py b/magnum_tempest_plugin/tests/api/v1/models/baymodelpatch_model.py similarity index 97% rename from magnum/tests/functional/api/v1/models/baymodelpatch_model.py rename to magnum_tempest_plugin/tests/api/v1/models/baymodelpatch_model.py index 74fcbfd..0292542 100644 --- a/magnum/tests/functional/api/v1/models/baymodelpatch_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/baymodelpatch_model.py @@ -12,7 +12,7 @@ import json -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class BayModelPatchData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/baypatch_model.py b/magnum_tempest_plugin/tests/api/v1/models/baypatch_model.py similarity index 97% rename from magnum/tests/functional/api/v1/models/baypatch_model.py rename to magnum_tempest_plugin/tests/api/v1/models/baypatch_model.py index 4a0f137..1345e44 100644 --- a/magnum/tests/functional/api/v1/models/baypatch_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/baypatch_model.py @@ -12,7 +12,7 @@ import json -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class BayPatchData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/cert_model.py b/magnum_tempest_plugin/tests/api/v1/models/cert_model.py similarity index 94% rename from magnum/tests/functional/api/v1/models/cert_model.py rename to magnum_tempest_plugin/tests/api/v1/models/cert_model.py index 4948a39..25a200f 100644 --- a/magnum/tests/functional/api/v1/models/cert_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/cert_model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class CertData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/cluster_id_model.py b/magnum_tempest_plugin/tests/api/v1/models/cluster_id_model.py similarity index 94% rename from magnum/tests/functional/api/v1/models/cluster_id_model.py rename to magnum_tempest_plugin/tests/api/v1/models/cluster_id_model.py index d103f97..8da47b0 100644 --- a/magnum/tests/functional/api/v1/models/cluster_id_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/cluster_id_model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class ClusterIdData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/cluster_model.py b/magnum_tempest_plugin/tests/api/v1/models/cluster_model.py similarity index 95% rename from magnum/tests/functional/api/v1/models/cluster_model.py rename to magnum_tempest_plugin/tests/api/v1/models/cluster_model.py index af80c94..fe1d820 100644 --- a/magnum/tests/functional/api/v1/models/cluster_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/cluster_model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class ClusterData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/cluster_template_model.py b/magnum_tempest_plugin/tests/api/v1/models/cluster_template_model.py similarity index 95% rename from magnum/tests/functional/api/v1/models/cluster_template_model.py rename to magnum_tempest_plugin/tests/api/v1/models/cluster_template_model.py index 4471f1c..7f93abd 100644 --- a/magnum/tests/functional/api/v1/models/cluster_template_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/cluster_template_model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class ClusterTemplateData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py b/magnum_tempest_plugin/tests/api/v1/models/cluster_templatepatch_model.py similarity index 97% rename from magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py rename to magnum_tempest_plugin/tests/api/v1/models/cluster_templatepatch_model.py index 83a6b67..e883aee 100644 --- a/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/cluster_templatepatch_model.py @@ -12,7 +12,7 @@ import json -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class ClusterTemplatePatchData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/clusterpatch_model.py b/magnum_tempest_plugin/tests/api/v1/models/clusterpatch_model.py similarity index 97% rename from magnum/tests/functional/api/v1/models/clusterpatch_model.py rename to magnum_tempest_plugin/tests/api/v1/models/clusterpatch_model.py index 6e93f37..3071ea1 100644 --- a/magnum/tests/functional/api/v1/models/clusterpatch_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/clusterpatch_model.py @@ -12,7 +12,7 @@ import json -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class ClusterPatchData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/models/magnum_service_model.py b/magnum_tempest_plugin/tests/api/v1/models/magnum_service_model.py similarity index 95% rename from magnum/tests/functional/api/v1/models/magnum_service_model.py rename to magnum_tempest_plugin/tests/api/v1/models/magnum_service_model.py index 94a2319..4d20b11 100644 --- a/magnum/tests/functional/api/v1/models/magnum_service_model.py +++ b/magnum_tempest_plugin/tests/api/v1/models/magnum_service_model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from magnum.tests.functional.common import models +from magnum_tempest_plugin.common import models class MagnumServiceData(models.BaseModel): diff --git a/magnum/tests/functional/api/v1/test_bay.py b/magnum_tempest_plugin/tests/api/v1/test_bay.py similarity index 98% rename from magnum/tests/functional/api/v1/test_bay.py rename to magnum_tempest_plugin/tests/api/v1/test_bay.py index 77415ac..6dc9acb 100755 --- a/magnum/tests/functional/api/v1/test_bay.py +++ b/magnum_tempest_plugin/tests/api/v1/test_bay.py @@ -18,9 +18,9 @@ from tempest.lib.common.utils import data_utils from tempest.lib import exceptions import testtools -from magnum.tests.functional.api import base -from magnum.tests.functional.common import config -from magnum.tests.functional.common import datagen +from magnum_tempest_plugin.common import config +from magnum_tempest_plugin.common import datagen +from magnum_tempest_plugin.tests.api import base class BayTest(base.BaseTempestTest): diff --git a/magnum/tests/functional/api/v1/test_baymodel.py b/magnum_tempest_plugin/tests/api/v1/test_baymodel.py similarity index 98% rename from magnum/tests/functional/api/v1/test_baymodel.py rename to magnum_tempest_plugin/tests/api/v1/test_baymodel.py index 0bdce36..c48dff6 100644 --- a/magnum/tests/functional/api/v1/test_baymodel.py +++ b/magnum_tempest_plugin/tests/api/v1/test_baymodel.py @@ -15,8 +15,8 @@ from tempest.lib.common.utils import data_utils from tempest.lib import exceptions import testtools -from magnum.tests.functional.api import base -from magnum.tests.functional.common import datagen +from magnum_tempest_plugin.common import datagen +from magnum_tempest_plugin.tests.api import base class BayModelTest(base.BaseTempestTest): diff --git a/magnum/tests/functional/api/v1/test_baymodel_admin.py b/magnum_tempest_plugin/tests/api/v1/test_baymodel_admin.py similarity index 96% rename from magnum/tests/functional/api/v1/test_baymodel_admin.py rename to magnum_tempest_plugin/tests/api/v1/test_baymodel_admin.py index 67f5b15..9b76286 100644 --- a/magnum/tests/functional/api/v1/test_baymodel_admin.py +++ b/magnum_tempest_plugin/tests/api/v1/test_baymodel_admin.py @@ -13,8 +13,8 @@ import testtools -from magnum.tests.functional.api import base -from magnum.tests.functional.common import datagen +from magnum_tempest_plugin.common import datagen +from magnum_tempest_plugin.tests.api import base class BayModelAdminTest(base.BaseTempestTest): diff --git a/magnum/tests/functional/api/v1/test_cluster.py b/magnum_tempest_plugin/tests/api/v1/test_cluster.py similarity index 98% rename from magnum/tests/functional/api/v1/test_cluster.py rename to magnum_tempest_plugin/tests/api/v1/test_cluster.py index 59b7004..66878fb 100755 --- a/magnum/tests/functional/api/v1/test_cluster.py +++ b/magnum_tempest_plugin/tests/api/v1/test_cluster.py @@ -18,9 +18,9 @@ from tempest.lib.common.utils import data_utils from tempest.lib import exceptions import testtools -from magnum.tests.functional.api import base -from magnum.tests.functional.common import config -from magnum.tests.functional.common import datagen +from magnum_tempest_plugin.common import config +from magnum_tempest_plugin.common import datagen +from magnum_tempest_plugin.tests.api import base HEADERS = {'OpenStack-API-Version': 'container-infra latest', diff --git a/magnum/tests/functional/api/v1/test_cluster_template.py b/magnum_tempest_plugin/tests/api/v1/test_cluster_template.py similarity index 98% rename from magnum/tests/functional/api/v1/test_cluster_template.py rename to magnum_tempest_plugin/tests/api/v1/test_cluster_template.py index 8713248..85bef74 100644 --- a/magnum/tests/functional/api/v1/test_cluster_template.py +++ b/magnum_tempest_plugin/tests/api/v1/test_cluster_template.py @@ -15,8 +15,8 @@ from tempest.lib.common.utils import data_utils from tempest.lib import exceptions import testtools -from magnum.tests.functional.api import base -from magnum.tests.functional.common import datagen +from magnum_tempest_plugin.common import datagen +from magnum_tempest_plugin.tests.api import base class ClusterTemplateTest(base.BaseTempestTest): diff --git a/magnum/tests/functional/api/v1/test_cluster_template_admin.py b/magnum_tempest_plugin/tests/api/v1/test_cluster_template_admin.py similarity index 97% rename from magnum/tests/functional/api/v1/test_cluster_template_admin.py rename to magnum_tempest_plugin/tests/api/v1/test_cluster_template_admin.py index b8a2e83..8f0ff39 100644 --- a/magnum/tests/functional/api/v1/test_cluster_template_admin.py +++ b/magnum_tempest_plugin/tests/api/v1/test_cluster_template_admin.py @@ -13,8 +13,8 @@ import testtools -from magnum.tests.functional.api import base -from magnum.tests.functional.common import datagen +from magnum_tempest_plugin.common import datagen +from magnum_tempest_plugin.tests.api import base class ClusterTemplateAdminTest(base.BaseTempestTest): diff --git a/magnum/tests/functional/api/v1/test_magnum_service.py b/magnum_tempest_plugin/tests/api/v1/test_magnum_service.py similarity index 97% rename from magnum/tests/functional/api/v1/test_magnum_service.py rename to magnum_tempest_plugin/tests/api/v1/test_magnum_service.py index a85c30b..b04b6ad 100644 --- a/magnum/tests/functional/api/v1/test_magnum_service.py +++ b/magnum_tempest_plugin/tests/api/v1/test_magnum_service.py @@ -14,7 +14,7 @@ from tempest.lib import exceptions import testtools -from magnum.tests.functional.api import base +from magnum_tempest_plugin.tests.api import base class MagnumServiceTest(base.BaseTempestTest): diff --git a/magnum/tests/contrib/copy_instance_logs.sh b/magnum_tempest_plugin/tests/contrib/copy_instance_logs.sh similarity index 100% rename from magnum/tests/contrib/copy_instance_logs.sh rename to magnum_tempest_plugin/tests/contrib/copy_instance_logs.sh diff --git a/setup.cfg b/setup.cfg index 3ac1a30..6d6e1c7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] -name = openstack -summary = Tempest plugin magnum_tempest_plugin +name = magnum_tempest_plugin +summary = Tempest plugin for Magnum Project description-file = README.rst author = OpenStack @@ -21,11 +21,11 @@ classifier = [files] packages = - magnum + magnum_tempest_plugin [entry_points] tempest.test_plugins = - magnum_tests = magnum.tests.functional.tempest_tests.plugin:MagnumTempestPlugin + magnum_tests = magnum_tempest_plugin.plugin:MagnumTempestPlugin [build_sphinx] all-files = 1 @@ -37,15 +37,15 @@ build-dir = doc/build upload-dir = doc/build/html [compile_catalog] -directory = magnum/locale -domain = magnum +directory = magnum_tempest_plugin/locale +domain = magnum_tempest_plugin [update_catalog] -domain = magnum -output_dir = magnum/locale -input_file = magnum/locale/magnum_tempest_plugin.pot +domain = magnum_tempest_plugin +output_dir = magnum_tempest_plugin/locale +input_file = magnum_tempest_plugin/locale/magnum_tempest_plugin.pot [extract_messages] keywords = _ gettext ngettext l_ lazy_gettext mapping_file = babel.cfg -output_file = magnum/locale/magnum_tempest_plugin.pot +output_file = magnum_tempest_plugin/locale/magnum_tempest_plugin.pot diff --git a/test-requirements.txt b/test-requirements.txt index f559c0e..e363ddc 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4,12 +4,7 @@ hacking>=0.12.0,<0.13 # Apache-2.0 -coverage>=4.0,!=4.4 # Apache-2.0 -python-subunit>=0.0.18 # Apache-2.0/BSD sphinx>=1.6.2 # BSD -oslotest>=1.10.0 # Apache-2.0 -testrepository>=0.0.18 # Apache-2.0/BSD -testtools>=1.4.0 # MIT openstackdocstheme>=1.11.0 # Apache-2.0 # releasenotes reno>=1.8.0 # Apache-2.0 diff --git a/tools/pretty_tox.sh b/tools/pretty_tox.sh new file mode 100755 index 0000000..799ac18 --- /dev/null +++ b/tools/pretty_tox.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -o pipefail + +TESTRARGS=$1 + +# --until-failure is not compatible with --subunit see: +# +# https://bugs.launchpad.net/testrepository/+bug/1411804 +# +# this work around exists until that is addressed +if [[ "$TESTARGS" =~ "until-failure" ]]; then + python setup.py testr --slowest --testr-args="$TESTRARGS" +else + python setup.py testr --slowest --testr-args="--subunit $TESTRARGS" | subunit-trace -f +fi diff --git a/tox.ini b/tox.ini index c888992..746349f 100644 --- a/tox.ini +++ b/tox.ini @@ -18,8 +18,16 @@ commands = flake8 {posargs} [testenv:venv] commands = {posargs} -[testenv:cover] -commands = python setup.py test --coverage --testr-args='{posargs}' +[testenv:functional-api] +sitepackages = True +setenv = {[testenv]setenv} + OS_TEST_PATH=./magnum_tempest_plugin/tests/api + OS_TEST_TIMEOUT=7200 +deps = + {[testenv]deps} +commands = + find . -type f -name "*.py[c|o]" -delete + bash tools/pretty_tox.sh '{posargs}' [testenv:docs] commands = python setup.py build_sphinx