From 4aba28b269ea96b17da3e34f7726808643daa3c3 Mon Sep 17 00:00:00 2001 From: Alvaro Lopez Garcia Date: Thu, 23 Jun 2016 14:04:39 +0200 Subject: [PATCH] tests: separate between functional and unit Just move the tests into two separate directories and add instructions on how to run them. Change-Id: I45dbed3306c35ce49116654534609cf81b441149 --- .testr.conf | 4 ++-- HACKING.rst | 22 ++++++++++++++++--- README.md | 3 +-- .../{controllers => functional}/__init__.py | 0 .../{ => functional}/middleware/__init__.py | 0 .../middleware/test_compute_controller.py | 2 +- .../middleware/test_middleware.py | 0 .../test_netinterface_controller.py | 2 +- .../middleware/test_network_controller.py | 2 +- .../middleware/test_query_controller.py | 2 +- .../middleware/test_storage_controller.py | 2 +- .../middleware/test_storagelink_controller.py | 2 +- .../test_functional_netinterface.py | 2 +- .../middleware/test_functional_network.py | 4 ++-- ooi/tests/{occi => unit}/__init__.py | 0 ooi/tests/unit/controllers/__init__.py | 0 .../{ => unit}/controllers/test_compute.py | 0 .../{ => unit}/controllers/test_helpers.py | 0 .../{ => unit}/controllers/test_network.py | 0 .../controllers/test_network_links.py | 0 .../controllers/test_neutron_helper.py | 0 .../controllers/test_nova_net_helper.py | 0 .../{ => unit}/controllers/test_query.py | 0 .../{ => unit}/controllers/test_storage.py | 0 .../controllers/test_storage_links.py | 0 ooi/tests/unit/occi/__init__.py | 0 ooi/tests/{ => unit}/occi/test_occi_core.py | 0 .../occi/test_occi_infrastructure.py | 0 ooi/tests/{ => unit}/occi/test_openstack.py | 0 ooi/tests/{ => unit}/test_parser.py | 0 .../test_resource_exception_handler.py | 0 ooi/tests/{ => unit}/test_validator.py | 0 ooi/tests/{ => unit}/test_wsgi.py | 0 tox.ini | 20 +++++++++++++++-- 34 files changed, 49 insertions(+), 18 deletions(-) rename ooi/tests/{controllers => functional}/__init__.py (100%) rename ooi/tests/{ => functional}/middleware/__init__.py (100%) rename ooi/tests/{ => functional}/middleware/test_compute_controller.py (99%) rename ooi/tests/{ => functional}/middleware/test_middleware.py (100%) rename ooi/tests/{ => functional}/middleware/test_netinterface_controller.py (99%) rename ooi/tests/{ => functional}/middleware/test_network_controller.py (99%) rename ooi/tests/{ => functional}/middleware/test_query_controller.py (97%) rename ooi/tests/{ => functional}/middleware/test_storage_controller.py (99%) rename ooi/tests/{ => functional}/middleware/test_storagelink_controller.py (99%) rename ooi/tests/{occi => unit}/__init__.py (100%) create mode 100644 ooi/tests/unit/controllers/__init__.py rename ooi/tests/{ => unit}/controllers/test_compute.py (100%) rename ooi/tests/{ => unit}/controllers/test_helpers.py (100%) rename ooi/tests/{ => unit}/controllers/test_network.py (100%) rename ooi/tests/{ => unit}/controllers/test_network_links.py (100%) rename ooi/tests/{ => unit}/controllers/test_neutron_helper.py (100%) rename ooi/tests/{ => unit}/controllers/test_nova_net_helper.py (100%) rename ooi/tests/{ => unit}/controllers/test_query.py (100%) rename ooi/tests/{ => unit}/controllers/test_storage.py (100%) rename ooi/tests/{ => unit}/controllers/test_storage_links.py (100%) create mode 100644 ooi/tests/unit/occi/__init__.py rename ooi/tests/{ => unit}/occi/test_occi_core.py (100%) rename ooi/tests/{ => unit}/occi/test_occi_infrastructure.py (100%) rename ooi/tests/{ => unit}/occi/test_openstack.py (100%) rename ooi/tests/{ => unit}/test_parser.py (100%) rename ooi/tests/{ => unit}/test_resource_exception_handler.py (100%) rename ooi/tests/{ => unit}/test_validator.py (100%) rename ooi/tests/{ => unit}/test_wsgi.py (100%) diff --git a/.testr.conf b/.testr.conf index fb62267..9768dad 100644 --- a/.testr.conf +++ b/.testr.conf @@ -2,6 +2,6 @@ test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \ - ${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION + ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./ooi/tests} $LISTOPT $IDOPTION test_id_option=--load-list $IDFILE -test_list_option=--list \ No newline at end of file +test_list_option=--list diff --git a/HACKING.rst b/HACKING.rst index 2f65bef..80a2a81 100644 --- a/HACKING.rst +++ b/HACKING.rst @@ -1,4 +1,20 @@ -ooi Style Commandments -=============================================== +ooi hacking guidelines +====================== -Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/ \ No newline at end of file +Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/ + +Code style is enforced and unit and functional testing +are required. To run all of them , just execute: + + $ tox + +with no arguments. + +If you wish to execute only functional (note that this is not integration so we +are only using test doubles here) testing, run: + + $ tox -e functional + +Syntax checks can be run with: + + $ tox -e pep8 diff --git a/README.md b/README.md index 0ac019f..4213140 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ooi is an implementation the Open Grid Forum's [Open Cloud Computing Interface (OCCI)](http://www.occi-wg.org) for [OpenStack](http://www.openstack.org). -The documentation for OOI is available at +The documentation for OOI is available at http://ooi.readthedocs.org/en/latest In the unfortunate event that bugs are discovered, they should @@ -17,4 +17,3 @@ Developers wishing to work on the ooi project should always base their work on the latest ooi code, available from the master GIT repository at: https://git.openstack.org/cgit/openstack/ooi - diff --git a/ooi/tests/controllers/__init__.py b/ooi/tests/functional/__init__.py similarity index 100% rename from ooi/tests/controllers/__init__.py rename to ooi/tests/functional/__init__.py diff --git a/ooi/tests/middleware/__init__.py b/ooi/tests/functional/middleware/__init__.py similarity index 100% rename from ooi/tests/middleware/__init__.py rename to ooi/tests/functional/middleware/__init__.py diff --git a/ooi/tests/middleware/test_compute_controller.py b/ooi/tests/functional/middleware/test_compute_controller.py similarity index 99% rename from ooi/tests/middleware/test_compute_controller.py rename to ooi/tests/functional/middleware/test_compute_controller.py index f9490df..e361959 100644 --- a/ooi/tests/middleware/test_compute_controller.py +++ b/ooi/tests/functional/middleware/test_compute_controller.py @@ -17,7 +17,7 @@ import uuid from ooi.tests import fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware from ooi import utils diff --git a/ooi/tests/middleware/test_middleware.py b/ooi/tests/functional/middleware/test_middleware.py similarity index 100% rename from ooi/tests/middleware/test_middleware.py rename to ooi/tests/functional/middleware/test_middleware.py diff --git a/ooi/tests/middleware/test_netinterface_controller.py b/ooi/tests/functional/middleware/test_netinterface_controller.py similarity index 99% rename from ooi/tests/middleware/test_netinterface_controller.py rename to ooi/tests/functional/middleware/test_netinterface_controller.py index 9b66fab..2583e0c 100644 --- a/ooi/tests/middleware/test_netinterface_controller.py +++ b/ooi/tests/functional/middleware/test_netinterface_controller.py @@ -23,7 +23,7 @@ from ooi.api import network_link from ooi import exception from ooi.occi.core import collection from ooi.tests import fakes_network as fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware from ooi import utils from ooi import wsgi diff --git a/ooi/tests/middleware/test_network_controller.py b/ooi/tests/functional/middleware/test_network_controller.py similarity index 99% rename from ooi/tests/middleware/test_network_controller.py rename to ooi/tests/functional/middleware/test_network_controller.py index 5016226..5e85bc1 100644 --- a/ooi/tests/middleware/test_network_controller.py +++ b/ooi/tests/functional/middleware/test_network_controller.py @@ -21,7 +21,7 @@ from ooi.api import helpers_neutron from ooi.api import network from ooi.occi.core import collection from ooi.tests import fakes_network as fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware from ooi import utils from ooi import wsgi diff --git a/ooi/tests/middleware/test_query_controller.py b/ooi/tests/functional/middleware/test_query_controller.py similarity index 97% rename from ooi/tests/middleware/test_query_controller.py rename to ooi/tests/functional/middleware/test_query_controller.py index 2fa29d2..af449a4 100644 --- a/ooi/tests/middleware/test_query_controller.py +++ b/ooi/tests/functional/middleware/test_query_controller.py @@ -16,7 +16,7 @@ from ooi.tests import fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware class TestQueryController(test_middleware.TestMiddleware): diff --git a/ooi/tests/middleware/test_storage_controller.py b/ooi/tests/functional/middleware/test_storage_controller.py similarity index 99% rename from ooi/tests/middleware/test_storage_controller.py rename to ooi/tests/functional/middleware/test_storage_controller.py index 0640572..f72f477 100644 --- a/ooi/tests/middleware/test_storage_controller.py +++ b/ooi/tests/functional/middleware/test_storage_controller.py @@ -17,7 +17,7 @@ import uuid from ooi.tests import fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware from ooi import utils diff --git a/ooi/tests/middleware/test_storagelink_controller.py b/ooi/tests/functional/middleware/test_storagelink_controller.py similarity index 99% rename from ooi/tests/middleware/test_storagelink_controller.py rename to ooi/tests/functional/middleware/test_storagelink_controller.py index 66d0536..dfa3059 100644 --- a/ooi/tests/middleware/test_storagelink_controller.py +++ b/ooi/tests/functional/middleware/test_storagelink_controller.py @@ -19,7 +19,7 @@ import uuid import mock from ooi.tests import fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware from ooi import utils diff --git a/ooi/tests/middleware/test_functional_netinterface.py b/ooi/tests/middleware/test_functional_netinterface.py index aac9738..3c0f770 100644 --- a/ooi/tests/middleware/test_functional_netinterface.py +++ b/ooi/tests/middleware/test_functional_netinterface.py @@ -18,7 +18,7 @@ import uuid from ooi.tests import fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware from ooi import utils diff --git a/ooi/tests/middleware/test_functional_network.py b/ooi/tests/middleware/test_functional_network.py index 57788c0..9bbabe3 100644 --- a/ooi/tests/middleware/test_functional_network.py +++ b/ooi/tests/middleware/test_functional_network.py @@ -23,7 +23,7 @@ import webob from ooi.api import helpers from ooi.tests import fakes_network as fakes -from ooi.tests.middleware import test_middleware +from ooi.tests.functional.middleware import test_middleware from ooi import utils from ooi import wsgi @@ -327,4 +327,4 @@ class TestFunctionalNova(test_middleware.TestMiddleware): method="DELETE") resp = req.get_response(self.app) self.assertEqual(204, resp.status_code) - self.assertDefaults(resp) \ No newline at end of file + self.assertDefaults(resp) diff --git a/ooi/tests/occi/__init__.py b/ooi/tests/unit/__init__.py similarity index 100% rename from ooi/tests/occi/__init__.py rename to ooi/tests/unit/__init__.py diff --git a/ooi/tests/unit/controllers/__init__.py b/ooi/tests/unit/controllers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ooi/tests/controllers/test_compute.py b/ooi/tests/unit/controllers/test_compute.py similarity index 100% rename from ooi/tests/controllers/test_compute.py rename to ooi/tests/unit/controllers/test_compute.py diff --git a/ooi/tests/controllers/test_helpers.py b/ooi/tests/unit/controllers/test_helpers.py similarity index 100% rename from ooi/tests/controllers/test_helpers.py rename to ooi/tests/unit/controllers/test_helpers.py diff --git a/ooi/tests/controllers/test_network.py b/ooi/tests/unit/controllers/test_network.py similarity index 100% rename from ooi/tests/controllers/test_network.py rename to ooi/tests/unit/controllers/test_network.py diff --git a/ooi/tests/controllers/test_network_links.py b/ooi/tests/unit/controllers/test_network_links.py similarity index 100% rename from ooi/tests/controllers/test_network_links.py rename to ooi/tests/unit/controllers/test_network_links.py diff --git a/ooi/tests/controllers/test_neutron_helper.py b/ooi/tests/unit/controllers/test_neutron_helper.py similarity index 100% rename from ooi/tests/controllers/test_neutron_helper.py rename to ooi/tests/unit/controllers/test_neutron_helper.py diff --git a/ooi/tests/controllers/test_nova_net_helper.py b/ooi/tests/unit/controllers/test_nova_net_helper.py similarity index 100% rename from ooi/tests/controllers/test_nova_net_helper.py rename to ooi/tests/unit/controllers/test_nova_net_helper.py diff --git a/ooi/tests/controllers/test_query.py b/ooi/tests/unit/controllers/test_query.py similarity index 100% rename from ooi/tests/controllers/test_query.py rename to ooi/tests/unit/controllers/test_query.py diff --git a/ooi/tests/controllers/test_storage.py b/ooi/tests/unit/controllers/test_storage.py similarity index 100% rename from ooi/tests/controllers/test_storage.py rename to ooi/tests/unit/controllers/test_storage.py diff --git a/ooi/tests/controllers/test_storage_links.py b/ooi/tests/unit/controllers/test_storage_links.py similarity index 100% rename from ooi/tests/controllers/test_storage_links.py rename to ooi/tests/unit/controllers/test_storage_links.py diff --git a/ooi/tests/unit/occi/__init__.py b/ooi/tests/unit/occi/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ooi/tests/occi/test_occi_core.py b/ooi/tests/unit/occi/test_occi_core.py similarity index 100% rename from ooi/tests/occi/test_occi_core.py rename to ooi/tests/unit/occi/test_occi_core.py diff --git a/ooi/tests/occi/test_occi_infrastructure.py b/ooi/tests/unit/occi/test_occi_infrastructure.py similarity index 100% rename from ooi/tests/occi/test_occi_infrastructure.py rename to ooi/tests/unit/occi/test_occi_infrastructure.py diff --git a/ooi/tests/occi/test_openstack.py b/ooi/tests/unit/occi/test_openstack.py similarity index 100% rename from ooi/tests/occi/test_openstack.py rename to ooi/tests/unit/occi/test_openstack.py diff --git a/ooi/tests/test_parser.py b/ooi/tests/unit/test_parser.py similarity index 100% rename from ooi/tests/test_parser.py rename to ooi/tests/unit/test_parser.py diff --git a/ooi/tests/test_resource_exception_handler.py b/ooi/tests/unit/test_resource_exception_handler.py similarity index 100% rename from ooi/tests/test_resource_exception_handler.py rename to ooi/tests/unit/test_resource_exception_handler.py diff --git a/ooi/tests/test_validator.py b/ooi/tests/unit/test_validator.py similarity index 100% rename from ooi/tests/test_validator.py rename to ooi/tests/unit/test_validator.py diff --git a/ooi/tests/test_wsgi.py b/ooi/tests/unit/test_wsgi.py similarity index 100% rename from ooi/tests/test_wsgi.py rename to ooi/tests/unit/test_wsgi.py diff --git a/tox.ini b/tox.ini index 19cac91..e34b6e1 100644 --- a/tox.ini +++ b/tox.ini @@ -1,16 +1,32 @@ [tox] minversion = 1.6 -envlist = py34,py27,pep8 +envlist = py34,py27,pep8,functional skipsdist = True [testenv] usedevelop = True install_command = pip install -U {opts} {packages} +whitelist_externals = bash + find + rm setenv = VIRTUAL_ENV={envdir} + OS_TEST_PATH=./ooi/tests/unit deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt -commands = python setup.py testr --slowest --testr-args='{posargs}' +commands = + find . -type f -name "*.pyc" -delete + python setup.py testr --slowest --testr-args='{posargs}' + +[testenv:functional] +usedevelop = True +setenv = VIRTUAL_ENV={envdir} + OS_TEST_PATH=./ooi/tests/functional + LANGUAGE=en_US +commands = + find . -type f -name "*.pyc" -delete + python setup.py testr --slowest --testr-args='{posargs}' + [testenv:pep8] commands = flake8