diff --git a/vmware_nsx_tempest/tests/api/test_network_tags.py b/vmware_nsx_tempest/tests/api/test_network_tags.py index 4b594f5173..705b49f9e6 100644 --- a/vmware_nsx_tempest/tests/api/test_network_tags.py +++ b/vmware_nsx_tempest/tests/api/test_network_tags.py @@ -126,7 +126,7 @@ class NetworkTagAddTest(BaseTagsTest): self.assertIn(tag, network['tags']) @decorators.idempotent_id('eb52eac3-5e79-4183-803a-a3d97ceb171d') - @test.attr(type='negative') + @decorators.attr(type='negative') def test_add_tag_one_char_too_long(self): tag_too_long = 'a' * (MAX_TAG_LEN + 1) network_id = self.net.get('id') @@ -135,7 +135,7 @@ class NetworkTagAddTest(BaseTagsTest): network_id, tag_too_long) @decorators.idempotent_id('d08f3fbe-dc6f-4f3c-b9b2-4d9957884edf') - @test.attr(type='negative') + @decorators.attr(type='negative') def test_add_tag_empty_one(self): network_id = self.net.get('id') self.assertRaises(exceptions.NotFound, @@ -161,7 +161,7 @@ class NetworkTagRemoveTest(BaseTagsTest): self.network_remove_tag(network_id, tag) @decorators.idempotent_id('1fe5a8b2-ff5d-4250-b930-21b1a3b48055') - @test.attr(type='negative') + @decorators.attr(type='negative') def test_remove_all_tags(self): network_id = self.net.get('id') self.network_replace_tags(network_id) @@ -172,7 +172,7 @@ class NetworkTagRemoveTest(BaseTagsTest): self.assertEqual(len(network['tags']), 0) @decorators.idempotent_id('591337b0-a2e6-4d72-984c-e5b6a6ec12d2') - @test.attr(type='negative') + @decorators.attr(type='negative') def test_remove_not_exist_tag(self): """neutron tag-remove operations.""" network_id = self.net.get('id') @@ -204,7 +204,7 @@ class NetworkTagReplaceTest(BaseTagsTest): self.network_replace_tags(network_id, empty_tags) @decorators.idempotent_id('20a05e9e-0b25-4085-b89f-fd5f0c57d2fa') - @test.attr(type='negative') + @decorators.attr(type='negative') def test_replace_tags_one_char_too_long(self): tags_too_long = ['aaa', 'z' * (MAX_TAG_LEN + 1)] network_id = self.net.get('id') diff --git a/vmware_nsx_tempest/tests/api/test_qos.py b/vmware_nsx_tempest/tests/api/test_qos.py index ada46bd11f..23a763e82b 100644 --- a/vmware_nsx_tempest/tests/api/test_qos.py +++ b/vmware_nsx_tempest/tests/api/test_qos.py @@ -334,7 +334,7 @@ class QosPolicyTest(BaseQosTest): self._disassociate_network(network['id'], self.primary_mgr) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('9efe63d0-836f-4cc2-b00c-468e63aa614e') def test_policy_association_with_network_nonexistent_policy(self): """Can not attach network to a nonexist policy.""" @@ -348,7 +348,7 @@ class QosPolicyTest(BaseQosTest): self.assertIsNone(retrieved_network['qos_policy_id'], 'Error: Network is attached to non-existent policy') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('1aa55a79-324f-47d9-a076-894a8fc2448b') def test_policy_association_with_network_non_shared_policy(self): """tenant/project can not attach network with not-shared policy.""" @@ -398,8 +398,8 @@ class QosPolicyTest(BaseQosTest): updated_port = self.show_port(port_id, client_mgr=client_mgr) self.assertIsNone(updated_port['qos_policy_id']) - @test.attr(type='nsxv3') - @test.attr(type='negative') + @decorators.attr(type='nsxv3') + @decorators.attr(type='negative') @decorators.idempotent_id('98fcd95e-84cf-4746-860e-44692e674f2e') def test_policy_association_with_port_shared_policy(self): """test port can associate shared policy.""" @@ -422,8 +422,8 @@ class QosPolicyTest(BaseQosTest): self._disassociate_port(port['id'], client_mgr=self.primary_mgr) - @test.attr(type='negative') - @test.attr(type='nsxv3') + @decorators.attr(type='negative') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('49e02f5a-e1dd-41d5-9855-cfa37f2d195e') def test_policy_association_with_port_nonexistent_policy(self): """test port cannot be created with nonexist policy.""" @@ -436,8 +436,8 @@ class QosPolicyTest(BaseQosTest): network, qos_policy_id='49e02f5a-e1dd-41d5-9855-cfa37f2d195e') - @test.attr(type='negative') - @test.attr(type='nsxv3') + @decorators.attr(type='negative') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('f53d961c-9fe5-4422-8b66-7add972c6031') def test_policy_association_with_port_non_shared_policy(self): """project/tenant can not associate port with non-shared policy.""" @@ -459,7 +459,7 @@ class QosPolicyTest(BaseQosTest): self.assertIsNone(retrieved_port['qos_policy_id'], 'Error:Port is attached to qos policy') - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('f8163237-fba9-4db5-9526-bad6d2343c76') def test_policy_update_association_with_port_shared_policy(self): """project/tenant can update port with shared policy.""" @@ -487,7 +487,7 @@ class QosPolicyTest(BaseQosTest): self._disassociate_port(port['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('18163237-8ba9-4db5-9525-bad6d2343c75') def test_delete_not_allowed_if_policy_in_use_by_network(self): """can not delete policy if used by network.""" @@ -507,8 +507,8 @@ class QosPolicyTest(BaseQosTest): self._disassociate_network(network['id'], self.admin_mgr) self.adm_qos_client.delete_policy(policy['id']) - @test.attr(type='negative') - @test.attr(type='nsxv3') + @decorators.attr(type='negative') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('24153230-84a9-4dd5-9525-bad6d2343c75') def test_delete_not_allowed_if_policy_in_use_by_port(self): """can not delete policy if used by port.""" @@ -583,7 +583,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest): self.assertEqual(base_qos.RULE_TYPE_BANDWIDTH_LIMIT, policy_rules[0]['type']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8a59b00b-ab01-4787-92f8-93a5cdf5e378') def test_rule_create_fail_for_the_same_type(self): """One bandwidth limit rule per policy.""" @@ -648,7 +648,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest): qos_client.show_bandwidth_limit_rule, rule['id'], policy['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('f211222c-5808-46cb-a961-983bbab6b852') def test_rule_create_rule_nonexistent_policy(self): """Cannot create rule with nonexist policy.""" @@ -657,7 +657,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest): self.create_qos_bandwidth_limit_rule, 'policy', max_kbps=200, max_burst_kbps=1337) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('eed8e2a6-22da-421b-89b9-935a2c1a1b50') def test_policy_create_forbidden_for_regular_tenants(self): """project/tenant cannot create policy.""" @@ -667,7 +667,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest): 'test-policy', 'test policy', False, qos_client=self.pri_qos_client) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a4a2e7ad-786f-4927-a85a-e545a93bd274') def test_rule_create_forbidden_for_regular_tenants(self): """project/tenant cannot create rule.""" @@ -740,7 +740,7 @@ class QosDscpMarkingRuleTest(BaseQosTest): self.assertEqual(base_qos.RULE_TYPE_DSCP_MARK, policy_rules[0]['type']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8b59b10b-ab01-4787-92f8-93a5cdf5e378') def test_rule_create_fail_for_the_same_type(self): """One dscp marking rule per policy.""" @@ -797,7 +797,7 @@ class QosDscpMarkingRuleTest(BaseQosTest): qos_client.show_dscp_marking_rule, rule['id'], policy['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('f215222c-5808-46cb-a961-983bbab6b852') def test_rule_create_rule_nonexistent_policy(self): """can not create dscp marking rule with nonexist policy.""" @@ -806,7 +806,7 @@ class QosDscpMarkingRuleTest(BaseQosTest): self.create_qos_dscp_marking_rule, 'policy', self.VALID_DSCP_MARK1) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a4a2e3ad-786f-4927-a85a-e545a93bd274') def test_rule_create_forbidden_for_regular_tenants(self): """project/tenant can not create dscp marking rule.""" @@ -816,7 +816,7 @@ class QosDscpMarkingRuleTest(BaseQosTest): 'policy', self.VALID_DSCP_MARK1, qos_client=self.pri_qos_client) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('32646b08-4f05-4493-a48a-bde768a18533') def test_invalid_rule_create(self): """Can not create rule with invalid dscp_mark value.""" diff --git a/vmware_nsx_tempest/tests/dvs/api/test_networks_admin_actions.py b/vmware_nsx_tempest/tests/dvs/api/test_networks_admin_actions.py index 7a9d3bb171..c15e598401 100644 --- a/vmware_nsx_tempest/tests/dvs/api/test_networks_admin_actions.py +++ b/vmware_nsx_tempest/tests/dvs/api/test_networks_admin_actions.py @@ -17,7 +17,6 @@ import base_dvs as base from tempest.lib.common.utils import data_utils from tempest.lib import decorators -from tempest import test class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest): @@ -40,7 +39,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest): cls.subnet = cls.create_subnet(cls.network) cls.cidr = cls.subnet['cidr'] - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('1dcead1d-d773-4da1-9534-0b984ca684b3') def test_create_update_delete_flat_network_subnet(self): # Create an admin network @@ -65,7 +64,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest): body = self.delete_network(net_id) self.networks.pop() - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('15d3d53c-3328-401f-b8f5-3a29aee2ea3a') def test_create_update_delete_vlan_network_subnet(self): # Create an admin network @@ -92,7 +91,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest): body = self.delete_network(net_id) self.networks.pop() - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('838aee5f-92f2-47b9-86c6-629a04aa6269') def test_show_network(self): # Verify the details of a network @@ -102,7 +101,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest): 'provider:physical_network']: self.assertEqual(network[key], self.network[key]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('b86d50ef-39a7-4136-8c89-e5e534fe92aa') def test_list_networks(self): # Verify the network exists in the list of all networks @@ -111,7 +110,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest): if network['id'] == self.network['id']] self.assertNotEmpty(networks, "Created network not found in the list") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('ee3f8b79-da3f-4394-9bea-012488202257') def test_show_subnet(self): # Verify the details of a subnet diff --git a/vmware_nsx_tempest/tests/dvs/api/test_ports_admin_actions.py b/vmware_nsx_tempest/tests/dvs/api/test_ports_admin_actions.py index c9df227b8c..ff0a7b99bd 100644 --- a/vmware_nsx_tempest/tests/dvs/api/test_ports_admin_actions.py +++ b/vmware_nsx_tempest/tests/dvs/api/test_ports_admin_actions.py @@ -16,7 +16,6 @@ import base_dvs as base from tempest.lib.common.utils import data_utils from tempest.lib import decorators -from tempest import test class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest): @@ -55,7 +54,7 @@ class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest): self.assertEqual(updated_port['name'], new_name) self.assertFalse(updated_port['admin_state_up']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('d3dcd23b-7d5a-4720-8d88-473fb154d609') def test_show_port(self): # Verify the details of port @@ -75,7 +74,7 @@ class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest): port['security_groups']) self.assertEqual(port['fixed_ips'], []) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('c5f74042-c512-4569-b9b9-bc2bf46e77e1') def test_list_ports(self): # Verify the port exists in the list of all ports @@ -85,7 +84,7 @@ class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest): self.assertNotEmpty(ports, "Created port not found in the list") @decorators.idempotent_id('2775f96c-a09b-49e1-a5a4-adb83a3e91c7') - @test.attr(type='smoke') + @decorators.attr(type='smoke') def test_list_ports_fields(self): # Verify specific fields of ports fields = ['binding:vif_type', 'id', 'mac_address'] diff --git a/vmware_nsx_tempest/tests/dvs/scenario/test_network_basic_ops.py b/vmware_nsx_tempest/tests/dvs/scenario/test_network_basic_ops.py index cc9284e0a8..a1c6b64335 100644 --- a/vmware_nsx_tempest/tests/dvs/scenario/test_network_basic_ops.py +++ b/vmware_nsx_tempest/tests/dvs/scenario/test_network_basic_ops.py @@ -166,7 +166,7 @@ class TestDvsNetworkBasicOps(manager.NetworkScenarioTest): self._check_server_connectivity(internal_ips, should_connect) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @test.services('compute', 'network') @decorators.idempotent_id('b977dce6-6527-4676-9b66-862b22058f0f') def test_network_basic_ops(self): diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_admin.py index 5043396334..c341bafe97 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_admin.py @@ -16,7 +16,6 @@ from oslo_utils import uuidutils from tempest import config from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -53,7 +52,7 @@ class TestHealthMonitors(base.BaseAdminTestCase): def resource_cleanup(cls): super(TestHealthMonitors, cls).resource_cleanup() - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('24cf7da4-b829-4df5-a133-b6cef97ec560') def test_create_health_monitor_missing_tenant_id_field(self): """Test if admin user can @@ -69,7 +68,7 @@ class TestHealthMonitors(base.BaseAdminTestCase): hm_tenant_id = hm.get('tenant_id') self.assertEqual(admin_tenant_id, hm_tenant_id) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('acbff982-15d6-43c5-a015-e72b7df30998') def test_create_health_monitor_empty_tenant_id_field(self): """Test with admin user @@ -83,7 +82,7 @@ class TestHealthMonitors(base.BaseAdminTestCase): pool_id=self.pool.get('id'), tenant_id="") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('a318d351-a72e-46dc-a094-8a751e4fa7aa') def test_create_health_monitor_for_another_tenant_id_field(self): """Test with admin user diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_non_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_non_admin.py index 176c198469..755ec6d513 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_non_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_health_monitors_non_admin.py @@ -12,7 +12,6 @@ from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -62,20 +61,20 @@ class TestHealthMonitors(base.BaseTestCase): """ return None - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('3c223a4d-3733-4daa-a6e3-69a31f9e7304') def test_list_health_monitors_empty(self): hm_list = self._list_health_monitors() self.assertEmpty(hm_list) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('76880edd-b01c-4b80-ba4d-1d10f35aaeb7') def test_list_health_monitors_one(self): hm = self._create_health_monitor(**self.create_basic_hm_kwargs) hm_list = self._list_health_monitors() self.assertIn(hm, hm_list) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('22b984d5-8284-4f7c-90c4-407d0e872ea8') def test_list_health_monitors_two(self): hm1 = self._create_health_monitor(**self.create_basic_hm_kwargs) @@ -95,28 +94,28 @@ class TestHealthMonitors(base.BaseTestCase): self.assertIn(hm1, hm_list) self.assertIn(hm2, hm_list) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('ca49b640-259c-49ee-be9c-b425a4bbd2cf') def test_get_health_monitor(self): hm = self._create_health_monitor(**self.create_basic_hm_kwargs) hm_test = self._show_health_monitor(hm.get('id')) self.assertEqual(hm, hm_test) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('80ded4c2-2277-4e19-8280-3519b22a999e') def test_create_health_monitor(self): new_hm = self._create_health_monitor(**self.create_basic_hm_kwargs) hm = self._show_health_monitor(new_hm.get('id')) self.assertEqual(new_hm, hm) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('387f669b-7a02-4ab3-880d-719dd79ff853') def test_create_health_monitor_missing_attribute(self): self.assertRaises(ex.BadRequest, self._create_health_monitor, type='HTTP', delay=3, max_retries=10, pool_id=self.pool.get('id')) - @test.attr(type=['smoke', 'negative']) + @decorators.attr(type=['smoke', 'negative']) @decorators.idempotent_id('bf2ec88e-91d3-48f5-b9f2-be3dab21445c') def test_create_health_monitor_missing_required_field_type(self): """Test if a non_admin user can @@ -127,7 +126,7 @@ class TestHealthMonitors(base.BaseTestCase): delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type=['smoke', 'negative']) + @decorators.attr(type=['smoke', 'negative']) @decorators.idempotent_id('85110a81-d905-40f1-92c0-7dafb1617915') def test_create_health_monitor_missing_required_field_delay(self): """Test if a non_admin user can @@ -138,7 +137,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', max_retries=10, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type=['smoke', 'negative']) + @decorators.attr(type=['smoke', 'negative']) @decorators.idempotent_id('10ed9396-271a-4edd-948d-93ad44df2713') def test_create_health_monitor_missing_required_field_timeout(self): """Test if a non_admin user can @@ -149,7 +148,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, pool_id=self.pool.get('id')) - @test.attr(type=['smoke', 'negative']) + @decorators.attr(type=['smoke', 'negative']) @decorators.idempotent_id('69614cb5-9078-4b93-8dfa-45d59ac240f8') def test_create_health_monitor_missing_required_field_max_retries(self): """Test if a non_admin user @@ -160,7 +159,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type=['smoke', 'negative']) + @decorators.attr(type=['smoke', 'negative']) @decorators.idempotent_id('543d1f68-1b3a-49c8-bc6c-3eb8123b6e9a') def test_create_health_monitor_missing_required_field_pool_id(self): """Test if a non_admin user @@ -170,7 +169,7 @@ class TestHealthMonitors(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_health_monitor, type='HTTP', delay=3, max_retries=10, timeout=5) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('4f8d17d2-3e52-4e34-83c7-4398b328c559') def test_create_health_monitor_missing_admin_state_up(self): """Test if a non_admin user @@ -185,7 +184,7 @@ class TestHealthMonitors(base.BaseTestCase): self.assertEqual(hm, hm_test) self.assertEqual(True, hm_test.get('admin_state_up')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('6e1066d3-f358-446e-a574-5d4ceaf0b51d') def test_create_health_monitor_missing_http_method(self): """Test if a non_admin user @@ -200,7 +199,7 @@ class TestHealthMonitors(base.BaseTestCase): self.assertEqual(hm, hm_test) self.assertEqual('GET', hm_test.get('http_method')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('9b25196f-7476-4ed7-9542-1f22a76b79f8') def test_create_health_monitor_missing_url_path(self): """Test if a non_admin user @@ -215,7 +214,7 @@ class TestHealthMonitors(base.BaseTestCase): self.assertEqual(hm, hm_test) self.assertEqual('/', hm_test.get('url_path')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('c69da922-1c46-4b9b-8b8b-2e700d506a9c') def test_create_health_monitor_missing_expected_codes(self): """Test if a non_admin user @@ -230,7 +229,7 @@ class TestHealthMonitors(base.BaseTestCase): self.assertEqual(hm, hm_test) self.assertEqual('200', hm_test.get('expected_codes')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a00cb8e0-cd0b-44d0-85b0-5935a0297e37') def test_create_health_monitor_invalid_tenant_id(self): """Test create health monitor with invalid tenant_id""" @@ -239,7 +238,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('fcd93a6d-1fec-4031-9c18-611f4f3b270e') def test_create_health_monitor_invalid_type(self): """Test create health monitor with invalid type""" @@ -247,7 +246,7 @@ class TestHealthMonitors(base.BaseTestCase): type='blah', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('3c2829d9-5d51-4bcc-b83e-f28f6e6d0bc3') def test_create_health_monitor_invalid_delay(self): """Test create health monitor with invalid delay""" @@ -255,7 +254,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay='blah', max_retries=10, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7155e366-72a2-47a0-9fcf-25e38a3ef7f7') def test_create_health_monitor_invalid_max_retries(self): """Test create health monitor with invalid max_retries""" @@ -263,7 +262,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries='blah', timeout=5, pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('fb5d0016-5ea6-4697-8049-e80473e67880') def test_create_health_monitor_invalid_timeout(self): """Test create health monitor with invalid timeout""" @@ -271,7 +270,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout='blah', pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7f3e6e95-3eac-4a46-983a-ba1fd3b0afdf') def test_create_health_monitor_invalid_pool_id(self): """Test create health monitor with invalid pool id""" @@ -279,7 +278,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('f5aacc27-3573-4749-9cb9-3261fcabf1e9') def test_create_health_monitor_invalid_admin_state_up(self): """Test if a non_admin user @@ -291,7 +290,7 @@ class TestHealthMonitors(base.BaseTestCase): pool_id=self.pool.get('id'), admin_state_up='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('0f9f2488-aefb-44c9-a08b-67b715e63091') def test_create_health_monitor_invalid_expected_codes(self): """Test if a non_admin user @@ -303,7 +302,7 @@ class TestHealthMonitors(base.BaseTestCase): pool_id=self.pool.get('id'), expected_codes='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('0d637b7f-52ea-429f-8f97-584a5a9118aa') def test_create_health_monitor_invalid_url_path(self): """Test if a non_admin user @@ -315,7 +314,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id'), url_path='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7d4061c4-1fbc-43c3-81b5-2d099a120297') def test_create_health_monitor_invalid_http_method(self): """Test if a non_admin user @@ -327,7 +326,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id'), http_method='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('b655cee7-df0d-4531-bd98-a4918d2e752a') def test_create_health_monitor_empty_type(self): """Test create health monitor with empty type""" @@ -335,7 +334,7 @@ class TestHealthMonitors(base.BaseTestCase): type='', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('d843c9f4-507e-462f-8f2b-319af23029db') def test_create_health_monitor_empty_delay(self): """Test create health monitor with empty delay""" @@ -343,7 +342,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay='', max_retries=10, timeout=5, pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('bb9cb2b0-2684-4f4d-b344-6e7b0c58b019') def test_create_health_monitor_empty_timeout(self): """Test create health monitor with empty timeout""" @@ -351,7 +350,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout='', pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('3b52441d-5e8a-4d17-b772-bd261d0c2656') def test_create_health_monitor_empty_max_retries(self): """Test create health monitor with empty max_retries""" @@ -359,7 +358,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries='', timeout=5, pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('397aa201-25c1-4828-8c60-9cee5c4d89ab') # NSX-v does reject empty pool_id def test_create_health_monitor_empty_max_pool_id(self): @@ -368,7 +367,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('e806c916-877c-41dc-bacb-aabd9684a540') # NSX-v does reject empty admin_state_up def test_create_health_monitor_empty_max_admin_state_up(self): @@ -377,7 +376,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id'), admin_state_up='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('9c8e8fe8-a3a2-481b-9ac8-eb9ecccd8330') def test_create_health_monitor_empty_max_http_method(self): """Test create health monitor with empty http_method @@ -388,7 +387,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id'), http_method='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('9016c846-fc7c-4063-9f01-61fad37c435d') def test_create_health_monitor_empty_max_url_path(self): """Test create health monitor with empty url_path @@ -399,7 +398,7 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id'), url_path='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('5df60d27-55ec-42a9-96cd-3affa611c8b1') # NSX-v does reject empty expected_codes def test_create_health_monitor_empty_expected_codes(self): @@ -408,21 +407,21 @@ class TestHealthMonitors(base.BaseTestCase): type='HTTP', delay=3, max_retries=10, timeout=5, pool_id=self.pool.get('id'), expected_codes='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('da63bd3a-89d5-40dd-b920-420263cbfd93') def test_create_health_monitor_invalid_attribute(self): self.assertRaises(ex.BadRequest, self._create_health_monitor, type='HTTP', delay=3, max_retries='twenty one', pool_id=self.pool.get('id')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('2005ded4-7d26-4946-8d22-e05bf026bd44') def test_create_health_monitor_extra_attribute(self): self.assertRaises(ex.BadRequest, self._create_health_monitor, type='HTTP', delay=3, max_retries=10, pool_id=self.pool.get('id'), subnet_id=10) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('79b4a4f9-1d2d-4df0-a11b-dd97f973dff2') def test_update_health_monitor(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -433,7 +432,7 @@ class TestHealthMonitors(base.BaseTestCase): hm.get('id'), max_retries=max_retries) self.assertEqual(max_retries, new_hm.get('max_retries')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('9496ba1f-e917-4972-883b-432e44f3cf19') def test_update_health_monitor_missing_admin_state_up(self): """Test update health monitor with missing admin state field""" @@ -444,7 +443,7 @@ class TestHealthMonitors(base.BaseTestCase): new_hm = self._update_health_monitor(hm.get('id')) self.assertEqual(True, new_hm.get('admin_state_up')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('88570f22-cb68-47b4-a020-52b75af818d3') def test_update_health_monitor_missing_delay(self): """Test update health monitor with missing delay field""" @@ -455,7 +454,7 @@ class TestHealthMonitors(base.BaseTestCase): new_hm = self._update_health_monitor(hm.get('id')) self.assertEqual(hm.get('delay'), new_hm.get('delay')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('45ace70d-28a5-405d-95cd-b2c92ccaa593') def test_update_health_monitor_missing_timeout(self): """Test update health monitor with missing timeout field""" @@ -466,7 +465,7 @@ class TestHealthMonitors(base.BaseTestCase): new_hm = self._update_health_monitor(hm.get('id')) self.assertEqual(hm.get('timeout'), new_hm.get('timeout')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('269af536-2352-4772-bf35-268df9f4542c') def test_update_health_monitor_missing_max_retries(self): """Test update health monitor with missing max retries field""" @@ -477,7 +476,7 @@ class TestHealthMonitors(base.BaseTestCase): new_hm = self._update_health_monitor(hm.get('id')) self.assertEqual(hm.get('max_retries'), new_hm.get('max_retries')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('318d972f-9cd1-42ef-9b8b-2f91ba785ac7') def test_update_health_monitor_missing_http_method(self): """Test update health monitor with missing http_method field""" @@ -488,7 +487,7 @@ class TestHealthMonitors(base.BaseTestCase): new_hm = self._update_health_monitor(hm.get('id')) self.assertEqual(hm.get('http_method'), new_hm.get('http_method')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('4b97ab67-889d-480c-bedc-f06d86479bb5') def test_update_health_monitor_missing_url_path(self): """Test update health monitor with missing url_path field""" @@ -499,7 +498,7 @@ class TestHealthMonitors(base.BaseTestCase): new_hm = self._update_health_monitor(hm.get('id')) self.assertEqual(hm.get('url_path'), new_hm.get('url_path')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('095cdb91-0937-4ae1-8b46-5edd10f00a1e') def test_update_health_monitor_missing_expected_codes(self): """Test update health monitor with missing expected_codes field""" @@ -511,7 +510,7 @@ class TestHealthMonitors(base.BaseTestCase): self.assertEqual(hm.get('expected_codes'), new_hm.get('expected_codes')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('646d74ed-9afe-4710-a677-c36f85482731') def test_update_health_monitor_invalid_attribute(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -521,7 +520,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), max_retries='blue') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('9d717551-82ab-4073-a269-8b05b67d8306') def test_update_health_monitor_invalid_admin_state_up(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -531,7 +530,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), admin_state_up='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('b865dc8a-695b-4f15-891c-e73b7402ddeb') def test_update_health_monitor_invalid_delay(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -541,7 +540,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), delay='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('813c8bc1-7ba6-4ae5-96f3-1fdb10ae7be3') def test_update_health_monitor_invalid_timeout(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -551,7 +550,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), timeout='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('05456473-5014-43ae-97a2-3790e4987526') def test_update_health_monitor_invalid_max_retries(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -561,7 +560,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), max_retries='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('1e2fb718-de77-46a3-8897-6f5aff6cab5e') def test_update_health_monitor_invalid_http_method(self): """Kilo: @decorators.skip_because(bug="1641643")""" @@ -572,7 +571,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), http_method='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('07d62a55-18b3-4b74-acb2-b73a0b5e4364') def test_update_health_monitor_invalid_url_path(self): """Kilo: @decorators.skip_because(bug="1641652")""" @@ -583,7 +582,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), url_path='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('47c96e10-4863-4635-8bc6-371d460f61bc') def test_update_health_monitor_invalid_expected_codes(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -593,7 +592,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), expected_codes='blah') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8594b3a3-70e8-4dfa-8928-18bc1cc7ab4a') def test_update_health_monitor_empty_admin_state_up(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -603,7 +602,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), admin_state_up='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('1e1b761d-5114-4931-935d-1069d66e2bb1') def test_update_health_monitor_empty_delay(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -613,7 +612,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), empty_delay='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('e6e4a6b7-50b4-465d-be02-44fd5f258bb6') def test_update_health_monitor_empty_timeout(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -623,7 +622,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), timeout='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('65d05adf-a399-4457-bd83-92c43c1eca01') def test_update_health_monitor_empty_max_retries(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -633,7 +632,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), max_retries='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('0c464bb3-ff84-4816-9237-4583e4da9881') def test_update_health_monitor_empty_empty_http_method(self): """Kilo: @decorators.skip_because(bug="1639340")""" @@ -644,7 +643,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), http_method='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('3e87c0a8-ef15-457c-a58f-270de8c5c76c') def test_update_health_monitor_empty_url_path(self): """Kilo: @decorators.skip_because(bug="1639340")""" @@ -655,7 +654,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), url_path='') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('d45189e6-db9f-44d1-b5ad-8b7691e781ee') def test_update_health_monitor_empty_expected_codes(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -665,7 +664,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), expected_codes='') - @test.attr(type=['smoke', 'negative']) + @decorators.attr(type=['smoke', 'negative']) @decorators.idempotent_id('cf70e44e-8060-494a-b577-d656726ba3d8') def test_update_health_monitor_extra_attribute(self): hm = self._create_health_monitor(type='HTTP', delay=3, @@ -675,7 +674,7 @@ class TestHealthMonitors(base.BaseTestCase): self._update_health_monitor, hm.get('id'), protocol='UDP') - @test.attr(type=['smoke', 'negative']) + @decorators.attr(type=['smoke', 'negative']) @decorators.idempotent_id('fe44e0d9-957b-44cf-806b-af7819444864') def test_delete_health_monitor(self): """Kilo: @decorators.skip_because(bug="1639340")""" diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_admin.py index 80ef50f3ef..7e1fbd232c 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_admin.py @@ -15,7 +15,6 @@ from oslo_log import log as logging from tempest import config from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -53,7 +52,7 @@ class ListenersTest(base.BaseAdminTestCase): def resource_cleanup(cls): super(ListenersTest, cls).resource_cleanup() - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('f84bfb35-7f73-4576-b2ca-26193850d2bf') def test_create_listener_empty_tenant_id(self): """Test create listener with an empty tenant id should fail @@ -70,7 +69,7 @@ class ListenersTest(base.BaseAdminTestCase): load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('71ebb8d6-ff2a-410d-a089-b086f195609d') def test_create_listener_invalid_tenant_id(self): """Test create listener with an invalid tenant id""" @@ -87,7 +86,7 @@ class ListenersTest(base.BaseAdminTestCase): listener = self._show_listener(new_listener_id) self.assertEqual(new_listener, listener) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('55eaeab9-a21e-470c-8861-5af1ded9d64a') def test_create_listener_missing_tenant_id(self): """Test create listener with an missing tenant id. diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_non_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_non_admin.py index 2867378abe..7daac282c2 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_non_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_listeners_non_admin.py @@ -15,7 +15,6 @@ from oslo_log import log as logging from tempest import config from tempest.lib import decorators from tempest.lib import exceptions -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -53,7 +52,7 @@ class ListenersTest(base.BaseTestCase): cls.listener = cls._create_listener(**cls.create_listener_kwargs) cls.listener_id = cls.listener['id'] - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('32ae6156-d809-49fc-a45b-55269660651c') def test_get_listener(self): """Test get listener""" @@ -62,7 +61,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('4013ab83-924a-4c53-982e-83388d7ad4d9') def test_list_listeners(self): """Test get listeners with one listener""" @@ -72,7 +71,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('04f58729-3f93-4616-bb9d-8baaff3542b2') def test_list_listeners_two(self): """Test get listeners with two listeners""" @@ -91,7 +90,7 @@ class ListenersTest(base.BaseTestCase): self.assertIn(new_listener, listeners) self.assertNotEqual(self.listener, new_listener) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('7989096b-95c2-4b26-86b1-5aec0a2d8386') def test_create_listener(self): """Test create listener""" @@ -108,7 +107,7 @@ class ListenersTest(base.BaseTestCase): self.assertEqual(new_listener, listener) self.assertNotEqual(self.listener, new_listener) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('f7ef7f56-b791-48e8-9bbe-838a3ed94519') def test_create_listener_missing_field_loadbalancer(self): """Test create listener with a missing required field loadbalancer""" @@ -119,7 +118,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('c392301c-3d9a-4123-85c3-124e4e3253f6') def test_create_listener_missing_field_protocol(self): """Test create listener with a missing required field protocol""" @@ -130,7 +129,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('12c1c5b5-81a9-4384-811e-7131f65f3b1b') def test_create_listener_missing_field_protocol_port(self): """Test create listener with a missing required field protocol_port""" @@ -141,7 +140,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('214a7acc-eacb-4828-ad27-b7f4774947cf') def test_create_listener_missing_admin_state_up(self): """Test create listener with a missing admin_state_up field""" @@ -158,7 +157,7 @@ class ListenersTest(base.BaseTestCase): self.assertEqual(new_listener, listener) self.assertTrue(new_listener['admin_state_up']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('86d892dd-9025-4051-a160-8bf1bbb8c64d') def test_create_listener_invalid_load_balancer_id(self): """Test create listener with an invalid load_balancer_id""" @@ -170,7 +169,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('fb430d68-e68d-4bd0-b43d-f1175ad5a819') def test_create_listener_invalid_protocol(self): """Test create listener with an invalid protocol""" @@ -182,7 +181,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8e472e7e-a5c2-4dba-ac5c-993f6e6bb229') def test_create_listener_invalid_protocol_port(self): """Test create listener with an invalid protocol_port""" @@ -194,7 +193,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('57fc90f4-95e4-4f3c-8f53-32c7282b956e') def test_create_listener_invalid_admin_state_up(self): """Test update listener with an invalid admin_state_up""" @@ -206,7 +205,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('556e1ab9-051c-4e9c-aaaa-f11d15de070b') def test_create_listener_invalid_tenant_id(self): """Test create listener with an invalid tenant id""" @@ -219,7 +218,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('59d32fd7-06f6-4466-bdd4-0be23b15970c') def test_create_listener_invalid_name(self): """Test create listener with an invalid name @@ -235,7 +234,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('95457f70-2c1a-4c14-aa80-db8e803d78a9') def test_create_listener_invalid_description(self): """Test create listener with an invalid description @@ -251,7 +250,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('177d337f-fe0c-406c-92f1-a25c0103bd0f') def test_create_listener_invalid_connection_limit(self): """Test create listener_ids @@ -267,7 +266,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8af7b033-8ff7-4bdb-8949-76809745d8a9') def test_create_listener_empty_load_balancer_id(self): """Test create listener with an empty load_balancer_id""" @@ -279,7 +278,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('242af61b-ce50-46e2-926a-6801600dcee4') def test_create_listener_empty_protocol(self): """Test create listener with an empty protocol""" @@ -291,7 +290,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('4866af4c-2b91-4bce-af58-af77f19d9119') def test_create_listener_empty_protocol_port(self): """Test create listener with an empty protocol_port""" @@ -303,7 +302,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('09636ad1-a9d5-4c03-92db-ae5d9847993d') def test_create_listener_empty_admin_state_up(self): """Test update listener with an empty admin_state_up""" @@ -315,7 +314,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('46fc3784-d676-42f7-953b-a23c1d62323d') def test_create_listener_empty_tenant_id(self): """Test create listener with an empty tenant id @@ -331,7 +330,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('b4120626-a47e-4b4e-9b64-017e595c4daf') def test_create_listener_empty_name(self): """Test create listener with an empty name""" @@ -348,7 +347,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(new_listener_id) self.assertEqual(new_listener, listener) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('af067d00-d496-4f02-87d6-40624c34d492') def test_create_listener_empty_description(self): """Test create listener with an empty description""" @@ -365,7 +364,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(new_listener_id) self.assertEqual(new_listener, listener) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('dd271757-c447-4579-a417-f9d0871b145c') def test_create_listener_empty_connection_limit(self): """Test create listener with an empty connection _limit field""" @@ -378,7 +377,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a1602217-e1b4-4f85-8a5e-d474477333f3') def test_create_listener_incorrect_attribute(self): """Test create a listener withan extra, incorrect field""" @@ -389,7 +388,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('27c443ff-3aee-4ae6-8b9a-6abf3d5443bf') def test_update_listener(self): """Test update listener""" @@ -400,7 +399,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(self.listener_id) self.assertEqual(listener.get('name'), 'new_name') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a709e4da-01ef-4dda-a336-f5e37268b5ea') def test_update_listener_invalid_tenant_id(self): """Test update listener with an invalid tenant id""" @@ -411,7 +410,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('d88dd3d5-a52f-4306-ba53-e8f6f4e1b399') def test_update_listener_invalid_admin_state_up(self): """Test update a listener with an invalid admin_state_up""" @@ -422,7 +421,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7c0efb63-90d9-43d0-b959-eb841ef39832') def test_update_listener_invalid_name(self): """Test update a listener with an invalid name @@ -436,7 +435,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('ba9bfad8-dbb0-4cbc-b2e3-52bf72bc1fc5') def test_update_listener_invalid_description(self): """Test update a listener with an invalid description @@ -450,7 +449,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('dcafa50b-cece-4904-bcc9-a0dd1ac99a7e') def test_update_listener_invalid_connection_limit(self): """Test update a listener with an invalid connection_limit""" @@ -461,7 +460,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('27e009c5-3c79-414d-863d-24b731f03123') def test_update_listener_incorrect_attribute(self): """Test update a listener with an extra, incorrect field""" @@ -476,7 +475,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('e8bdd948-7bea-494b-8a4a-e730b70f2882') def test_update_listener_missing_name(self): """Test update listener with a missing name""" @@ -489,7 +488,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(self.listener_id) self.assertEqual(listener.get('name'), old_name) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('7e0194b8-9315-452d-9de5-d48f227b626f') def test_update_listener_missing_description(self): """Test update listener with a missing description""" @@ -502,7 +501,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(self.listener_id) self.assertEqual(listener.get('description'), old_description) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('285dd3f2-fcb8-4ccb-b9ce-d6207b29a2f8') def test_update_listener_missing_admin_state_up(self): """Test update listener with a missing admin_state_up""" @@ -515,7 +514,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(self.listener_id) self.assertEqual(listener.get('admin_state_up'), old_admin_state_up) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('5c510338-0f8a-4d1e-805b-f8458f2e80ee') def test_update_listener_missing_connection_limit(self): """Test update listener with a missing connection_limit""" @@ -529,7 +528,7 @@ class ListenersTest(base.BaseTestCase): self.assertEqual(listener.get('connection_limit'), old_connection_limit) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('677205d9-9d97-4232-a8e3-d17ebf42ff05') def test_update_listener_empty_tenant_id(self): """Test update listener with an empty tenant id""" @@ -540,7 +539,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('6e9f8fdb-48b0-4c4e-9b29-460576b125ff') def test_update_listener_empty_admin_state_up(self): """Test update a listener with an empty admin_state_up""" @@ -551,7 +550,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('cf619b8d-1916-4144-85c7-e5a34e0d7a2b') def test_update_listener_empty_name(self): """Test update a listener with an empty name""" @@ -562,7 +561,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(self.listener_id) self.assertEqual(listener.get('name'), "") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('a9b6f721-c3c1-4d22-a3e5-7e89b58fa3a7') def test_update_listener_empty_description(self): """Test update a listener with an empty description""" @@ -573,7 +572,7 @@ class ListenersTest(base.BaseTestCase): listener = self._show_listener(self.listener_id) self.assertEqual(listener.get('description'), "") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7ddcf46b-068b-449c-9dde-ea4021dd76bf') def test_update_listener_empty_connection_limit(self): """Test update a listener with an empty connection_limit""" @@ -584,7 +583,7 @@ class ListenersTest(base.BaseTestCase): self._check_status_tree(load_balancer_id=self.load_balancer_id, listener_ids=[self.listener_id]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('c891c857-fa89-4775-92d8-5320321b86cd') def test_delete_listener(self): """Test delete listener""" diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_admin.py index b434ff13ea..375ce92986 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_admin.py @@ -16,7 +16,6 @@ import testtools from tempest import config from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -47,7 +46,7 @@ class LoadBalancersTest(base.BaseAdminTestCase): cls._create_active_load_balancer(**cls.create_lb_kwargs) cls.load_balancer_id = cls.load_balancer['id'] - @test.attr(type='smoke') + @decorators.attr(type='smoke') @testtools.skipIf('1641902' in CONF.nsxv.bugs_to_resolve, "skip_because bug=1641902") @decorators.idempotent_id('0008ae1e-77a2-45d9-b81e-0e3119b5a26d') @@ -67,7 +66,7 @@ class LoadBalancersTest(base.BaseAdminTestCase): admin_lb.get('tenant_id')) self._wait_for_load_balancer_status(load_balancer['id']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @testtools.skipIf('1715126' in CONF.nsxv.bugs_to_resolve, "skip_because bug=1715126") @decorators.idempotent_id('37620941-47c1-40b2-84d8-db17ff823ebc') @@ -85,7 +84,7 @@ class LoadBalancersTest(base.BaseAdminTestCase): self.subnet['tenant_id']) self._wait_for_load_balancer_status(load_balancer['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('5bf483f5-ae28-47f5-8805-642da0ffcb40') # Empty tenant_id causing ServerFault def test_create_load_balancer_empty_tenant_id_field(self): @@ -99,7 +98,7 @@ class LoadBalancersTest(base.BaseAdminTestCase): wait=False, tenant_id="") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('19fc8a44-1280-49f3-be5b-0d30e6e43363') # NSX-v: 2nd tenant_id at the same subnet not supported; got serverFault def test_create_load_balancer_for_another_tenant(self): diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_non_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_non_admin.py index e18e31e9e0..93cdb3f621 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_non_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_load_balancers_non_admin.py @@ -18,7 +18,6 @@ import testtools from tempest import config from tempest.lib import decorators from tempest.lib import exceptions -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -49,7 +48,7 @@ class LoadBalancersTest(base.BaseTestCase): cls._create_active_load_balancer(**cls.create_lb_kwargs) cls.load_balancer_id = cls.load_balancer['id'] - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('b7ea6c09-e077-4a67-859b-b2cd01e3b46b') def test_list_load_balancers(self): """Test list load balancers with one load balancer""" @@ -57,7 +56,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertEqual(len(load_balancers), 1) self.assertIn(self.load_balancer, load_balancers) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('8c2302df-ca94-4950-9826-eb996630a392') def test_list_load_balancers_two(self): """Test list load balancers with two load balancers""" @@ -71,7 +70,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertIn(new_load_balancer, load_balancers) self.assertNotEqual(self.load_balancer, new_load_balancer) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('56345a78-1d53-4c05-9d7b-3e5cf34c22aa') def test_get_load_balancer(self): """Test get load balancer""" @@ -79,7 +78,7 @@ class LoadBalancersTest(base.BaseTestCase): self.load_balancer_id) self.assertEqual(self.load_balancer, load_balancer) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('5bf80330-d908-4025-9467-bca1727525c8') def test_create_load_balancer(self): """Test create load balancer""" @@ -92,7 +91,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertEqual(new_load_balancer, load_balancer) self.assertNotEqual(self.load_balancer, new_load_balancer) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('66bf5390-154f-4627-af61-2c1c30325d6f') def test_create_load_balancer_missing_vip_subnet_id_field(self): """Test create load balancer @@ -104,7 +103,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, tenant_id=self.subnet['tenant_id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8e78a7e6-2da3-4f79-9f66-fd1447277883') def test_create_load_balancer_empty_provider_field(self): """Test create load balancer with an empty provider field""" @@ -113,7 +112,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, provider="") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('def37122-3f9a-47f5-b7b5-b5c0d5e7e5ca') def test_create_load_balancer_empty_description_field(self): """Test create load balancer with an empty description field""" @@ -122,7 +121,7 @@ class LoadBalancersTest(base.BaseTestCase): self.addCleanup(self._delete_load_balancer, load_balancer['id']) self.assertEqual(load_balancer.get('description'), "") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('69944c74-3ea1-4c06-8d28-82120721a13e') def test_create_load_balancer_empty_vip_address_field(self): """Test create load balancer with empty vip_address field""" @@ -132,7 +131,7 @@ class LoadBalancersTest(base.BaseTestCase): vip_subnet_id=self.subnet['id'], vip_address="") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('63bbe788-f3a6-444f-89b3-8c740425fc39') def test_create_load_balancer_missing_admin_state_up(self): """Test create load balancer with a missing admin_state_up field""" @@ -141,7 +140,7 @@ class LoadBalancersTest(base.BaseTestCase): self.addCleanup(self._delete_load_balancer, load_balancer['id']) self.assertEqual(load_balancer.get('admin_state_up'), True) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('499f164a-e926-47a6-808a-14f3c29d04c9') def test_create_load_balancer_empty_admin_state_up_field(self): """Test create load balancer with empty admin_state_up field""" @@ -151,7 +150,7 @@ class LoadBalancersTest(base.BaseTestCase): vip_subnet_id=self.subnet['id'], admin_state_up="") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('e4511356-0e78-457c-a310-8515b2dedad4') def test_create_load_balancer_missing_name(self): """Test create load balancer with a missing name field""" @@ -161,7 +160,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertEqual(load_balancer.get('name'), '') self._wait_for_load_balancer_status(load_balancer['id']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('6bd4a92c-7498-4b92-aeae-bce0b74608e3') def test_create_load_balancer_empty_name(self): """Test create load balancer with an empty name field""" @@ -171,7 +170,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertEqual(load_balancer.get('name'), "") self._wait_for_load_balancer_status(load_balancer['id']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('e605b1ea-5179-4035-8100-c24d0164a5a5') def test_create_load_balancer_missing_description(self): """Test create load balancer with a missing description field""" @@ -181,7 +180,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertEqual(load_balancer.get('description'), '') self._wait_for_load_balancer_status(load_balancer['id']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('9f718024-340b-405f-817f-311392353c32') def test_create_load_balancer_missing_vip_address(self): """Test create load balancer @@ -200,7 +199,7 @@ class LoadBalancersTest(base.BaseTestCase): load_balancer_final = load_balancer['vip_address'] self.assertEqual(load_balancer_ip_initial, load_balancer_final) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('f599ccbd-73e8-4e27-96a5-d9e0e3419a9f') def test_create_load_balancer_missing_provider_field(self): """Test create load balancer with a missing provider field""" @@ -213,7 +212,7 @@ class LoadBalancersTest(base.BaseTestCase): load_balancer_final = load_balancer['provider'] self.assertEqual(load_balancer_initial, load_balancer_final) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('377166eb-f581-4383-bc2e-54fdeed73e42') def test_create_load_balancer_invalid_vip_subnet_id(self): """Test create load balancer with an invalid vip subnet id""" @@ -222,7 +221,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, vip_subnet_id="abc123") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('512bec06-5259-4e93-b482-7ec3346c794a') def test_create_load_balancer_empty_vip_subnet_id(self): """Test create load balancer with an empty vip subnet id""" @@ -231,7 +230,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, vip_subnet_id="") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('02bd6d0e-820e-46fb-89cb-1d335e7aaa02') def test_create_load_balancer_invalid_tenant_id(self): """Test create load balancer with an invalid tenant id""" @@ -240,7 +239,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, tenant_id="&^%123") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('b8c56e4a-9644-4119-8fc9-130841caf662') def test_create_load_balancer_invalid_name(self): """Test create load balancer with an invalid name @@ -254,7 +253,7 @@ class LoadBalancersTest(base.BaseTestCase): vip_subnet_id=self.subnet['id'], name='n' * 256) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('d638ae60-7de5-45da-a7d9-53eca4998980') def test_create_load_balancer_invalid_description(self): """Test create load balancer with an invalid description @@ -268,7 +267,7 @@ class LoadBalancersTest(base.BaseTestCase): vip_subnet_id=self.subnet['id'], description='d' * 256) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('56768aa6-b26e-48aa-8118-956c62930d79') def test_create_load_balancer_incorrect_attribute(self): """Test create a load balancer with an extra, incorrect field""" @@ -279,7 +278,7 @@ class LoadBalancersTest(base.BaseTestCase): vip_subnet_id=self.subnet['id'], protocol_port=80) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('a130e70f-9d76-4bff-89de-3e564952b244') def test_create_load_balancer_missing_tenant_id_field(self): """Test create load balancer with a missing tenant id field""" @@ -290,7 +289,7 @@ class LoadBalancersTest(base.BaseTestCase): self.subnet['tenant_id']) self._wait_for_load_balancer_status(load_balancer['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('25261cca-0c38-4dc8-bb40-f7692035740f') def test_create_load_balancer_empty_tenant_id_field(self): """Test create load balancer with empty tenant_id field""" @@ -300,7 +299,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, tenant_id="") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('10de328d-c754-484b-841f-313307f92935') def test_create_load_balancer_other_tenant_id_field(self): """Test create load balancer for other tenant""" @@ -311,7 +310,7 @@ class LoadBalancersTest(base.BaseTestCase): vip_subnet_id=self.subnet['id'], tenant_id=tenant) - @test.attr(type='negative') + @decorators.attr(type='negative') @testtools.skipIf('1703396' in CONF.nsxv.bugs_to_resolve, "skip_because bug=1703396") @decorators.idempotent_id('9963cbf5-97d0-4ab9-96e5-6cbd65c98714') @@ -322,7 +321,7 @@ class LoadBalancersTest(base.BaseTestCase): vip_subnet_id=self.subnet['id'], flavor_id="NO_SUCH_FLAVOR") - @test.attr(type='negative') + @decorators.attr(type='negative') @testtools.skipIf('1703396' in CONF.nsxv.bugs_to_resolve, "skip_because bug=1703396") @decorators.idempotent_id('f7319e32-0fad-450e-8f53-7567f56e8223') @@ -334,7 +333,7 @@ class LoadBalancersTest(base.BaseTestCase): flavor_id="NO_SUCH_FLAVOR", provider="NO_SUCH_PROVIDER") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('1d92d98f-550f-4f05-a246-cdf4525459a2') def test_update_load_balancer(self): """Test update load balancer""" @@ -344,7 +343,7 @@ class LoadBalancersTest(base.BaseTestCase): self.load_balancer_id) self.assertEqual(load_balancer.get('name'), 'new_name') - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('474ca200-8dea-4d20-8468-abc0169a445b') def test_update_load_balancer_empty_name(self): """Test update load balancer with empty name""" @@ -354,7 +353,7 @@ class LoadBalancersTest(base.BaseTestCase): self.load_balancer_id) self.assertEqual(load_balancer.get('name'), "") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('551be885-215d-4941-8870-651cbc871162') def test_update_load_balancer_invalid_name(self): """Test update load balancer with invalid name @@ -367,7 +366,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, name='a' * 256) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('62eef0ba-3859-4c8f-9e6a-8d6918754597') def test_update_load_balancer_missing_name(self): """Test update load balancer with missing name""" @@ -380,7 +379,7 @@ class LoadBalancersTest(base.BaseTestCase): load_balancer_new = load_balancer['name'] self.assertEqual(load_balancer_initial, load_balancer_new) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('ab3550c6-8b21-463c-bc5d-e79cbae3432f') def test_update_load_balancer_invalid_description(self): """Test update load balancer with invalid description @@ -393,7 +392,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, description='a' * 256) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('157ebdbf-4ad2-495d-b880-c1b1a8edc46d') def test_update_load_balancer_empty_description(self): """Test update load balancer with empty description""" @@ -403,7 +402,7 @@ class LoadBalancersTest(base.BaseTestCase): self.load_balancer_id) self.assertEqual(load_balancer.get('description'), "") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('d13fa2f5-e8df-4d53-86a8-68583941200c') def test_update_load_balancer_missing_description(self): """Test update load balancer with missing description""" @@ -416,7 +415,7 @@ class LoadBalancersTest(base.BaseTestCase): load_balancer_new = load_balancer['description'] self.assertEqual(load_balancer_initial, load_balancer_new) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('96e46a1a-62e7-47f1-98c5-9983f89e622f') def test_update_load_balancer_invalid_admin_state_up_field(self): """Test update load balancer with an invalid admin_state_up""" @@ -426,7 +425,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, admin_state_up="a&^%$jbc123") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('48f1e227-8b15-4389-a050-7ce76f4b4d46') def test_update_load_balancer_empty_admin_state_up_field(self): """Test update load balancer with an empty admin_state_up""" @@ -436,7 +435,7 @@ class LoadBalancersTest(base.BaseTestCase): wait=False, admin_state_up="") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('a9182e53-ddaa-4f41-af54-585d983279ba') def test_update_load_balancer_missing_admin_state_up(self): """Test update load balancer with missing admin state field""" @@ -446,7 +445,7 @@ class LoadBalancersTest(base.BaseTestCase): self._update_load_balancer(self.load_balancer_id) self.assertEqual(load_balancer_initial, True) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('bfbe9339-d083-4a88-b6d6-015522809c3a') def test_update_load_balancer_incorrect_attribute(self): """Test update a load balancer with an extra, invalid attribute""" @@ -459,7 +458,7 @@ class LoadBalancersTest(base.BaseTestCase): admin_state_up=True, port=80) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('d2258984-6e9a-41d6-bffa-0543c8b1f2b0') def test_get_load_balancer_status_tree(self): """Test get load balancer status tree""" @@ -470,7 +469,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertEqual("ACTIVE", load_balancer['provisioning_status']) self.assertEmpty(load_balancer['listeners']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('a23677a9-b770-4894-8be9-cd66590c228b') def test_get_load_balancer_stats(self): """Test get load balancer stats""" @@ -481,7 +480,7 @@ class LoadBalancersTest(base.BaseTestCase): self.assertEqual(0, stats['total_connections']) self.assertEqual(0, stats['active_connections']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('f289f8df-a867-45cd-bee3-7ff08f5e96e0') def test_delete_load_balancer(self): """Test delete load balancer""" diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_admin.py index 968cfb331d..cce7ad67d3 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_admin.py @@ -15,7 +15,6 @@ from oslo_log import log as logging from tempest import config from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -54,7 +53,7 @@ class MemberTest(base.BaseAdminTestCase): def resource_cleanup(cls): super(MemberTest, cls).resource_cleanup() - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('03eeec24-78d8-4c2f-8d6c-4a78817f352e') def test_create_member_invalid_tenant_id(self): """Test create member with invalid tenant_id""" @@ -69,7 +68,7 @@ class MemberTest(base.BaseAdminTestCase): self.assertEqual(member['subnet_id'], self.subnet_id) self.assertEqual(member['tenant_id'], "$232!$pw") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('01c9ea0c-bdfe-4108-95d1-69ecdc0a1f26') def test_create_member_empty_tenant_id(self): """Test create member with an empty tenant_id should fail diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_non_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_non_admin.py index ade628d6e3..1595c91380 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_non_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_members_non_admin.py @@ -15,7 +15,6 @@ from oslo_log import log as logging from tempest import config from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -58,7 +57,7 @@ class MemberTest(base.BaseTestCase): def resource_cleanup(cls): super(MemberTest, cls).resource_cleanup() - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('6dcdc53c-52cf-4b6e-aeec-d13df68ed001') def test_list_empty_members(self): """Test that pool members are empty.""" @@ -66,7 +65,7 @@ class MemberTest(base.BaseTestCase): self.assertEmpty(members, msg='Initial pool was supposed to be empty') - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('346e49ce-0665-4995-a03a-b007052d3619') def test_list_3_members(self): """Test that we can list members. """ @@ -85,7 +84,7 @@ class MemberTest(base.BaseTestCase): found_member_ips = set([m["address"] for m in members]) self.assertEqual(found_member_ips, member_ips_exp) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('3121bbdc-81e4-40e3-bf66-3ceefd72a0f5') def test_add_member(self): """Test that we can add a single member.""" @@ -103,7 +102,7 @@ class MemberTest(base.BaseTestCase): self.assertEqual(True, member["admin_state_up"]) self.assertEqual(1, member["weight"]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('fc513a45-4c24-42ea-8807-a9b86a81ee56') def test_get_member(self): """Test that we can fetch a member by id.""" @@ -118,7 +117,7 @@ class MemberTest(base.BaseTestCase): self.assertEqual(member_opts["protocol_port"], member["protocol_port"]) self.assertEqual(member_opts["subnet_id"], member["subnet_id"]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('2cead036-5a63-43a4-9d9d-03c9b744c101') def test_create_member_missing_required_field_tenant_id(self): """Test if a non_admin user can create a member_opts @@ -132,7 +131,7 @@ class MemberTest(base.BaseTestCase): member = self._create_member(self.pool_id, **member_opts) self.addCleanup(self._delete_member, self.pool_id, member['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('d7ed0870-a065-4fbd-8d95-0ea4d12063c2') def test_create_member_missing_required_field_address(self): """Test create a member with missing field address""" @@ -142,7 +141,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8d2b9a53-aac7-4fb9-b068-47647289aa21') def test_create_member_missing_required_field_protocol_port(self): """Test create a member with missing field protocol_port""" @@ -152,7 +151,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('9710cd4c-aac0-4b71-b295-82a88c67b0b8') def test_create_member_missing_required_field_subnet_id(self): """Test create a member with missing field subnet_id """ @@ -162,7 +161,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a6814c49-758d-490a-9557-ef03f0d78c44') def test_raises_BadRequest_when_missing_attrs_during_member_create(self): """Test failure on missing attributes on member create.""" @@ -170,7 +169,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('840bfa84-1d16-4149-a863-6f7afec1682f') def test_create_member_invalid_tenant_id(self): """Test create member with invalid tenant_id""" @@ -182,7 +181,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a99dbd0a-5f8c-4c96-8900-1a7d297d913b') def test_create_member_invalid_address(self): """Test create member with invalid address""" @@ -193,7 +192,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('736b0771-b98c-4045-97e0-a44e4e18c22e') def test_create_member_invalid_protocol_port(self): """Test create member with invalid protocol_port""" @@ -204,7 +203,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('2cc67f5a-3f66-427e-90b8-59a3da5c1d21') def test_create_member_invalid_subnet_id(self): """Test create member with invalid subnet_id""" @@ -215,7 +214,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('3403c6f5-5a30-4115-ac3a-8a22855fd614') def test_create_member_invalid_admin_state_up(self): """Test create member with invalid admin_state_up""" @@ -227,7 +226,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('b12216ec-3442-4239-ba2c-dd17640449d1') def test_create_member_invalid_weight(self): """Test create member with invalid weight""" @@ -239,7 +238,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('88eb464b-4de6-4ed7-a1e8-bc61581a5c6e') def test_create_member_empty_tenant_id(self): """Test create member with an empty tenant_id""" @@ -251,7 +250,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('238cd859-2b60-4e42-b356-c6b38768c3e4') def test_create_member_empty_address(self): """Test create member with an empty address""" @@ -262,7 +261,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('834905ac-5c95-4dfc-900c-1676b6c28247') def test_create_member_empty_protocol_port(self): """Test create member with an empty protocol_port""" @@ -273,7 +272,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a0f2148e-160e-4b12-8e30-567a0448d179') def test_create_member_empty_subnet_id(self): """Test create member with empty subnet_id""" @@ -284,7 +283,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('63cd5897-b82c-4508-8be7-3b7ccab21798') def test_create_member_empty_admin_state_up(self): """Test create member with an empty admin_state_up""" @@ -296,7 +295,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('55f16682-74a2-4df7-a6b3-2da3623f4a41') def test_create_member_empty_weight(self): """Test create member with an empty weight""" @@ -308,7 +307,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('c99f6146-2c85-4a32-a850-942d6836c175') def test_delete_member(self): """Test that we can delete a member by id.""" @@ -321,7 +320,7 @@ class MemberTest(base.BaseTestCase): members = self._list_members(self.pool_id) self.assertEmpty(members) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('7d51aa2d-9582-4160-b07b-bf3c3b3e335e') def test_update_member(self): """Test that we can update a member.""" @@ -341,7 +340,7 @@ class MemberTest(base.BaseTestCase): self.assertFalse(member["admin_state_up"]) self.assertEqual(10, member["weight"]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('101555d6-c472-45e4-b302-b2916ab6fad5') def test_update_member_missing_admin_state_up(self): """Test that we can update a member with missing admin_state_up.""" @@ -358,7 +357,7 @@ class MemberTest(base.BaseTestCase): self.assertEqual(True, member["admin_state_up"]) self.assertEqual(10, member["weight"]) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('815c037b-7e3b-474d-a4f6-eec26b44d677') def test_update_member_missing_weight(self): """Test that we can update a member with missing weight.""" @@ -375,7 +374,7 @@ class MemberTest(base.BaseTestCase): self.assertFalse(member["admin_state_up"]) self.assertEqual(1, member["weight"]) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('3ab3bb11-e287-4693-8ea0-5cfbb4cc2c85') def test_update_member_invalid_admin_state_up(self): """Test that we can update a member with empty admin_state_up.""" @@ -390,7 +389,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_member, self.pool_id, member_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('71979c3b-08d6-449b-8de2-1eefc9d0db0e') def test_update_member_invalid_weight(self): """Test that we can update a member with an empty weight.""" @@ -405,7 +404,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_member, self.pool_id, member_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('e1470212-0a36-4d8c-8e30-1f69a8d31ae1') def test_update_member_empty_admin_state_up(self): """Test that we can update a member with empty admin_state_up.""" @@ -420,7 +419,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_member, self.pool_id, member_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('cd1e276c-b220-439d-a9dc-823a10d11b6a') def test_update_member_empty_weight(self): """Test that we can update a member with an empty weight.""" @@ -435,7 +434,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_member, self.pool_id, member_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('25779006-1e2c-4155-9126-49f45e7646a3') def test_raises_immutable_when_updating_immutable_attrs_on_member(self): """Test failure on immutable attribute on member create.""" @@ -449,7 +448,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_member, self.pool_id, member_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a332ecda-bb18-4cc2-b847-c09a72d90fd1') def test_raises_exception_on_invalid_attr_on_create(self): """Test failure on invalid attribute on member create.""" @@ -458,7 +457,7 @@ class MemberTest(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._create_member, self.pool_id, **member_opts) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('bc4c3eb5-14d5-43dd-93cb-603801fa6f32') def test_raises_exception_on_invalid_attr_on_update(self): """Test failure on invalid attribute on member update.""" diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_admin.py index cfd310694a..a0e6248944 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_admin.py @@ -12,7 +12,6 @@ from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -62,7 +61,7 @@ class TestPools(base.BaseAdminTestCase): self.addCleanup(self._delete_pool, response['id']) return response - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('71b9d3e1-3f13-4c84-a905-054c9cd3d4aa') def test_create_pool_using_empty_tenant_field(self): """Test create pool with empty tenant field should fail @@ -74,7 +73,7 @@ class TestPools(base.BaseAdminTestCase): tenant_id="", lb_algorithm='ROUND_ROBIN') - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('f782967d-8dca-4d7b-b625-bfd811379b42') def test_create_pool_missing_tenant_id_for_other_tenant(self): """Test create pool with a missing tenant id field. @@ -89,7 +88,7 @@ class TestPools(base.BaseAdminTestCase): pool_tenant = pool['tenant_id'] self.assertNotEqual(pool_tenant, self.subnet['tenant_id']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('140c4c95-3d12-47d7-9b20-cc3c60e24af9') def test_create_pool_missing_tenant_id_for_admin(self): """Test create pool with a missing tenant id field. @@ -103,7 +102,7 @@ class TestPools(base.BaseAdminTestCase): pool_tenant = pool['tenant_id'] self.assertEqual(pool_tenant, pool.get('tenant_id')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('1cf07f5c-7609-4b64-b5b8-f27050860132') def test_create_pool_for_another_tenant(self): """Test create pool for other tenant field""" diff --git a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_non_admin.py b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_non_admin.py index 4e94da57ea..9e810319fd 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_non_admin.py +++ b/vmware_nsx_tempest/tests/nsxv/api/lbaas/test_pools_non_admin.py @@ -12,7 +12,6 @@ from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.tests.nsxv.api.lbaas import base @@ -70,14 +69,14 @@ class TestPools(base.BaseTestCase): self.addCleanup(self._delete_pool, response['id']) return response - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('99154002-e598-4277-b6d8-bf0fe10f276f') def test_list_pools_empty(self): """Test get pools when empty""" pools = self._list_pools() self.assertEmpty(pools) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('4f09b544-8e82-4313-b452-8fe3ca5ad14e') def test_list_pools_one(self): """Test get pools with one pool""" @@ -87,7 +86,7 @@ class TestPools(base.BaseTestCase): self.assertEqual(1, len(pools)) self.assertIn(new_pool, pools) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('7562b846-a685-49ea-9d41-afcaff418bae') def test_list_pools_two(self): """Test get pools with two pools""" @@ -98,7 +97,7 @@ class TestPools(base.BaseTestCase): self.assertIn(new_pool1, pools) self.assertIn(new_pool2, pools) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('0cf61c6a-efd5-4859-9d92-da204f5ec1ed') def test_get_pool(self): """Test get pool""" @@ -106,7 +105,7 @@ class TestPools(base.BaseTestCase): pool = self._show_pool(new_pool.get('id')) self.assertEqual(new_pool, pool) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('7fc310a0-7640-4f7c-8cdb-53b6ae23bd52') def test_create_pool(self): """Test create pool""" @@ -114,7 +113,7 @@ class TestPools(base.BaseTestCase): pool = self._show_pool(new_pool.get('id')) self.assertEqual(new_pool, pool) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('5f414612-4f8c-4f48-ac99-286356870fae') def test_create_pool_missing_required_fields(self): """Test create pool with a missing required fields""" @@ -123,7 +122,7 @@ class TestPools(base.BaseTestCase): tenant_id=tenant_id, lb_algorithm='ROUND_ROBIN') - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('7fe53b0c-d7b8-4283-aeb3-eeeb3219e42f') def test_create_pool_missing_tenant_field(self): """Test create pool with a missing required tenant field""" @@ -135,7 +134,7 @@ class TestPools(base.BaseTestCase): pool_tenant = pool['tenant_id'] self.assertEqual(tenant_id, pool_tenant) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7d17e507-99c2-4e8f-a403-27b630b403a2') def test_create_pool_missing_protocol_field(self): """Test create pool with a missing required protocol field""" @@ -152,7 +151,7 @@ class TestPools(base.BaseTestCase): listener_id=listener_id, lb_algorithm='ROUND_ROBIN') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('99051cc6-bf51-4af0-b530-edbfb7d4b7ab') def test_create_pool_missing_lb_algorithm_field(self): """Test create pool with a missing required lb algorithm field""" @@ -169,7 +168,7 @@ class TestPools(base.BaseTestCase): listener_id=listener_id, protocol='HTTP') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('d04b75fe-688b-4713-83d1-f0ac29005391') def test_create_pool_missing_listener_id_field(self): """Test create pool with a missing required listener id field""" @@ -179,7 +178,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', protocol='HTTP') - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('378c56b4-cf61-448b-8460-1ffb1a091ea5') def test_create_pool_missing_description_field(self): """Test create pool with missing description field""" @@ -189,7 +188,7 @@ class TestPools(base.BaseTestCase): desc = pool_initial.get('description') self.assertEqual(desc, "") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('f73ff259-7fbb-41ac-ab92-c6eef0213e20') def test_create_pool_missing_name_field(self): """Test create pool with a missing name field""" @@ -198,7 +197,7 @@ class TestPools(base.BaseTestCase): name = pool_initial.get('name') self.assertEqual(name, "") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('37957c70-6979-4e15-a316-8c29cb7e724e') def test_create_pool_missing_admin_state_up_field(self): """Test create pool with a missing admin_state_up field""" @@ -207,7 +206,7 @@ class TestPools(base.BaseTestCase): state = pool_initial.get('admin_state_up') self.assertEqual(state, True) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('d1e41b4b-fe79-4bec-bc94-5934995c6e05') def test_create_pool_missing_session_pers_field(self): """Test create pool with a missing session_pers field""" @@ -216,7 +215,7 @@ class TestPools(base.BaseTestCase): sess = pool_initial.get('session_persistence') self.assertIsNone(sess) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('440b3975-b7c8-4cff-85a5-a0a02ad6b8f9') def test_create_pool_invalid_protocol(self): """Test create pool with an invalid protocol""" @@ -225,7 +224,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a0b322b1-629c-483c-9136-397fc9100e48') def test_create_pool_invalid_session_persistence_field(self): """Test create pool with invalid session persistance field""" @@ -235,7 +234,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('53cd9427-29fa-4a55-adb8-9cb6388b9548') def test_create_pool_invalid_algorithm(self): """Test create pool with an invalid algorithm""" @@ -244,7 +243,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='LEAST_CON', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('26e6bb34-4b0f-4650-a5dc-87484fa55038') def test_create_pool_invalid_admin_state_up(self): """Test create pool with an invalid admin state up field""" @@ -254,7 +253,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('8df02129-2b9c-4628-a390-805967107090') def test_create_pool_invalid_listener_field(self): """Test create pool with invalid listener field""" @@ -265,7 +264,7 @@ class TestPools(base.BaseTestCase): protocol='HTTP', listener_id="$@5$%$7863") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('94949cd4-ebc1-4af5-a220-9ebb32772fbc') def test_create_pool_invalid_tenant_id_field(self): """Test create pool with invalid tenant_id field""" @@ -282,7 +281,7 @@ class TestPools(base.BaseTestCase): protocol='HTTP', listener_id=listener_id) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('e335db64-ad16-4e23-bd60-c72c37c7b188') def test_create_pool_incorrect_attribute(self): """Test create a pool with an extra, incorrect field""" @@ -292,7 +291,7 @@ class TestPools(base.BaseTestCase): protocol_port=80, listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('390053c1-adc9-4b1a-8eb0-dbdb9085cf0f') def test_create_pool_empty_listener_field(self): """Test create pool with empty listener field""" @@ -303,7 +302,7 @@ class TestPools(base.BaseTestCase): protocol='HTTP', listener_id="") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('8b25defa-8efc-47f5-a43d-3d299d7b9752') def test_create_pool_empty_description_field(self): """Test create pool with empty description field""" @@ -312,7 +311,7 @@ class TestPools(base.BaseTestCase): pool_desc = pool.get('description') self.assertEqual(pool_desc, '') - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('c8cd496c-7698-4c0e-bbed-fe9ef6c910de') def test_create_pool_empty_name_field(self): """Test create pool with empty name field""" @@ -321,7 +320,7 @@ class TestPools(base.BaseTestCase): pool_name = pool.get('name') self.assertEqual(pool_name, '') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('b7997d71-84ea-43d2-8ce0-eea4156cc952') def test_create_pool_empty_protocol(self): """Test create pool with an empty protocol""" @@ -330,7 +329,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('bffe50bb-8be5-4ed9-aea6-a15b40342599') def test_create_pool_empty_session_persistence_field(self): """Test create pool with empty session persistence field""" @@ -340,7 +339,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('4cfd301a-baae-462d-8041-84c337e95d16') def test_create_pool_empty_algorithm(self): """Test create pool with an empty algorithm""" @@ -349,7 +348,7 @@ class TestPools(base.BaseTestCase): lb_algorithm="", listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('814de2e3-a536-4ab1-a80f-9506b11c7bc8') def test_create_pool_empty_admin_state_up(self): """Test create pool with an invalid admin state up field""" @@ -358,7 +357,7 @@ class TestPools(base.BaseTestCase): admin_state_up="", lb_algorithm='ROUND_ROBIN') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('0f230e6d-057d-4da8-a42d-f32464ae1c47') def test_create_pool_empty_tenant_field(self): """Test create pool with empty tenant field""" @@ -368,7 +367,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('4a0e711a-b4da-4226-b265-f87b04ee4977') def test_create_pool_for_other_tenant_field(self): """Test create pool for other tenant field""" @@ -379,7 +378,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('cb564af8-89aa-40ca-850e-55418da0f235') def test_create_pool_invalid_name_field(self): """known bug with @@ -393,7 +392,7 @@ class TestPools(base.BaseTestCase): listener_id=self.listener['id'], name='n' * 256) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7f4472be-feb7-4ab7-9fb9-97e08f1fa787') def test_create_pool_invalid_desc_field(self): """known bug with @@ -407,7 +406,7 @@ class TestPools(base.BaseTestCase): listener_id=self.listener['id'], description='d' * 256) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('b09b14dc-029d-4132-94dd-e713c9bfa0ee') def test_create_pool_with_session_persistence_unsupported_type(self): """Test create a pool @@ -420,7 +419,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('b5af574a-d05f-4db0-aece-58676cdbf440') def test_create_pool_with_session_persistence_http_cookie(self): """Test create a pool with session_persistence type=HTTP_COOKIE""" @@ -429,7 +428,7 @@ class TestPools(base.BaseTestCase): pool = self._show_pool(new_pool.get('id')) self.assertEqual(new_pool, pool) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('2d6b6667-e38b-4e7f-8443-8dc7ee63ea87') def test_create_pool_with_session_persistence_app_cookie(self): """Test create a pool with session_persistence type=APP_COOKIE""" @@ -439,7 +438,7 @@ class TestPools(base.BaseTestCase): pool = self._show_pool(new_pool.get('id')) self.assertEqual(new_pool, pool) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('9ac450fc-24c5-4b5c-a781-b23e5713f172') def test_create_pool_with_session_persistence_redundant_cookie_name(self): """Test create a pool @@ -453,7 +452,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('7783ebd0-5bd9-43f0-baf2-a43212ba2617') def test_create_pool_with_session_persistence_without_cookie_name(self): """Test create a pool @@ -466,7 +465,7 @@ class TestPools(base.BaseTestCase): lb_algorithm='ROUND_ROBIN', listener_id=self.listener['id']) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('767ed26e-7114-402a-bdee-443d52009a73') def test_update_pool(self): """Test update pool""" @@ -477,7 +476,7 @@ class TestPools(base.BaseTestCase): wait=True) self.assertEqual(desc, pool.get('description')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('5cbc4dac-13fc-44de-b98f-41ca369a6e0f') def test_update_pool_missing_name(self): """Test update pool with missing name""" @@ -488,7 +487,7 @@ class TestPools(base.BaseTestCase): self._wait_for_load_balancer_status(self.load_balancer.get('id')) self.assertEqual(name, pool.get('name')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('af9c2f8e-b0e3-455b-83f0-222f8d692185') def test_update_pool_missing_description(self): """Test update pool with missing description""" @@ -499,7 +498,7 @@ class TestPools(base.BaseTestCase): self._wait_for_load_balancer_status(self.load_balancer.get('id')) self.assertEqual(desc, pool.get('description')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('3b41e855-edca-42c1-a1c6-07421f87704d') def test_update_pool_missing_admin_state_up(self): """Test update pool with missing admin state up field""" @@ -510,7 +509,7 @@ class TestPools(base.BaseTestCase): self._wait_for_load_balancer_status(self.load_balancer.get('id')) self.assertEqual(admin, pool.get('admin_state_up')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('8b49ecc3-4694-4482-9b2d-dc928576e161') def test_update_pool_missing_session_persistence(self): """Test update pool with missing session persistence""" @@ -520,7 +519,7 @@ class TestPools(base.BaseTestCase): pool = self._update_pool(new_pool.get('id')) self.assertAlmostEqual(sess_pers, pool.get('session_persistence')) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('23a9dbaf-105b-450e-95cf-050203b28366') def test_update_pool_invalid_name(self): """Test update pool with invalid name @@ -531,7 +530,7 @@ class TestPools(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_pool, new_pool.get('id'), name='n' * 256) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('efeeb827-5cb0-4349-8272-b2dbcbf42d22') def test_update_pool_invalid_desc(self): """Test update pool with invalid desc @@ -543,7 +542,7 @@ class TestPools(base.BaseTestCase): new_pool.get('id'), description='d' * 256) - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a91c1380-0d36-43a1-bf64-8fe9078e2bbd') def test_update_pool_invalid_admin_state_up(self): """Test update pool with an invalid admin_state_up""" @@ -551,7 +550,7 @@ class TestPools(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_pool, new_pool.get('id'), admin_state_up='hello') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('5d45b0e3-7d7f-4523-8504-9ccfd6ecec81') def test_update_pool_invalid_session_persistence(self): """Test update pool with an invalid session pers. field""" @@ -560,7 +559,7 @@ class TestPools(base.BaseTestCase): new_pool.get('id'), session_persistence={'type': 'Hello'}) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('3ddec9b1-fc7a-4073-9451-e73316237763') def test_update_pool_empty_name(self): """Test update pool with empty name""" @@ -569,7 +568,7 @@ class TestPools(base.BaseTestCase): self._wait_for_load_balancer_status(self.load_balancer.get('id')) self.assertEqual(pool.get('name'), "") - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('171e1153-9898-467d-80ed-d6deed430342') def test_update_pool_empty_description(self): """Test update pool with empty description""" @@ -579,7 +578,7 @@ class TestPools(base.BaseTestCase): self._wait_for_load_balancer_status(self.load_balancer.get('id')) self.assertEqual(pool.get('description'), "") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('397bd0ec-0e82-4421-a672-b7a2c4e84b56') def test_update_pool_empty_admin_state_up(self): """Test update pool with empty admin state up""" @@ -587,7 +586,7 @@ class TestPools(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_pool, new_pool.get('id'), admin_state_up="") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('f68a6ed5-4577-44f1-81c8-6dd30d8a874d') def test_update_pool_empty_session_persistence(self): """Test update pool with empty session persistence field""" @@ -596,7 +595,7 @@ class TestPools(base.BaseTestCase): new_pool.get('id'), session_persistence="") - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('d8027ea2-6912-41f7-bf5a-f2eb3d0901b1') def test_update_pool_invalid_attribute(self): """Test update pool with an invalid attribute""" @@ -604,7 +603,7 @@ class TestPools(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_pool, new_pool.get('id'), lb_algorithm='ROUNDED') - @test.attr(type='negative') + @decorators.attr(type='negative') @decorators.idempotent_id('a58822ee-56fc-4b96-bb28-47cd07ae9cb8') def test_update_pool_incorrect_attribute(self): """Test update a pool with an extra, incorrect field""" @@ -612,7 +611,7 @@ class TestPools(base.BaseTestCase): self.assertRaises(ex.BadRequest, self._update_pool, new_pool.get('id'), protocol='HTTPS') - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('4839f03e-2439-4619-8546-411ca883066d') def test_delete_pool(self): """Test delete pool""" @@ -623,7 +622,7 @@ class TestPools(base.BaseTestCase): self.assertRaises(ex.NotFound, self._show_pool, new_pool.get('id')) - @test.attr(type='smoke') + @decorators.attr(type='smoke') @decorators.idempotent_id('cd30962a-12ce-4ae9-89de-db007aebbd9f') def test_delete_invalid_pool(self): """Test delete pool that doesn't exist""" diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_admin_policy.py b/vmware_nsx_tempest/tests/nsxv/api/test_admin_policy.py index b3b0226f26..24891cb559 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_admin_policy.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_admin_policy.py @@ -198,7 +198,7 @@ class AdminPolicyTest(base.BaseAdminNetworkTest): sg = self.create_security_group(sg_client, sg_name) self.assertEqual(sg.get('name'), sg_name) - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @decorators.idempotent_id('5099604c-637a-4b25-8756-c6fc0929f963') def test_add_rules_to_policy_disallowed(self): tenant_id = self.cmgr_pri.networks_client.tenant_id @@ -208,14 +208,14 @@ class AdminPolicyTest(base.BaseAdminNetworkTest): self.create_security_group_rule, sg.get('id'), cmgr=self.cmgr_adm, tenant_id=tenant_id) - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @decorators.idempotent_id('9a604036-ace6-4ced-92b8-be732eee310f') def test_cannot_create_policy_with_invalid_policy_id(self): self.assertRaises(exceptions.BadRequest, self.create_security_group_policy, self.cmgr_adm, "invalid-policy-id") - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @decorators.idempotent_id('4d383d3c-f1e6-47e3-906e-3c171146965a') def test_tenant_cannot_delete_its_policy(self): tenant_cmgr = self.cmgr_alt @@ -228,7 +228,7 @@ class AdminPolicyTest(base.BaseAdminNetworkTest): self.delete_security_group, tenant_sg_client, sg_id) - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @decorators.idempotent_id('154985cd-26b2-468d-af6d-b6144ef2d378') def test_tenant_cannot_update_its_policy(self): tenant_cmgr = self.cmgr_alt @@ -240,14 +240,14 @@ class AdminPolicyTest(base.BaseAdminNetworkTest): self.update_security_group_policy, sg_id, self.alt_policy_id, self.cmgr_alt) - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @decorators.idempotent_id('d6d8c918-d488-40c4-83dc-8ce1a565e54f') def test_tenant_cannot_create_policy(self): self.assertRaises(exceptions.Forbidden, self.create_security_group_policy, self.cmgr_pri) - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @testtools.skipIf(CONF.nsxv.allow_tenant_rules_with_policy, "skip because tenant is allowed to create SG.") @decorators.idempotent_id('82aa02ee-8008-47a9-90ea-ba7840bfb932') diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_dns_search_domain_negative.py b/vmware_nsx_tempest/tests/nsxv/api/test_dns_search_domain_negative.py index f048d0d00c..f02cb5370e 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_dns_search_domain_negative.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_dns_search_domain_negative.py @@ -19,7 +19,6 @@ from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators from tempest.lib import exceptions -from tempest import test CONF = config.CONF @@ -50,7 +49,7 @@ class DnsSearchDoaminsNegativeTest(base.BaseAdminNetworkTest): subnet = resp.get('subnet', resp) return (network, subnet) - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @decorators.idempotent_id('11bdc214-10d7-4926-8f49-2da3d8719143') def test_create_dns_search_domain_negative(self): self.assertRaises(exceptions.BadRequest, diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_multiple_transport_zones_negative.py b/vmware_nsx_tempest/tests/nsxv/api/test_multiple_transport_zones_negative.py index 6b1c21c8f5..774a949781 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_multiple_transport_zones_negative.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_multiple_transport_zones_negative.py @@ -21,7 +21,6 @@ from tempest.lib import exceptions as lib_exc from tempest.api.network import base from tempest import config -from tempest import test CONF = config.CONF @@ -49,7 +48,7 @@ class MultipleTransportZonesNegativeTest(base.BaseAdminNetworkTest): network['id']) return network - @test.attr(type=['negative']) + @decorators.attr(type=['negative']) @decorators.idempotent_id('8aff7abc-eacd-409c-8278-4cb7bde6da84') def test_create_mtz_networks(self): # Multiple Transport Zone use provier network to implement diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_port_types.py b/vmware_nsx_tempest/tests/nsxv/api/test_port_types.py index 878b762b38..4e0a555827 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_port_types.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_port_types.py @@ -19,7 +19,6 @@ from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from oslo_log import log as logging @@ -83,7 +82,7 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.delete_port, dir_port['id']) return dir_port - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('ebb15f36-79bd-4461-91b5-84a57616730c') def test_create_direct_port(self): """ @@ -95,7 +94,7 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.assertEqual(dir_port['binding:vnic_type'], 'direct', "Created port type is not DIRECT") - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('2eaa0014-3265-479c-9012-c110df566ef1') def test_enable_port_direct(self): """ @@ -120,7 +119,7 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.assertEqual(updated_port['port']['binding:vnic_type'], 'direct', "Port vnic-type was not updated to DIRECT") - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('d77125af-7e8f-4dcf-a3a4-7956b3eaa2d2') def test_delete_direct_port(self): """ @@ -134,7 +133,7 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.assertFalse(self.delete_port(dir_port['id']), "Delete of Direct port was not successful") - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('b69f5ff1-7e86-4790-9392-434cd9ab808f') def test_list_direct_ports(self): """ @@ -164,7 +163,7 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.assertEmpty(ports_not_listed, "These ports not listed: %s" % ports_not_listed) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('9b7ec966-f4e4-4087-9789-96a3aa669fa2') def test_create_update_delete_direct_port(self): """ @@ -184,8 +183,8 @@ class PortTypeTest(base.BaseAdminNetworkTest): "Port name should be updated to %s" % updated_port_name) - @test.attr(type='nsxv') - @test.attr(type='negative') + @decorators.attr(type='nsxv') + @decorators.attr(type='negative') @decorators.idempotent_id('e661ba70-0ab4-4f91-8d84-c5c102ec5793') def test_create_direct_port_without_flat_network_negative(self): """ @@ -200,8 +199,8 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.assertRaises(ex.BadRequest, self._create_direct_port, network_id=test_net['id']) - @test.attr(type='nsxv') - @test.attr(type='negative') + @decorators.attr(type='nsxv') + @decorators.attr(type='negative') @decorators.idempotent_id('ee87287f-4ec6-4502-9bc1-855fa7c93e90') def test_create_direct_port_w_flat_net_wout_port_settings_negative(self): """ @@ -216,8 +215,8 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.create_port, network_id=test_flat_net['id'], **orig_post) - @test.attr(type='nsxv') - @test.attr(type='negative') + @decorators.attr(type='nsxv') + @decorators.attr(type='negative') @decorators.idempotent_id('03e0065e-6d76-45d5-9192-ce89853dfa9e') def test_update_direct_port_w_flat_net_wout_port_configs_negative(self): """ @@ -240,8 +239,8 @@ class PortTypeTest(base.BaseAdminNetworkTest): self.assertRaises(ex.BadRequest, self.update_port, test_port['port']['id'], **post_body) - @test.attr(type='nsxv') - @test.attr(type='negative') + @decorators.attr(type='nsxv') + @decorators.attr(type='negative') @decorators.idempotent_id('d3e75ed7-f3e5-4395-9ab0-063e7a8c141c') def test_update_direct_port_wout_flat_net_with_port_configs_negative(self): """ diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_provider_sec_group.py b/vmware_nsx_tempest/tests/nsxv/api/test_provider_sec_group.py index d3c1620828..4c960266c9 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_provider_sec_group.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_provider_sec_group.py @@ -116,7 +116,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): sg_list = sg_list.get('security_groups', sg_list) return sg_list[0] - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('5480d96e-287b-4e59-9ee3-d1bcf451dfc9') def test_provider_security_group_crud(self): sg_desc = "crud provider-security-group" @@ -132,7 +132,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): sg_list = sg_list.get('security_groups', sg_list) self.assertEqual(len(sg_list), 0) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('6e48a2ed-8035-4986-a5c6-903c49ae26a2') def test_admin_can_create_provider_security_group_for_tenant(self): project_id = self.cmgr_alt.networks_client.tenant_id @@ -141,14 +141,14 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): provider=True) self.assertEqual(True, sg.get('provider')) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('95ce76a4-a125-411b-95d7-7a66addf0efc') def test_tenant_provider_sec_group_with_no_rules(self): sg = self.create_security_provider_group(self.cmgr_adm, provider=True) self.assertEmpty(sg.get('security_group_rules')) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('5e6237ca-033a-4bee-b5fb-8f225ed00b0c') def test_admin_can_create_security_group_rule(self): sg_client = self.cmgr_adm.security_groups_client @@ -167,7 +167,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): ['security_group_rules'] [0]['protocol']) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('18737e13-4bca-4f62-b993-f021795a7dbf') def test_provider_security_group_rule_at_beckend(self): sg = self.create_security_provider_group(self.cmgr_adm, provider=True) @@ -187,7 +187,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): self.assertIn('deny', rule['action'], "Provider " "security Group applied") - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('b179a32b-e012-43ec-9d2d-f9e5801c97c6') def test_provider_security_group_predence_at_beckend(self): sg = self.create_security_provider_group(self.cmgr_adm, provider=True) @@ -206,7 +206,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): count += count self.assertEqual(0, count) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('38b21ea8-7822-4b1a-b923-cd00fa57ca4d') def test_provider_security_group_at_port_level(self): sg = self.create_security_provider_group(self.cmgr_adm, @@ -231,7 +231,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): port_client.delete_port(port_id['port']['id']) net_client.delete_network(network['network']['id']) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('b1e904fb-a70a-400e-a757-d772aab152eb') def test_provider_sec_group_with_multiple_rules(self): project_id = self.cmgr_adm.networks_client.tenant_id @@ -249,7 +249,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): sg_rule2_id = sg_rule2.get('id') self.assertNotEqual(sg_rule1_id, sg_rule2_id) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('edd94f8c-53b7-4286-9350-0ddc0af3213b') def test_clear_provider_sec_group_from_port(self): project_id = self.cmgr_adm.networks_client.tenant_id @@ -274,7 +274,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): port_client.delete_port(port_id['port']['id']) net_client.delete_network(network['network']['id']) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('6c1e6728-b84a-47f9-9021-ff3e3f88a933') def test_tenant_cannot_delete_admin_provider_security_group(self): project_id = self.cmgr_adm.networks_client.tenant_id @@ -290,7 +290,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): "provider security group") pass - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('94e06ee2-82ed-4203-ac9b-421a298bdba4') def test_tenant_cannot_create_provider_sec_group(self): project_id = self.cmgr_alt.networks_client.tenant_id @@ -300,7 +300,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest): provider=True) LOG.debug("Non-Admin Tenant cannot create provider sec group") - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('01f00a36-7576-40e0-a397-b43860a9c122') def test_update_port_with_psg(self): net_client = self.cmgr_adm.networks_client diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_router_sizes.py b/vmware_nsx_tempest/tests/nsxv/api/test_router_sizes.py index 0d3514fb75..67616679f6 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_router_sizes.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_router_sizes.py @@ -165,28 +165,28 @@ class RouterSizeBaseTest(base.BaseAdminNetworkTest): class CompactRouterTest(RouterSizeBaseTest): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('d75fbcd5-c8cb-49ea-a868-ada12fd8c87f') def test_create_update_delete_compact_router(self): self.do_create_update_delete_router_with_size('compact') class LargeRouterTest(RouterSizeBaseTest): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('da00c74f-81e6-4ef9-8aca-8e0345b376e9') def test_create_update_delete_large_router(self): self.do_create_update_delete_router_with_size('large', 20.0) class XlargeRouterTest(RouterSizeBaseTest): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('091dad07-6044-4ca3-b16c-54a3ef92254b') def test_create_update_delete_xlarge_router(self): self.do_create_update_delete_router_with_size('xlarge', 20.0) class QuadlargeRouterTest(RouterSizeBaseTest): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('0f69bf8a-4b06-47ac-a3f7-eedba95fd395') def test_create_update_delete_quadlarge_router(self): self.do_create_update_delete_router_with_size('quadlarge', 30.0) diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_router_types.py b/vmware_nsx_tempest/tests/nsxv/api/test_router_types.py index 116bf97bcf..4ee60e3050 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_router_types.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_router_types.py @@ -64,7 +64,7 @@ class ExcRouterTest(base.BaseAdminNetworkTest): subnet_id=interface['fixed_ips'][0]['subnet_id']) self.routers_client.delete_router(router['id']) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('ac1639a0-2a8d-4c68-bccd-54849fd45f86') def test_create_exc_router(self): """ @@ -84,7 +84,7 @@ class ExcRouterTest(base.BaseAdminNetworkTest): self.assertTrue(exc_edge is not None) self.assertEqual(exc_edge['edgeType'], 'gatewayServices') - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('c4b94988-0bc7-11e5-9203-0050568833db') def test_update_exc_router(self): """ @@ -102,7 +102,7 @@ class ExcRouterTest(base.BaseAdminNetworkTest): router['router']['id'], name=updated_name) self.assertEqual(update_body['router']['name'], updated_name) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('a0ff5afa-0bcc-11e5-9203-0050568833db') def test_list_show_exc_router(self): """ @@ -124,7 +124,7 @@ class ExcRouterTest(base.BaseAdminNetworkTest): routers_list = [r['id'] for r in list_body['routers']] self.assertIn(router['router']['id'], routers_list) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('adef8d1e-0bce-11e5-9203-0050568833db') def test_delete_exc_router(self): """ diff --git a/vmware_nsx_tempest/tests/nsxv/api/test_v1_fwaas.py b/vmware_nsx_tempest/tests/nsxv/api/test_v1_fwaas.py index 465e921be8..c9dc5614ba 100644 --- a/vmware_nsx_tempest/tests/nsxv/api/test_v1_fwaas.py +++ b/vmware_nsx_tempest/tests/nsxv/api/test_v1_fwaas.py @@ -311,7 +311,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): self.assertEqual(router['name'], router_name) return router - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('c72197f1-b5c6-453f-952e-007acea6df86') def test_list_firewall_rules(self): # List firewall rules @@ -328,7 +328,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): self.assertEqual(self.fw_rule['firewall_rule']['enabled'], fw_rules[0]['enabled']) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('ef92ba0d-f7c2-46cb-ad4b-21c62cfa85a0') def test_create_update_delete_firewall_rule(self): # Create firewall rule @@ -351,7 +351,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): self.assertNotIn(fw_rule_id, [m['id'] for m in fw_rules['firewall_rules']]) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('264e8b67-a1ef-4ba1-8757-808b249a5320') def test_show_firewall_rule(self): # show a created firewall rule @@ -360,7 +360,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): for key, value in six.iteritems(fw_rule['firewall_rule']): self.assertEqual(self.fw_rule['firewall_rule'][key], value) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('029cd998-9dd4-4a0a-b79d-8bafd8223bda') def test_list_firewall_policies(self): fw_policies = self.fwaasv1_client.list_firewall_policies() @@ -372,7 +372,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): self.assertEqual(self.fw_policy['firewall_policy']['firewall_rules'], fw_policies[0]['firewall_rules']) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('28c261c8-4fb3-4630-8a9b-707c93536a54') def test_create_update_delete_firewall_policy(self): # Create firewall policy @@ -395,7 +395,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): fw_policies = fw_policies['firewall_policies'] self.assertNotIn(fw_policy_id, [m['id'] for m in fw_policies]) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('8bc7ad6d-4163-4def-9e1d-b9d24d9e8bf8') def test_show_firewall_policy(self): # show a created firewall policy @@ -405,7 +405,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): for key, value in six.iteritems(fw_policy): self.assertEqual(self.fw_policy['firewall_policy'][key], value) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('0c320840-f3e4-4960-987d-a6f06d327fe1') def test_create_show_delete_firewall(self): # Create tenant network resources required for an ACTIVE firewall @@ -442,7 +442,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): firewalls = self.fwaasv1_client.list_firewalls()['firewalls'] self.assertNotIn(firewall_id, [m['id'] for m in firewalls]) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('d9b23b3a-66ea-4591-9f8f-fa5a71fe0645') def test_firewall_insertion_mode_add_remove_mix_router(self): # Create legacy routers @@ -483,7 +483,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): self.assertNotIn(router1['id'], updated_firewall['router_ids']) self.assertEqual(1, len(updated_firewall['router_ids'])) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('964e0254-e7f2-4bbe-a4c8-db09da8d79ee') def test_firewall_insertion_mode_add_remove_router(self): # Create legacy routers @@ -529,7 +529,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): self.assertNotIn(router1['id'], updated_firewall['router_ids']) self.assertEqual(1, len(updated_firewall['router_ids'])) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('662b252f-fa1b-49fe-8599-a37feab9fae8') def test_firewall_insertion_one_policy_two_router_backend(self): # Create router required for an ACTIVE firewall @@ -557,7 +557,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): True, self._check_firewall_rule_exists_at_backend( rules, firewall_topo1['firewall_name'])) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('00330ef3-0a2e-4556-84d1-448d09c5ca2e') def test_firewall_insertion_two_policy_two_router_backend(self): # Create router required for an ACTIVE firewall @@ -586,7 +586,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): True, self._check_firewall_rule_exists_at_backend( rules, firewall_topo2['firewall_name'])) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('8092bd48-e4c1-4709-8a3b-70e7bf6a78c9') def test_firewall_insertion_mode_two_firewall_rules_check_backend(self): rule_no = 1 @@ -628,7 +628,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): "Rule exists at position 2") break - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('da65de07-a60f-404d-ad1d-2d2c71a3b6a5') def test_firewall_add_delete_between_routers(self): firewall_topo = self._create_firewall_basic_topo('exclusive') @@ -666,7 +666,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): True, self._check_firewall_rule_exists_at_backend( rules, firewall_topo['firewall_name'])) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('c60ceff5-d51f-451d-b6e6-cb983d16ab6b') def test_firewall_insertion_with_multiple_rules_check_backend(self): # Create router required for an ACTIVE firewall @@ -715,7 +715,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): True, self._check_firewall_rule_exists_at_backend( rules, firewall_name_3)) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('a1734149-9c4b-46d3-86c8-d61f57458095') def test_firewall_add_remove_rule_check_backend(self): # Create router required for an ACTIVE firewall @@ -738,7 +738,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): False, self._check_firewall_rule_exists_at_backend( rules, firewall_topo['firewall_name'])) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('e1111959-c36a-41d6-86ee-ea6c0b927eb3') def test_firewall_insertion_mode_one_firewall_rule_check_backend(self): # Create router required for an ACTIVE firewall @@ -753,7 +753,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): True, self._check_firewall_rule_exists_at_backend( rules, firewall_topo['firewall_name'])) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('e434b3c9-1148-499a-bb52-b094cdb0a186') def test_firewall_insertion_mode_one_firewall_per_router(self): # Create router required for an ACTIVE firewall @@ -767,7 +767,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): firewall_policy_id=self.fw_policy['firewall_policy']['id'], router_ids=[firewall_topo['router']['id']]) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('d162abb2-9c14-45d6-bed1-06646a66803a') def test_firewall_insertion_mode_one_firewall_per_dist_router(self): # Create router required for an ACTIVE firewall @@ -781,7 +781,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): firewall_policy_id=self.fw_policy['firewall_policy']['id'], router_ids=[firewall_topo['router']['id']]) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('d5531558-9b18-40bc-9388-3eded0894a85') def test_firewall_rule_insertion_position_removal_rule_from_policy(self): # Create firewall rule @@ -836,7 +836,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): # Verify removal of rule from firewall policy self.assertNotIn(fw_rule_id1, self._get_list_fw_rule_ids(fw_policy_id)) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('901dae30-b148-43d9-ac86-09777aeaba20') def test_update_firewall_name_at_backend_excl_edge(self): firewall_topo = self._create_firewall_basic_topo('exclusive') @@ -857,7 +857,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): True, self._check_firewall_rule_exists_at_backend( rules, "Fwaas-updated_rule")) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('471ebc13-8e3b-4aca-85b8-747935bf0559') def test_update_firewall_name_at_backend_dist_edge(self): firewall_topo = self._create_firewall_basic_topo('distributed') @@ -879,7 +879,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): True, self._check_firewall_rule_exists_at_backend( rules, "Fwaas-updated_rule")) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('0bdc9670-17b8-4dd5-80c8-dc6e956fc6ef') def test_create_multiple_firewall_rules_check_at_backend(self): firewall_topo = self._create_firewall_advanced_topo('exclusive') @@ -894,7 +894,7 @@ class FWaaSTestJSON(base.BaseNetworkTest): "Firewall Rules are greater than %s" % constants.NO_OF_ENTRIES) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('0249db39-6284-456a-9449-2adacdca4d3b') def test_update_firewall_policy_audited_attribute(self): # Create firewall rule diff --git a/vmware_nsx_tempest/tests/nsxv/scenario/test_dhcp_121.py b/vmware_nsx_tempest/tests/nsxv/scenario/test_dhcp_121.py index 30f0eda034..1dd7be86ad 100644 --- a/vmware_nsx_tempest/tests/nsxv/scenario/test_dhcp_121.py +++ b/vmware_nsx_tempest/tests/nsxv/scenario/test_dhcp_121.py @@ -26,7 +26,6 @@ from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib import decorators from tempest.lib import exceptions -from tempest import test from vmware_nsx_tempest.services import nsxv_client from vmware_nsx_tempest.tests.nsxv.scenario import ( @@ -293,7 +292,7 @@ class TestDHCP121BasicOps(dmgr.TopoDeployScenarioManager): class TestDhcpMetadata(TestDHCP121BasicOps): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('95d06aba-895f-47f8-b47d-ae48c6853a85') def test_dhcp_121_metadata_check_on_vm_nsxv(self): LOG.info("Testcase DHCP-121 option metadata check on vm and " @@ -306,7 +305,7 @@ class TestDhcpMetadata(TestDHCP121BasicOps): class TestDhcpHostroutesClear(TestDHCP121BasicOps): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('6bec6eb4-8632-493d-a895-a3ee87cb3002') def test_dhcp_121_hostroutes_clear(self): LOG.info("Testcase DHCP-121 option host routes clear deploying") @@ -316,7 +315,7 @@ class TestDhcpHostroutesClear(TestDHCP121BasicOps): class TestDhcpNegative(TestDHCP121BasicOps): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('a58dc6c5-9f28-4184-baf7-37ded52593c4') def test_dhcp121_negative_test(self): LOG.info("Testcase DHCP-121 option negative test deploying") @@ -384,7 +383,7 @@ class TestDhcpNegative(TestDHCP121BasicOps): class TestDhcpMultiHostRoute(TestDHCP121BasicOps): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('c3ca96d7-b704-4d94-b42d-e7bae94b82cd') def test_dhcp121_multi_host_route(self): LOG.info("Testcase DHCP-121 option multi host routes deploying") @@ -452,7 +451,7 @@ class TestDhcpMultiHostRoute(TestDHCP121BasicOps): class TestDhcpHostRoutesBetweenVms(TestDHCP121BasicOps): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('34e6d23f-db00-446e-8299-57ff2c0911b2') def test_host_routes_between_vms(self): client_mgr = self.manager diff --git a/vmware_nsx_tempest/tests/nsxv/scenario/test_spoofguard_policy.py b/vmware_nsx_tempest/tests/nsxv/scenario/test_spoofguard_policy.py index 34237abf90..792320f919 100644 --- a/vmware_nsx_tempest/tests/nsxv/scenario/test_spoofguard_policy.py +++ b/vmware_nsx_tempest/tests/nsxv/scenario/test_spoofguard_policy.py @@ -22,7 +22,6 @@ from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators -from tempest import test from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.services import nsxv_client @@ -175,7 +174,7 @@ class TestSpoofGuardBasicOps(dmgr.TopoDeployScenarioManager): class TestSpoofGuardFeature(TestSpoofGuardBasicOps): - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('2804f55d-3221-440a-9fa8-ab16a8932634') def test_exclude_list_with_new_attach_port(self): port_client = self.manager.ports_client @@ -210,7 +209,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps): # Detach interface from vm self.interface_client.delete_interface(vm_id, port_id) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('a5420350-2658-47e4-9e2b-490b200e9f41') def test_spoofguard_with_ping_between_servers_on_same_network(self): username, password = self.get_image_userpass() @@ -287,7 +286,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps): cidr=cidr, cidr_offset=cidr_offset, name=net_network['name']) return net_network, net_subnet - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('38c213df-bfc2-4681-9c9c-3a31c05b0e6f') def test_exclude_with_multiple_vm(self): image = self.get_server_image() @@ -357,7 +356,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps): if vm_id not in exclude_vm: LOG.info("Vm1 not in exclude list") - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('f034d3e9-d717-4bcd-8e6e-18e9ada7b81a') def test_exclude_list_with_single_vm_port(self): port_client = self.manager.ports_client @@ -385,7 +384,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps): LOG.info("Vm not in exclude list") self.interface_client.delete_interface(vm_id, port_id) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('3ad04e37-2a9f-4465-86e7-94993eecdfa1') def test_disabled_network_port_security(self): network_client = self.manager.networks_client @@ -415,7 +414,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps): if (port_details['port']['port_security_enabled'] == 'true'): LOG.info("Port security of port is enabled") - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('c8683cb7-4be5-4670-95c6-344a0aea3667') def test_exclude_list_with_multiple_ports(self): port_client = self.manager.ports_client diff --git a/vmware_nsx_tempest/tests/nsxv/scenario/test_v1_fwaas_basic_ops.py b/vmware_nsx_tempest/tests/nsxv/scenario/test_v1_fwaas_basic_ops.py index a03cab041f..4a2b152292 100644 --- a/vmware_nsx_tempest/tests/nsxv/scenario/test_v1_fwaas_basic_ops.py +++ b/vmware_nsx_tempest/tests/nsxv/scenario/test_v1_fwaas_basic_ops.py @@ -398,7 +398,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager): self.assertEqual(router['name'], router_name) return router - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('e2ab2d1a-4dc0-4efd-b03d-8c2322b427f0') def test_firewall_icmp_rule_with_exclusive_router(self): # Create router required for an ACTIVE firewall @@ -411,7 +411,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager): out = self._test_ping_from_external_network(fip_ip) self.assertIn("0 received", str(out)) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('fd39455a-232e-4f7f-b102-2853688335dc') def test_firewall_tcp_rule_with_exclusive_router(self): # Create router required for an ACTIVE firewall @@ -424,7 +424,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager): out = self._test_ssh_connectivity_from_external_network(fip_ip) self.assertIn("Servname not supported", out) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('3628448a-5977-44e3-b34a-690e4e2ba847') def test_firewall_icmp_rule_with_distributed_router(self): # Create router required for an ACTIVE firewall @@ -437,7 +437,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager): out = self._test_ping_from_external_network(fip_ip) self.assertIn("0 received", str(out)) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('0aeb2acc-0b68-4cca-889d-078f61bbe5b2') def test_firewall_tcp_rule_with_distributed_router(self): # Create router required for an ACTIVE firewall @@ -450,7 +450,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager): out = self._test_ssh_connectivity_from_external_network(fip_ip) self.assertIn("Servname not supported", out) - @test.attr(type='nsxv') + @decorators.attr(type='nsxv') @decorators.idempotent_id('4a0306e5-663c-4981-8177-e8a255a8859c') def test_firewall_update_delete_ops_on_exclusive_router(self): # Create router required for an ACTIVE firewall diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway.py b/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway.py index 991e3eba59..352ddd9093 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway.py @@ -18,7 +18,6 @@ from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib import decorators -from tempest import test from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.services import base_l2gw @@ -33,7 +32,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): Test l2 gateway operations. """ - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("e5e3a089-602c-496e-8c17-4ef613266924") def test_l2_gateway_create_without_vlan(self): """ @@ -58,7 +57,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): "Device name is not the same as expected") self.resource_cleanup() - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("9968a529-e785-472f-8705-9b394a912e43") def test_l2_gateway_with_single_vlan(self): """ @@ -95,7 +94,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): self.assertIn(id, response_vlans) self.resource_cleanup() - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("3861aab0-4f76-4472-ad0e-a255e6e42193") def test_l2_gateway_with_multiple_vlans(self): """ @@ -132,7 +131,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): self.assertIn(id, response_vlans) self.resource_cleanup() - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("670cbcb5-134e-467d-ba41-0d7cdbcf3903") def test_l2_gateway_delete(self): """ @@ -163,7 +162,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): self.l2gw_created.pop(l2gw_id) self.resource_cleanup() - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("fa76f6e6-8aa7-46d8-9af4-2206d0773dc3") def test_l2_gateway_update_l2gw_name(self): """ @@ -205,7 +204,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): "name": l2gw_new_name}) self.resource_cleanup() - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("c4977df8-8e3a-4b7e-a8d2-5aa757117658") def test_l2_gateway_update_interface(self): """ @@ -251,7 +250,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): "L2GW segmentation id update failed!!!") self.resource_cleanup() - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("5a3cef97-c91c-4e03-92c8-d180f9269f27") def test_l2_gateway_show(self): """ @@ -294,7 +293,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest): self.assertIn(id, response_vlans) self.resource_cleanup() - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("d4a7d3af-e637-45c5-a967-d179153a6e58") def test_l2_gateway_list(self): """ diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection.py b/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection.py index 87e1c0a8b4..934064f60d 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection.py @@ -20,7 +20,6 @@ from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators -from tempest import test from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.services import base_l2gw @@ -75,7 +74,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest): cls.l2gw_client.delete_l2_gateway(l2gw_id) cls.l2gw_created.pop(l2gw_id) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("81edfb9e-4722-4565-939c-6593b8405ff4") def test_l2_gateway_connection_create(self): """ @@ -108,7 +107,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest): "create l2gw connection response") self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("7db4f6c9-18c5-4a99-93c1-68bc2ecb48a7") def test_l2_gateway_connection_create_with_multiple_vlans(self): """ @@ -141,7 +140,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest): "create l2gw connection response") self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("de70d6a2-d454-4a09-b06b-8f39be67b635") def test_l2_gateway_connection_with_seg_id_create(self): """ @@ -178,7 +177,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest): "create l2gw connection response") self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("819d9b50-9159-48d0-be2a-493ec686534c") def test_l2_gateway_connection_show(self): """ @@ -223,7 +222,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest): "show l2gw connection response") self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("4188f8e7-cd65-427e-92b8-2a9e0492ab21") def test_l2_gateway_connection_list(self): """ @@ -277,7 +276,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest): "segmentation_id") self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("4d71111f-3d2b-4557-97c7-2e149a6f41fb") def test_l2_gateway_connection_recreate(self): """ @@ -345,7 +344,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest): "l2gwc id") self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("671cacb5-134e-467d-ba41-0d7cdbcf3903") def test_l2_gateway_connection_delete(self): """ diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection_negative.py b/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection_negative.py index a0d5cb2b91..b334ca9cac 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection_negative.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_l2_gateway_connection_negative.py @@ -17,7 +17,6 @@ import netaddr from tempest import config -from tempest import test from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils @@ -78,7 +77,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest): cls.l2gw_client.delete_l2_gateway(l2gw_id) cls.l2gw_created.pop(l2gw_id) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("e86bd8e9-b32b-425d-86fa-cd866138d028") def test_active_l2_gateway_delete(self): """ @@ -105,7 +104,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest): self.assertRaises(lib_exc.Conflict, self.delete_l2gw, l2gw_id) self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("488faaae-180a-4c48-8b7a-44c3a243369f") def test_recreate_l2_gateway_connection(self): """ @@ -131,7 +130,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest): l2gwc_param) self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("14606e74-4f65-402e-ae50-a0adcd877a83") def test_create_l2gwc_with_nonexist_l2gw(self): """ @@ -153,7 +152,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest): l2gwc_param) self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("e6cb8973-fcbc-443e-a3cb-c6a82ae58b63") def test_create_l2gwc_with_nonexist_network(self): """ @@ -175,7 +174,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest): l2gwc_param) self.addCleanup(self.l2gw_cleanup) - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("27c7c64f-511f-421e-8b62-dfed143fc00b") def test_create_l2gw_with_invalid_seg_id(self): """ @@ -194,7 +193,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest): self.addCleanup(self.l2gw_cleanup) @decorators.skip_because(bug="1640033") - @test.attr(type="nsxv3") + @decorators.attr(type="nsxv3") @decorators.idempotent_id("000cc597-bcea-4539-af07-bd70357e8d82") def test_create_l2gw_with_non_int_seg_id(self): """ diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp.py b/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp.py index f7c9836ce7..41e6ba3539 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp.py @@ -18,7 +18,6 @@ from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators -from tempest import test from vmware_nsx_tempest.services import nsxv3_client @@ -97,7 +96,7 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest): self._subnet_data['host_routes'][0]['destination']} self.assertIn(route, host_routes) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('698f5503-a17a-43c2-b83b-353d3e28588b') def test_create_dhcp_enabled_subnet(self): name = data_utils.rand_name("network-") @@ -114,7 +113,7 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest): network['id']) self.assertIsNotNone(dhcp_server) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('cc970d9b-786a-49c3-8bfb-2f8bc5580ead') def test_overlapping_dhcp_enabled_subnet(self): """Create two overlapping subnets""" @@ -138,25 +137,25 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest): self.assertEqual(dhcp_server['gateway_ip'], self._subnet_data['gateway']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('acee6ccb-92bb-48d8-ae6b-b10783b3791a') def test_create_subnet_with_allocation_pool(self): self._test_create_subnet_with_kwargs( allocation_pools=self._subnet_data['allocation_pools']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('1b7d38c1-0674-43a7-8df1-0b9da531ad77') def test_create_subnet_with_dns_nameservers(self): self._test_create_subnet_with_kwargs( dns_nameservers=self._subnet_data['dns_nameservers']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('3159111b-e332-4a41-a713-164a0ccfc2ad') def test_create_subnet_with_host_routes(self): self._test_create_subnet_with_kwargs( host_routes=self._subnet_data['host_routes']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('addb0f46-3fa7-421b-aae7-820e798c096e') def test_create_subnet_with_gateway_ip(self): self._test_create_subnet_with_kwargs( diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp_negative.py b/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp_negative.py index cc1101c4c3..ac912002f8 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp_negative.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_native_dhcp_negative.py @@ -18,7 +18,6 @@ from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators -from tempest import test from vmware_nsx_tempest.services import nsxv3_client @@ -48,8 +47,8 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest): CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_password) - @test.attr(type='nsxv3') - @test.attr(type=['negative']) + @decorators.attr(type='nsxv3') + @decorators.attr(type=['negative']) @decorators.idempotent_id('d1fb24b9-6ee8-4fb3-b6fe-169fed3cfa7e') def test_create_network_without_subnet(self): name = data_utils.rand_name('network-') @@ -65,8 +64,8 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest): self.assertIsNotNone(nsx_switch) self.assertIsNone(dhcp_server) - @test.attr(type='nsxv3') - @test.attr(type=['negative']) + @decorators.attr(type='nsxv3') + @decorators.attr(type=['negative']) @decorators.idempotent_id('caab60b9-b78c-4127-983f-cfb515b555fe') def test_create_dhcp_disabled_subnet(self): name = data_utils.rand_name('network-') @@ -83,8 +82,8 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest): self.assertIsNotNone(nsx_switch) self.assertIsNone(dhcp_server) - @test.attr(type='nsxv3') - @test.attr(type=['negative']) + @decorators.attr(type='nsxv3') + @decorators.attr(type=['negative']) @decorators.idempotent_id('bcfd9e1c-456f-43cc-a22a-baceb2188b53') def test_update_dhcp_disabled_subnet(self): name = data_utils.rand_name('network-') diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_floating_ip.py b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_floating_ip.py index cf423720e1..7a2c0b0530 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_floating_ip.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_floating_ip.py @@ -56,7 +56,7 @@ class NSXv3FloatingIPTest(base.BaseNetworkTest): CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_password) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('593e4e51-9ea2-445b-b789-eff2b0b7a503') def test_create_floating_ip(self): # Create a floating ip @@ -87,7 +87,7 @@ class NSXv3FloatingIPTest(base.BaseNetworkTest): self.assertIn((fip['floating_ip_address'], port_ip), snat_rules) self.assertIn((port_ip, fip['floating_ip_address']), dnat_rules) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('48d8cda8-dfc3-4d84-8f91-4bad6cc7d452') def test_update_floating_ip(self): # Create a floating ip @@ -128,7 +128,7 @@ class NSXv3FloatingIPTest(base.BaseNetworkTest): self.assertIn((port2_ip, updated_fip['floating_ip_address']), dnat_rules) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('6e5a87fe-b40e-4c62-94b8-07431493cc3d') def test_delete_floating_ip(self): # Create a floating ip diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_mac_learning.py b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_mac_learning.py index 2084273e89..95233dc24a 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_mac_learning.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_mac_learning.py @@ -17,7 +17,6 @@ from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators from tempest.lib import exceptions as ex -from tempest import test from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.services import nsxv3_client @@ -137,7 +136,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): port['mac_learning_enabled'], "OS and NSX mac learn states don't match") - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('d4c533d4-194e-4d72-931d-a120cd3dd3b2') def test_create_mac_learning_port(self): """ @@ -148,7 +147,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): self._delete_port, port) self._check_mac_learning(port, mac_learn_state=True) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('d5067c7e-127b-4676-8b33-c421dcc8d6ae') def test_list_mac_learning_port(self): """ @@ -177,7 +176,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): self.assertEqual(len(test_ports_in_body), 2, 'List ports does not match num of created ports') - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('d2eaadb2-52e3-42c1-8225-7380cd70a82c') def test_show_mac_learning_port(self): """ @@ -205,7 +204,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): 'created_at', 'updated_at'])) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('4d5844bb-88d4-4cdc-b545-6cd9160ae351') def test_update_mac_learning_port(self): """ @@ -231,7 +230,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): "MAC learning states do not match for %s" % updated_nsx_port['display_name']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('e2295017-b3c4-4cdd-b8e2-daa51aaf7590') def test_delete_mac_learning_port(self): """ @@ -251,7 +250,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): self.assertIsNone(self.nsx.get_logical_port(test_port['name']), "Port %s is not None" % test_port['name']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('5105d8b5-5136-4789-9991-7e419d980169') def test_create_enable_mac_learning_port_delete(self): """ @@ -272,7 +271,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): self.assertIsNone(self.nsx.get_logical_port(updated_os_port['name']), "Port %s is not None" % updated_os_port['name']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('b7ecc93d-6c9b-4958-9a08-bc85d2946c03') def test_create_toggle_mac_learning_port_delete(self): """ @@ -295,7 +294,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): self.assertIsNone(self.nsx.get_logical_port(ml_on_port['name']), "Port %s is not None" % ml_on_port['name']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('262e844f-a033-4fcd-b5d0-4641d9efeccd') def test_create_update_delete_mac_learning_port(self): """ @@ -317,8 +316,8 @@ class NSXv3MacLearningTest(base.BaseNetworkTest): self.assertIsNone(self.nsx.get_logical_port(updated_port['name']), "Logical port %s is not None" % updated_port['name']) - @test.attr(type='nsxv3') - @test.attr(type='negative') + @decorators.attr(type='nsxv3') + @decorators.attr(type='negative') @decorators.idempotent_id('e3465ea8-50fc-4070-88de-f4bd5df8ab86') def test_create_mac_learning_port_enable_port_security_negative(self): """ diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_networks.py b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_networks.py index 59edaa4be0..468b0837ce 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_networks.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_networks.py @@ -14,7 +14,6 @@ from tempest.api.network import base from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib import decorators -from tempest import test from vmware_nsx_tempest.services import nsxv3_client @@ -37,7 +36,7 @@ class NSXv3NetworksTest(base.BaseNetworkTest): CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_password) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('63085723-23ae-4109-ac86-69f895097957') def test_create_update_delete_nsx_network(self): # Create a network diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_port_security.py b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_port_security.py index af9849ebec..0428607198 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_port_security.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_port_security.py @@ -136,7 +136,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest): secgroup_id = secgroup['id'] return secgroup_id - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('50203701-1cda-4f31-806d-7a51514b9664') def test_create_port_with_security_enabled_check_in_neutron_database(self): secgroup_id = self._create_security_group_and_return_id(self.cmgr_adm) @@ -153,7 +153,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest): port_detail = port_client.show_port(port_id) self.assertEqual(True, port_detail['port']["port_security_enabled"]) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('4b765fa2-345f-4d2c-928f-ad4b347936fd') def test_create_port_with_security_enabled_check_at_beckend(self): net_client = self.cmgr_adm.networks_client @@ -191,7 +191,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest): corresponding_port_id) self.assertEqual(True, status) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('bcafeb10-fbf1-4c97-9e4f-50e56d32bdcf') def test_non_admin_cannot_update_admin_port_with_security(self): network_topo = self._create_network_topo(self.cmgr_adm) @@ -202,7 +202,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest): network_topo['port']['port']['id'], **kwargs) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('cf4b8d28-13c4-4339-993f-66070708e914') def test_non_admin_cannot_delete_tenant_port_with_port_security(self): network_topo = self._create_network_topo(self.cmgr_pri) @@ -211,7 +211,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest): tenant_port_client.delete_port, network_topo['port']['port']['id']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('ee6213ac-dfcd-401b-bbc6-03afd26f203a') def test_tenant_port_security_at_beckend_after_enable_disable(self): secgroup_id = self._create_security_group_and_return_id(self.cmgr_alt) @@ -243,7 +243,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest): corresponding_port_id) self.assertEqual(False, status) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('c6f4c2f2-3fc9-4983-a05a-bb3a3dc35ad8') def test_admin_port_security_at_beckend_after_enable_disable(self): secgroup_id = self._create_security_group_and_return_id(self.cmgr_adm) diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_routers.py b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_routers.py index 04ebb4be6f..4f9b7c49ac 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_routers.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_routers.py @@ -48,7 +48,7 @@ class NSXv3RoutersTest(base.BaseAdminNetworkTest): CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_password) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('0e9938bc-d2a3-4a9a-a4f9-7a93ee8bb344') def test_create_update_nsx_router(self): # Create a router @@ -71,7 +71,7 @@ class NSXv3RoutersTest(base.BaseAdminNetworkTest): self.assertEqual(updated_router['name'], updated_name) self.assertIsNotNone(nsx_router) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('6f49b69c-0800-4c83-b1f8-595ae5bfeea7') def test_delete_nsx_router(self): # Create a router diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_security_groups.py b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_security_groups.py index 72a76c4d79..9fcf04f3c6 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_security_groups.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_nsx_security_groups.py @@ -101,7 +101,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest): self.assertIsNotNone(nsx_dfw_section, dfw_error_msg) return nsx_nsgroup, nsx_dfw_section - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('904ca2c1-a14d-448b-b723-a7366e613bf1') def test_create_update_nsx_security_group(self): # Create a security group @@ -128,7 +128,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest): updated_secgroup['name'] self._wait_till_firewall_gets_realize(updated_secgroup, dfw_error_msg) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('e637cc59-c5e6-49b5-a539-e517e780656e') def test_delete_nsx_security_group(self): # Create a security group @@ -147,7 +147,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest): self.assertIsNone(nsx_nsgroup) self.assertIsNone(nsx_dfw_section) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('91c298c0-fbbd-4597-b4c6-1a7ecfb8a2de') def test_create_nsx_security_group_rule(self): # Create a security group @@ -205,7 +205,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest): self.assertEqual(value, nsx_dfw_rule[key], "%s does not match." % key) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('b6c424e5-3553-4b7d-bd95-8b1f0a860fb4') def test_delete_nsx_security_group_rule(self): # Create a security group diff --git a/vmware_nsx_tempest/tests/nsxv3/api/test_provider_sec_group.py b/vmware_nsx_tempest/tests/nsxv3/api/test_provider_sec_group.py index a53ac93444..6df6c50bd3 100644 --- a/vmware_nsx_tempest/tests/nsxv3/api/test_provider_sec_group.py +++ b/vmware_nsx_tempest/tests/nsxv3/api/test_provider_sec_group.py @@ -125,7 +125,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): self.assertIsNotNone(nsx_dfw_section, dfw_error_msg) return nsx_nsgroup, nsx_dfw_section - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('4fc39f02-4fb1-4e5c-bf64-b98dd7f514f7') def test_provider_security_group_at_beckend(self): sg = self.create_security_provider_group(self.cmgr_adm, provider=True) @@ -137,7 +137,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): time.sleep(constants.NSX_BACKEND_TIME_INTERVAL) self.assertNotEmpty(self.nsx.get_firewall_section(sg_name, sg_id)) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('2c8d013d-4c0b-4d2b-b77c-779351a789ce') def test_provider_security_group_crud(self): sg_desc = "crud provider-security-group" @@ -154,7 +154,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): sg_list = sg_list.get('security_groups', sg_list) self.assertEqual(len(sg_list), 0) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('2bc5452f-5673-4dbe-afb3-fb40bf0916a5') def test_admin_can_create_provider_security_group_for_tenant(self): project_id = self.cmgr_alt.networks_client.tenant_id @@ -163,14 +163,14 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): provider=True) self.assertEqual(True, sg.get('provider')) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('6ff79516-1e94-4463-9b8c-a524aa806040') def test_tenant_provider_sec_group_with_no_rules(self): sg = self.create_security_provider_group(self.cmgr_adm, provider=True) self.assertEmpty(sg.get('security_group_rules')) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('a92c8e1e-ce2c-40be-8449-d326690e078e') def test_admin_can_create_security_group_rule(self): sg_client = self.cmgr_adm.security_groups_client @@ -189,7 +189,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): ['security_group_rules'] [0]['protocol']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('8e43bd57-e478-490c-8064-4211f2c3eb6c') def test_provider_security_group_rule_at_beckend(self): sg = self.create_security_provider_group(self.cmgr_adm, provider=True) @@ -204,7 +204,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): output = self.nsx.get_firewall_section_rules(firewall_section) self.assertEqual('DROP', output[0]['action']) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('cf754eba-304f-441c-8402-0dba706fcf62') def test_provider_security_group_at_port_level(self): sg = self.create_security_provider_group(self.cmgr_adm, @@ -234,7 +234,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): kwargs = {"provider_security_groups": []} port_client.update_port(port_id['port']['id'], **kwargs) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('2c44a134-f013-46b7-a2ec-14c7c38a4d8c') def test_multiple_provider_security_group_only_on_newton(self): sg = self.create_security_provider_group(self.cmgr_adm, provider=True) @@ -245,7 +245,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): self.create_security_provider_group, self.cmgr_adm, provider=True) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('f45fc910-db83-4e0c-8ab6-178783626ad3') def test_multiple_provider_security_group_on_ocata_plus(self): # Ocata plus allows more than 1 provider security group @@ -259,7 +259,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): self.assertNotEqual(sg1.get('id'), sg2.get('id')) self.assertNotEqual(sg2.get('id'), sg3.get('id')) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('275abe9f-4f01-46e5-bde0-0b6840290d3b') def test_provider_sec_group_with_multiple_rules(self): project_id = self.cmgr_adm.networks_client.tenant_id @@ -277,7 +277,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): sg_rule2_id = sg_rule2.get('id') self.assertNotEqual(sg_rule1_id, sg_rule2_id) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('5d25370e-da6a-44a7-8565-7b1c2fc39fdc') def test_clear_provider_sec_group_from_port(self): project_id = self.cmgr_adm.networks_client.tenant_id @@ -308,7 +308,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): kwargs = {"provider_security_groups": []} port_client.update_port(port_id['port']['id'], **kwargs) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('dfc6bb8e-ba7b-4ce5-b6ee-0d0830d7e152') def test_check_security_group_precedence_at_beckend(self): project_id = self.cmgr_adm.networks_client.tenant_id @@ -346,7 +346,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): "over default security group" self.assertIn(provider_sg_name, section['display_name'], msg) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('37d8fbfc-eb3f-40c8-a146-70f5df937a2e') def test_tenant_cannot_delete_admin_provider_security_group(self): project_id = self.cmgr_adm.networks_client.tenant_id @@ -362,7 +362,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): "provider security group") pass - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('1bbebba3-780c-4e95-a95a-e52f577a6c1d') def test_tenant_cannot_create_provider_sec_group(self): project_id = self.cmgr_alt.networks_client.tenant_id @@ -372,7 +372,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): provider=True) LOG.info("Non-Admin Tenant cannot create provider sec group") - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('0d021bb2-9e21-422c-a509-6ac27803b2a2') def test_update_port_with_psg(self): net_client = self.cmgr_adm.networks_client @@ -410,7 +410,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): kwargs = {"provider_security_groups": []} port_client.update_port(port_id['port']['id'], **kwargs) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('2922a7fb-75fb-4d9f-9fdb-4b017c191aba') def test_update_port_with_psg_using_different_tenant(self): net_client = self.cmgr_alt.networks_client @@ -447,7 +447,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest): kwargs = {"provider_security_groups": []} port_client.update_port(port_id['port']['id'], **kwargs) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('cef8d816-e5fa-45a5-a5a5-f1f2ed8fb49f') def test_tenant_cannot_create_provider_sec_group_for_other_tenant(self): tenant_cmgr = self.cmgr_alt diff --git a/vmware_nsx_tempest/tests/nsxv3/scale/test_dhcp_uni_scale.py b/vmware_nsx_tempest/tests/nsxv3/scale/test_dhcp_uni_scale.py index 78aa3921d0..09559a0894 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scale/test_dhcp_uni_scale.py +++ b/vmware_nsx_tempest/tests/nsxv3/scale/test_dhcp_uni_scale.py @@ -19,7 +19,6 @@ from tempest.api.network import base from tempest import config from tempest.lib.common.utils import data_utils from tempest.lib import decorators -from tempest import test from vmware_nsx_tempest.services import nsxv3_client @@ -120,42 +119,42 @@ class NSXv3DHCPUniScaleTest(base.BaseNetworkTest): dhcp_server['id']) self.assertEqual(len(dhcp_bindings), scale) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('c5fa8d5d-3973-4d77-a0d4-f28b2ae92a2c') def test_create_100_logical_dhcp_server(self): self._create_scale_logical_dhcp_server(100) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('c2b264a2-daab-451f-ad3b-f0713a390f47') def test_create_500_logical_dhcp_server(self): self._create_scale_logical_dhcp_server(500) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('5ba22b0f-4593-4509-8998-a3002ce63406') def test_create_1k_logical_dhcp_server(self): self._create_scale_logical_dhcp_server(1000) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('ddf3d789-838a-428a-b4fe-8fe214f0e956') def test_create_2k_logical_dhcp_server(self): self._create_scale_logical_dhcp_server(2000) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('ed5441be-a700-45fa-bec1-b1d100acbb73') def test_create_4k_logical_dhcp_server(self): self._create_scale_logical_dhcp_server(4000) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('4a5484e3-f9b8-4562-8a4c-d8974a703767') def test_create_100_dhcp_bindings(self): self._create_scale_dhcp_bindings(100) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('cbb8af8c-db3a-4ad2-8954-c41670956c52') def test_create_256_dhcp_bindings(self): self._create_scale_dhcp_bindings(256) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('ffa5db0b-5922-494d-bcd3-9d5b0b10b684') def test_create_512_dhcp_bindings(self): self._create_scale_dhcp_bindings(512) diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_allowed_address_pair.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_allowed_address_pair.py index ded46d064f..537fbf5c0a 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_allowed_address_pair.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_allowed_address_pair.py @@ -22,7 +22,6 @@ from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators from tempest.scenario import manager -from tempest import test from vmware_nsx_tempest.services import nsxv3_client @@ -485,35 +484,35 @@ class TestAllowedAddressPair(manager.NetworkScenarioTest): cmd_out = ssh_source.exec_command("sudo ifconfig eth0:1") self.assertIn(ip_address_vm1, cmd_out) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('c0f0f446-65f5-40fa-8b05-b5798e8dd676') def test_allowed_adddress_pair_on_vms_with_single_ip(self): self.network_topo = self.create_network_topo() self._test_connectivity_between_allowed_adddress_pair_ports( self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('92bba9d2-c7d1-42f8-a8a2-63b1c842112d') def test_allowed_adddress_pair_ports_attach_as_interface_on_vms(self): self.network_topo = self.create_network_topo() self._test_allowed_adddress_pair_ports_attach_as_interface_on_vms( self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('ceb8a0db-8b5a-46de-a328-bf6093ea2102') def test_allowed_adddress_with_ip_mac_attach_as_interface_on_vms(self): self.network_topo = self.create_network_topo() self._test_allowed_adddress_with_ip_mac_attach_as_interface_on_vms( self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('735b9afb-2cb8-4e37-9603-2b918906a4df') def test_allowed_address_pair_on_vms_with_multiple_ips(self): self.network_topo = self.create_network_topo() self._test_allowed_address_pair_on_vms_with_multiple_ips( self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('4a0fb0e0-c801-4aed-94fe-6c57ff41c6f6') def test_vm_accessible_using_allowed_adddress_pair_port_fip(self): self.network_topo = self.create_network_topo() diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_client_cert_mgmt_ops.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_client_cert_mgmt_ops.py index 8774334383..14c95fdeca 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_client_cert_mgmt_ops.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_client_cert_mgmt_ops.py @@ -145,7 +145,7 @@ class TestCertificateMgmt(manager.NetworkScenarioTest): class TestCertificateMgmtOps(TestCertificateMgmt): openstack_tag = 'com.vmware.nsx.openstack' - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('6cb32a2b-048a-47a3-b0ed-f6337b81377f') def test_certificate_backend(self): """ @@ -154,7 +154,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt): msg = 'Error: Openstack client certificate not registered with backend' self.assertIsNotNone(self.nsx.get_openstack_client_certificate(), msg) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('25bb1af7-6190-42d5-a590-4df9fb5592f0') def test_prevention_modification_openstack_network(self): """ @@ -183,7 +183,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt): comp_id=data['id'], body=data) self.parse_response(response) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('3e9a4d5b-5a14-44a5-bf9f-8999148b9329') def test_prevention_modification_openstack_router(self): """ @@ -229,7 +229,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt): comp_id=rtr_ports[0]['id']) self.parse_response(response) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('141af4cb-52f0-4764-b817-5b0529dbbc73') def test_prevention_modification_qos_policy(self): """ @@ -268,7 +268,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt): comp_id=data['id']) self.parse_response(response) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('2b232060-dc42-4b2d-8185-64bd12e46e55') def test_prevention_modification_security_group(self): """ @@ -304,7 +304,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt): comp_id=fw_rules[0]['id']) self.parse_response(response) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('b10d5ede-d1c7-47a0-9d55-b9aabc8f0af1') def test_prevention_modification_port(self): """ @@ -328,7 +328,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt): comp_id=data['id']) self.parse_response(response) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('280cdcc6-5bd0-472c-a8a9-954dd612a0a6') def test_port_modification_super_admin(self): """ @@ -345,7 +345,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt): self.assertEqual(response.status_code, 200, "Superadmin unable to delete the logical port") - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('a874d78b-eb7a-4df6-a01b-dc0a22422dc2') def test_cert_removed_post_unstack(self): """ diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_mdproxy.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_mdproxy.py index 362f3c6d60..c6bb4f90ee 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_mdproxy.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_mdproxy.py @@ -271,7 +271,7 @@ class TestMDProxy(manager.NetworkScenarioTest): self.verify_md_proxy_logical_ports_on_backend() @decorators.idempotent_id("cc8d2ab8-0bea-4e32-bf80-c9c46a7612b7") - @test.attr(type=["negative"]) + @decorators.attr(type=["negative"]) @test.services("compute", "network") def test_mdproxy_delete_when_ls_bounded(self): (network_id, _) = self._create_net_subnet_router_interface() @@ -324,7 +324,7 @@ class TestMDProxy(manager.NetworkScenarioTest): self.verify_metadata_in_detail(instance=instance2) @decorators.idempotent_id("29d44d7c-6ea1-4b30-a6c3-a2695c2486fe") - @test.attr(type=["negative"]) + @decorators.attr(type=["negative"]) @test.services("compute", "network") def test_mdproxy_with_incorrect_password(self): router = self._create_router( diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_multi_hv_network_ops.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_multi_hv_network_ops.py index 59d55d3545..aa483096dd 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_multi_hv_network_ops.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_multi_hv_network_ops.py @@ -158,7 +158,7 @@ class TestMultiHVNetworkOps(manager.NetworkScenarioTest): {'dest': remote_ip, 'src': floating_ip}) raise - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('42373fef-cb05-47c9-bb67-32b7a3b48168') def test_multi_hv_network_l2_ops(self): """Test connectivity between ESX VM and KVM VM on same network diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_multiple_networks_ops.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_multiple_networks_ops.py index c77158a795..76398bdd9d 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_multiple_networks_ops.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_multiple_networks_ops.py @@ -199,7 +199,7 @@ class TestMultiNetworksOps(manager.NetworkScenarioTest): {'dest': remote_ip, 'src': floating_ip}) raise - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('d35d1301-bfa4-49ea-acdf-f67ba97b1937') def test_multi_networks_ops(self): """Test connectivity between VMs on same and cross network diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_nsx_port_security.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_nsx_port_security.py index cccd99d8c0..ab136825f1 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_nsx_port_security.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_nsx_port_security.py @@ -22,7 +22,6 @@ from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import test_utils from tempest.lib import decorators from tempest.scenario import manager -from tempest import test from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.services import nsxv3_client @@ -467,7 +466,7 @@ class TestNSXv3PortSecurityScenario(manager.NetworkScenarioTest): private_address_server_1, private_key_server_2) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('f1c1d9b8-2fbd-4e7c-9ba7-a1d85d8d77d3') def test_create_server_with_port_security_and_check_backend(self): self.network_topo = self.create_network_topo() @@ -476,14 +475,14 @@ class TestNSXv3PortSecurityScenario(manager.NetworkScenarioTest): self.assertEqual('True', status[0]) self.assertEqual('False', status[1]) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('6853b492-8acd-4e2b-b3a0-75112cef7066') def test_create_servers_with_port_security_and_check_traffic(self): self.network_topo = self.create_network_topo() self._test_create_servers_with_port_security_and_check_traffic( self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('f5be118c-d9cd-4401-b559-de9ee6d0fdad') def test_server_at_beckend_with_port_security(self): self.network_topo = self.create_network_topo() @@ -492,20 +491,20 @@ class TestNSXv3PortSecurityScenario(manager.NetworkScenarioTest): self.assertEqual('True', status[0]) self.assertEqual('False', status[1]) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('a64da313-e5d7-4f57-98b6-9906c35332e7') def test_connectivity_bw_port_sec_enable_port_sec_disable_server(self): self.network_topo = self.create_network_topo() self._test_connectivity_bw_port_sec_enable_port_sec_disable_server( self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('520e7847-8103-41d0-90c8-6ba52306921d') def test_connectivity_between_servers_with_router_on_same_network(self): self.network_topo = self.create_multi_network_topo() self._test_connectivity_between_servers_with_router(self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('f621bbd9-c889-4c78-9ca1-7217e0df4e95') def test_connectivity_between_servers_with_router_on_diff_networks(self): self.network_topo = self.create_network_topo() diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_provider_security_group.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_provider_security_group.py index 8a6deb4c5f..0080373938 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_provider_security_group.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_provider_security_group.py @@ -406,13 +406,13 @@ class TestProviderSecurityGroup(manager.NetworkScenarioTest): private_ip_address_default_vm_2, private_key_default_vm_1) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('9d4192e9-b1b7-48c9-af04-67a82637c715') def test_connectivity_between_default_psg_server(self): self.network_topo = self.create_network_topo() self._test_connectivity_between_default_psg_server(self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('a14b5c25-39ce-4641-bd51-f28c25e69440') def test_vm_connectivity_port_update_with_psg(self): self.network_topo = self.create_network_topo() @@ -420,19 +420,19 @@ class TestProviderSecurityGroup(manager.NetworkScenarioTest): self._test_connectivity_between_vms_after_port_update( self.network_topo, self.servers) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('4a8eac6a-68ff-4392-bab9-70ea08132acb') def test_connectivity_between_default_psg_servers(self): self.network_topo = self.create_network_topo() self._test_build_up_topology_and_check_connectivity(self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('8bae2101-4f74-4d61-a7a5-42420611cf86') def test_connectivity_between_default_psg_server_with_multi_networks(self): self.network_topo = self.create_multi_network_topo() self._test_build_up_topology_and_check_connectivity(self.network_topo) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('998789ce-8db7-4295-bce0-390fbbf0e489') def test_ping_when_psg_enabled_disbaled_on_port(self): self.network_topo = self.create_multi_network_topo() diff --git a/vmware_nsx_tempest/tests/nsxv3/scenario/test_router_nonat_ops.py b/vmware_nsx_tempest/tests/nsxv3/scenario/test_router_nonat_ops.py index 09ca0fc5df..ea4378652f 100644 --- a/vmware_nsx_tempest/tests/nsxv3/scenario/test_router_nonat_ops.py +++ b/vmware_nsx_tempest/tests/nsxv3/scenario/test_router_nonat_ops.py @@ -341,13 +341,13 @@ class TestRouterNoNATOps(manager.NetworkScenarioTest): self._check_network_internal_connectivity(network=self.network) self._check_network_vm_connectivity(network=self.network) - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('5e5bfdd4-0962-47d3-a89b-7ce64322b53e') def test_router_nat_to_nonat_ops(self): """Test update router from NATed to NoNAT scenario""" self._test_router_nat_update_when_snat() - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('b951f7fb-f2b2-40eb-8bbd-b54bd76ffbe8') def test_disable_nat_when_floating_ips_active_on_network(self): """Expect raise condition when floating ips are active on @@ -355,13 +355,13 @@ class TestRouterNoNATOps(manager.NetworkScenarioTest): """ self._test_router_nat_when_floating_ips_active_on_network() - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('a0274738-d3e7-49db-bf10-a5563610940d') def test_router_nonat_to_nat_ops(self): """Test update router from NoNAT to NATed scenario""" self._test_router_nat_update_when_no_snat() - @test.attr(type='nsxv3') + @decorators.attr(type='nsxv3') @decorators.idempotent_id('971e8e8b-3cf2-47a9-ac24-5b19f586731c') def test_only_admin_can_configure_snat(self): """Only admin can configure the SNAT""" diff --git a/vmware_nsx_tempest/tests/scenario/test_micro_segmentation_ops.py b/vmware_nsx_tempest/tests/scenario/test_micro_segmentation_ops.py index e372958a65..1e8a1551a0 100644 --- a/vmware_nsx_tempest/tests/scenario/test_micro_segmentation_ops.py +++ b/vmware_nsx_tempest/tests/scenario/test_micro_segmentation_ops.py @@ -270,7 +270,7 @@ class TestMicroSegmentationOps(manager.NetworkScenarioTest): remote_ips, should_connect) - @test.attr(type='common') + @decorators.attr(type='common') @decorators.idempotent_id('91e1ee1f-10d9-4b19-8350-804aea7e57b4') def test_micro_segmentation_ops(self): """Test micro-segmentation use case