501df939a5
This patch introduces the concept of a 'retargetable' functional api test. Such a test targets an abstract client class, and by varying the implementation of the client, the test can target multiple backends. The test added by this patch (test_network_lifecycle) can be run against the programmatic plugin api (for configured plugins) via both tox -e functional and tox -e dsvm-functional. The latter env is used by the gating neutron-dsvm-functional job. The test can also be run against a live Neutron service via 'tox -e api' which will soon be run as part of the check queue by the neutron-dsvm-api job [1]. Running this tox env requires devstack-deployed Neutron and Tempest. The intention is to refactor the existing plugin tests (e.g. NeutronDbPluginV2TestCase) to use this model. Functional tests don't have to isolate functionality - they just need to exercise it - so fewer tests will be required. The new tests will be able to target plugins directly rather than through the wsgi stack, so execution time will be decreased. The refactored tests should be easier to maintain and take less time to run. Perhaps best of all, since the same tests will be able to target a deployed service in the neutron-dsvm-api job, the deployed behaviour of api changes will finally be able to gate merges to the Neutron tree. Notable parts of the change: - tests/api - base_v2 - defines the client interface (BaseNeutronClient) and the base class (BaseTestApi) for the retargetable test (test_network_lifecycle) - test_v2_rest - implements the client interface for the tempest rest client and configures the retargetable test with scenarios for json serialization - tests/functional/api - test_v2_plugin - implements the client interface for the programmatic plugin api and configures the retargetable test with scenarios targeting the linuxbridge and openvswitch plugins - tests/unit - refactor bits of the existing plugin tests for reuse 1: https://review.openstack.org/#/c/82226/ Implements: bp retargetable-functional-testing Change-Id: Ib5470040c0fa91ec143f38d273e1e259b3adfb2e
30 lines
335 B
Plaintext
30 lines
335 B
Plaintext
AUTHORS
|
|
build/*
|
|
build-stamp
|
|
ChangeLog
|
|
cover/
|
|
covhtml/
|
|
dist/
|
|
doc/build
|
|
*.DS_Store
|
|
*.pyc
|
|
neutron.egg-info/
|
|
neutron/vcsversion.py
|
|
neutron/versioninfo
|
|
pbr*.egg/
|
|
quantum.egg-info/
|
|
quantum/vcsversion.py
|
|
quantum/versioninfo
|
|
setuptools*.egg/
|
|
*.log
|
|
*.mo
|
|
*.sw?
|
|
*~
|
|
/.*
|
|
!/.coveragerc
|
|
!/.gitignore
|
|
!/.gitreview
|
|
!/.mailmap
|
|
!/.pylintrc
|
|
!/.testr.conf
|