From a554170d674fcaed789de3e605cb9c6d2af05275 Mon Sep 17 00:00:00 2001 From: Georg Kunz Date: Mon, 9 Jul 2018 22:31:46 +0200 Subject: Test case descriptions for Neutron Trunk Port tests Adding a high-level description of the Neutron trunk port tempest tests. As agreed on the last Dovetail call, we are aiming for a relatively low level of detail and instead point to available documentation. As the tempest tests themselves are quite simple of read, this is the best, most concise, and up-to-date version of documentation we can find. JIRA: DOVETAIL-684 Change-Id: I76801b34f974bf7c77fded3ffa5588b7e5b2803c Signed-off-by: Georg Kunz --- .../tempest_trunk_ports/index.rst | 157 +++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 docs/testing/user/testspecification/tempest_trunk_ports/index.rst (limited to 'docs/testing/user/testspecification/tempest_trunk_ports') diff --git a/docs/testing/user/testspecification/tempest_trunk_ports/index.rst b/docs/testing/user/testspecification/tempest_trunk_ports/index.rst new file mode 100644 index 00000000..0507cd9a --- /dev/null +++ b/docs/testing/user/testspecification/tempest_trunk_ports/index.rst @@ -0,0 +1,157 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) OPNFV + +================================ +Neutron Trunk Port Tempest Tests +================================ + +Scope +===== + +This test area evaluates the ability of a system under test to support Neutron +trunk ports. The test area specifically validates port and sub-port API CRUD +operations, by means of both positive and negative tests. + + +References +================ + +- `OpenStack API reference `_ + + +System Under Test (SUT) +======================= + +The system under test is assumed to be the NFVI and VIM deployed on a Pharos +compliant infrastructure. + + +Test Area Structure +==================== + +The test area is structured in individual tests as listed below. Each test case +is able to run independently, i.e. irrelevant of the state created by a previous +test. For detailed information on the individual steps and assertions performed +by the tests, review the Python source code accessible via the following links: + +- `Neutron Trunk API tests `_ +- `Neutron Trunk API negative tests `_ +- `Neutron Trunk API negative tests `_ + + +**Trunk port and sub-port CRUD operations:** + +These tests cover the CRUD (Create, Read, Update, Delete) life-cycle operations +of trunk ports and subports. + +Implementation: +`TrunkTestInheritJSONBase `_ +and +`TrunkTestJSON `_. + + +- neutron.tests.tempest.api.test_trunk.TrunkTestInheritJSONBase.test_add_subport +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_add_subport +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_create_show_delete_trunk +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_create_trunk_empty_subports_list +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_create_trunk_subports_not_specified +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_create_update_trunk +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_create_update_trunk_with_description +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_delete_trunk_with_subport_is_allowed +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_get_subports +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_list_trunks +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_remove_subport +- neutron.tests.tempest.api.test_trunk.TrunkTestJSON.test_show_trunk_has_project_id + + +**MTU-related operations:** + +These tests validate that trunk ports and subports can be created and added +when specifying valid MTU sizes. These tests do not include negative tests +covering invalid MTU sizes. + +Implementation: +`TrunkTestMtusJSON `_ + +- neutron.tests.tempest.api.test_trunk.TrunkTestMtusJSON.test_add_subport_with_mtu_equal_to_trunk +- neutron.tests.tempest.api.test_trunk.TrunkTestMtusJSON.test_add_subport_with_mtu_smaller_than_trunk +- neutron.tests.tempest.api.test_trunk.TrunkTestMtusJSON.test_create_trunk_with_mtu_equal_to_subport +- neutron.tests.tempest.api.test_trunk.TrunkTestMtusJSON.test_create_trunk_with_mtu_greater_than_subport + + +**API for listing query results:** + +These tests verify that listing operations of trunk port objects work. This +functionality is required for CLI and UI operations. + +Implementation: +`TrunksSearchCriteriaTest `_ + +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_no_pagination_limit_0 +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_asc +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_desc +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_page_reverse_with_href_links +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_with_href_links +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_pagination_with_marker +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_sorts_asc +- neutron.tests.tempest.api.test_trunk.TrunksSearchCriteriaTest.test_list_sorts_desc + + +**Query trunk port details:** + +These tests validate that all attributes of trunk port objects can be queried. + +Implementation: +`TestTrunkDetailsJSON `_ + +- neutron.tests.tempest.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_empty_trunk_details +- neutron.tests.tempest.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_trunk_details_no_subports +- neutron.tests.tempest.api.test_trunk_details.TestTrunkDetailsJSON.test_port_resource_trunk_details_with_subport + + +**Negative tests:** + +These group of tests comprise negative tests which verify that invalid operations +are handled correctly by the system under test. + +Implementation: +`TrunkTestJSON `_ + +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_add_subport_duplicate_segmentation_details +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_add_subport_passing_dict +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_add_subport_port_id_disabled_trunk +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_add_subport_port_id_uses_trunk_port_id +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_subport_invalid_inherit_network_segmentation_type +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_subport_missing_segmentation_id +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_subport_nonexistent_port_id +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_subport_nonexistent_trunk +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_duplicate_subport_segmentation_ids +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_nonexistent_port_id +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_nonexistent_subport_port_id +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_port_id +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_segmentation_id +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_create_trunk_with_subport_missing_segmentation_type +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_delete_port_in_use_by_subport +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_delete_port_in_use_by_trunk +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_delete_trunk_disabled_trunk +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_not_found +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_passing_dict +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestJSON.test_remove_subport_port_id_disabled_trunk +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestMtusJSON.test_add_subport_with_mtu_greater_than_trunk +- neutron.tests.tempest.api.test_trunk_negative.TrunkTestMtusJSON.test_create_trunk_with_mtu_smaller_than_subport + + +**Scenario tests (tests covering more than one functionality):** + +In contrast to the API tests above, these tests validate more than one specific +API capability. Instead they verify that a simple scenario (example workflow) +functions as intended. To this end, they boot up two VMs with trunk ports and +sub ports and verify connectivity between those VMs. + +Implementation: +`TrunkTest `_ + +- neutron.tests.tempest.scenario.test_trunk.TrunkTest.test_subport_connectivity +- neutron.tests.tempest.scenario.test_trunk.TrunkTest.test_trunk_subport_lifecycle -- cgit 1.2.3-korg