neutron/neutron/tests/api
Assaf Muller a2fe5fd2e0 Delete Tempest fork, import from tempest and tempest_lib
A while ago we copied Tempest networking API tests in to the
Neutron repo, and along came thousands of lines of code of Tempest
testing infrastructure (neutron.tests.tempest). For a while we
periodically refreshed our fork via:
tools/copy_api_tests_from_tempest.sh

I think it's time we move away from that model by eliminating
the fork. We do this by deleting unused code and importing the
rest from tempest_lib. There's some Tempest code still not
moved from Tempest to tempest_lib in tempest.common. I think
it's preferable to import that code than to copy it, and Tempest
cores mostly agree. Manila and Ironic also do the same.
To be able to import from tempest I added it as a requirement:
Since Tempest is not on PyPi, I had to get it from git. Only the api
tests environment needs Tempest, so instead of adding it to
test-requirements, I added it specifically to the api and
api-constraints venvs.

neutron.tests.tempest.test and neutron.tests.tempest.common.*
still remain. These are tighly coupled with one another, and
sadly since Neutron forked Tempest code, Tempest has made significant
changes to those files that also require changes to the test files.
I aim to get rid of the Neutron fork of these files in a follow up
change.

Also fixed import grouping in test files so that it's std libs,
3rd party libs, and then Neutron code.

* Removed neutron.tests.tempest.config:
  - We only added one option after the fork. I created a new group
    called 'neutron_plugin_options' and moved the new option to that
    group. This is in preperation for the Tempest plugin architecture,
    where you're supposed to add new config options to a new group
    and not to existing configuration groups. Note that this is
    obviously a backward incompatible change, but it's to an option
    added in the same cycle.
* Removed neutron.tests.tempest.test and neutron.tests.tempest.common.
  - This introduced an API change to the way we access Keystone,
    which required mechanical changes to a few tests (create_tenant
    calls need a different client now).
  - The way Tempest manages primary, admin and alternative tenant
    credentials was changed after we forked, which required another
    mechanical change to a few tests.
* Cut all of the Keystone clients we don't need. We only need
  to create/delete tenants, the other clients were used in Tempest by
  actual Keystone tests.
* Changed neutron.tests.api.base.BaseNetworkTest:
  - Re-implemented get_client_manager so that it returns the Neutron
    clients manager and not the one in the Tempest repo.
  - Updated it from the Tempest repo so that it uses the new way
    to manage credentials (Since it now uses the Tempest test base
    class and not our out of date forked copy).

Change-Id: I4f9193dfe26f2d36985cb480a98709ec182a2f7b
2016-01-29 11:31:27 -05:00
..
admin Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
__init__.py Fix test discovery for api and functional paths 2015-04-21 19:22:45 +00:00
base.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
base_routers.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
base_security_groups.py Move API tests to neutron.test.api 2015-03-31 23:05:07 +00:00
clients.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_address_scopes.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_address_scopes_negative.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_allowed_address_pair.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_dhcp_ipv6.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_extension_driver_port_security.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_extensions.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_extra_dhcp_options.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_flavors_extensions.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_floating_ips.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_floating_ips_negative.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_fwaas_extensions.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_metering_extensions.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_networks.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_networks_negative.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_ports.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_qos.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_routers.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_routers_negative.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_security_groups.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_security_groups_negative.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_service_type_management.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_subnetpools.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_subnetpools_negative.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00
test_vpnaas_extensions.py Delete Tempest fork, import from tempest and tempest_lib 2016-01-29 11:31:27 -05:00