summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Kunz <georg.kunz@ericsson.com>2018-02-03 22:15:40 +0100
committerGeorg Kunz <georg.kunz@ericsson.com>2018-07-16 11:21:50 +0000
commit6acd3a07d8e9a81b82a3923ba24cbe328eb8eefc (patch)
treef07acf8c77db2fa0aa59901a4420711832edb81e
parent21cc3e247b7ecbd8dd030c1a6c951cfbcf3c9d05 (diff)
Test case description for BGPVPN Tempest API tests
Adding test case descriptions for the BGPVPN API tests which are implemented as Tempest plugin in the networking-bgpvpn repository. These tests have already been integrated for Euphrates into Functest test and are hence a candidate for inclusion in the test scope of the OVP Euphrates release as extension of the existing SDNVPN test cases. JIRA: DOVETAIL-598 Change-Id: Id8578ed1e198ddbde967793737c69a5940c22475 Signed-off-by: Georg Kunz <georg.kunz@ericsson.com>
-rw-r--r--docs/testing/user/testspecification/vpn/index.rst196
1 files changed, 196 insertions, 0 deletions
diff --git a/docs/testing/user/testspecification/vpn/index.rst b/docs/testing/user/testspecification/vpn/index.rst
index 5cf92f1a..f6778435 100644
--- a/docs/testing/user/testspecification/vpn/index.rst
+++ b/docs/testing/user/testspecification/vpn/index.rst
@@ -530,3 +530,199 @@ Post conditions
---------------
N/A
+
+
+
+------------------------------------
+Test Case 5 - Tempest API CRUD Tests
+------------------------------------
+
+Short Name
+----------
+
+dovetail.tempest.bgpvpn
+
+
+Use case specification
+----------------------
+
+This test case combines multiple CRUD (Create, Read, Update, Delete) tests for
+the objects defined by the BGPVPN API extension of Neutron.
+
+These tests are implemented in the upstream `networking-bgpvpn project repository
+<https://github.com/openstack/networking-bgpvpn>`_ as a Tempest plugin.
+
+
+Test preconditions
+------------------
+
+The VIM is operational and the networking-bgpvpn service plugin for Neutron is
+correctly configured and loaded. At least one compute node is available.
+
+
+Basic test flow execution description and pass/fail criteria
+------------------------------------------------------------
+
+List of test cases
+
+* networking_bgpvpn_tempest.tests.api.test_create_bgpvpn
+* networking_bgpvpn_tempest.tests.api.test_create_bgpvpn_as_non_admin_fail
+* networking_bgpvpn_tempest.tests.api.test_delete_bgpvpn_as_non_admin_fail
+* networking_bgpvpn_tempest.tests.api.test_show_bgpvpn_as_non_owner_fail
+* networking_bgpvpn_tempest.tests.api.test_list_bgpvpn_as_non_owner_fail
+* networking_bgpvpn_tempest.tests.api.test_show_netassoc_as_non_owner_fail
+* networking_bgpvpn_tempest.tests.api.test_list_netassoc_as_non_owner_fail
+* networking_bgpvpn_tempest.tests.api.test_associate_disassociate_network
+* networking_bgpvpn_tempest.tests.api.test_update_route_target_non_admin_fail
+* networking_bgpvpn_tempest.tests.api.test_create_bgpvpn_with_invalid_routetargets
+* networking_bgpvpn_tempest.tests.api.test_update_bgpvpn_invalid_routetargets
+* networking_bgpvpn_tempest.tests.api.test_associate_invalid_network
+* networking_bgpvpn_tempest.tests.api.test_disassociate_invalid_network
+* networking_bgpvpn_tempest.tests.api.test_associate_disassociate_router
+* networking_bgpvpn_tempest.tests.api.test_attach_associated_subnet_to_associated_router
+
+The tests include both positive tests and negative tests. The latter are
+identified with the suffix "_fail" in their name.
+
+
+Test execution
+''''''''''''''
+
+The tests are executed sequentially and a separate pass/fail result is recorded
+per test.
+
+In general, every test case performs the API operations indicated in its name
+and asserts that the action succeeds (positive test) or a specific exception
+is triggered (negative test). The following describes the test execution
+per test in further detail.
+
+
+networking_bgpvpn_tempest.tests.api.test_create_bgpvpn
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create a BGPVPN as an admin.
+* **Test assertion**: The API call succeeds.
+
+
+networking_bgpvpn_tempest.tests.api.test_create_bgpvpn_as_non_admin_fail
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Attempt to create a BGPVPN as non-admin.
+* **Test assertion**: Creating a BGPVPN as non-admin fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_delete_bgpvpn_as_non_admin_fail
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create BGPVPN vpn1 as admin.
+* Attempt to delete vpn1 as non-admin.
+* **Test assertion**: The deletion of vpn1 as non-admin fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_show_bgpvpn_as_non_owner_fail
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create a BGPVPN vpn1 as admin in project1.
+* **Test assertion**: Attempting to retrieve detailed properties of vpn1
+ in project2 fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_list_bgpvpn_as_non_owner_fail
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create a BGPVPN vpn1 as admin in project1.
+* Retrieve a list of all BGPVPNs in project2.
+* **Test assertion**: The list of BGPVPNs retrieved in project2 does not
+ include vpn1.
+
+
+networking_bgpvpn_tempest.tests.api.test_show_netassoc_as_non_owner_fail
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create BGPVPN vpn1 as admin in project1.
+* Associate vpn1 with a Neutron network in project1
+* **Test assertion**: Retrieving detailed properties of the network association
+ fails in project2.
+
+
+networking_bgpvpn_tempest.tests.api.test_list_netassoc_as_non_owner_fail
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create BGPVPN vpn1 as admin in project1.
+* Create network association net-assoc1 with vpn1 and Neutron network net1
+ in project1.
+* Retrieve a list of all network associations in project2.
+* **Test assertion**: The retrieved list of network associations does not
+ include network association net-assoc1.
+
+
+networking_bgpvpn_tempest.tests.api.test_associate_disassociate_network
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create a BGPVPN vpn1 as admin.
+* Associate vpn1 with a Neutron network net1.
+* **Test assertion**: The metadata of vpn1 includes the UUID of net1.
+* Diassociate vpn1 from the Neutron network.
+* **Test assertion**: The metadata of vpn1 does not include the UUID of net1.
+
+
+networking_bgpvpn_tempest.tests.api.test_update_route_target_non_admin_fail
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create a BGPVPN vpn1 as admin with specific route targets.
+* Attempt to update vpn1 with different route targets as non-admin.
+* **Test assertion**: The update fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_create_bgpvpn_with_invalid_routetargets
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Attempt to create a BGPVPN as admin with invalid route targets.
+* **Test assertion**: The creation of the BGPVPN fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_update_bgpvpn_invalid_routetargets
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create a BGPVPN vpn1 as admin with empty route targets.
+* Attempt to update vpn1 with invalid route targets.
+* **Test assertion**: The update of the route targets fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_associate_invalid_network
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create BGPVPN vpn1 as admin.
+* Attempt to associate vpn1 with a non-existing Neutron network.
+* **Test assertion**: Creating the network association fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_disassociate_invalid_network
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create BGPVPN vpn1 as admin.
+* Create network association net-assoc1 with vpn1 and Neutron network net1.
+* Attempt to delete net-assoc1 with an invalid network UUID.
+* **Test assertion**: The deletion of the net-assoc fails.
+
+
+networking_bgpvpn_tempest.tests.api.test_associate_disassociate_router
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create a BGPVPN vpn1 as admin.
+* Associate vpn1 with a Neutron router router1.
+* **Test assertion**: The metadata of vpn1 includes the UUID of router1.
+* Disassociate router1 from vpn1.
+* **Test assertion**: The metadata of vpn1 does not include the UUID of router1.
+
+
+networking_bgpvpn_tempest.tests.api.test_attach_associated_subnet_to_associated_router
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Create BGPVPN vpn1 as admin.
+* Associate vpn1 with Neutron network net1.
+* Create BGPVPN vpn2
+* Associate vpn2 with Neutron router router1.
+* Attempt to add the subnet of net1 to router1
+* **Test assertion**: The association fails.
+
+
+
+Pass / fail criteria
+''''''''''''''''''''
+
+This test validates that all supported CRUD operations (create, read, update,
+delete) can be applied to the objects of the Neutron BGPVPN extension. In
+order to pass this test, all test assertions listed in the test execution above
+need to pass.
+
+
+Post conditions
+---------------
+
+N/A