Merge "Tempest: tempest.test.attr() is deprecated. Moving to new function"

This commit is contained in:
Jenkins 2017-07-13 20:17:28 +00:00 committed by Gerrit Code Review
commit 3486e23a23
48 changed files with 476 additions and 503 deletions

View File

@ -126,7 +126,7 @@ class NetworkTagAddTest(BaseTagsTest):
self.assertIn(tag, network['tags']) self.assertIn(tag, network['tags'])
@decorators.idempotent_id('eb52eac3-5e79-4183-803a-a3d97ceb171d') @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): def test_add_tag_one_char_too_long(self):
tag_too_long = 'a' * (MAX_TAG_LEN + 1) tag_too_long = 'a' * (MAX_TAG_LEN + 1)
network_id = self.net.get('id') network_id = self.net.get('id')
@ -135,7 +135,7 @@ class NetworkTagAddTest(BaseTagsTest):
network_id, tag_too_long) network_id, tag_too_long)
@decorators.idempotent_id('d08f3fbe-dc6f-4f3c-b9b2-4d9957884edf') @decorators.idempotent_id('d08f3fbe-dc6f-4f3c-b9b2-4d9957884edf')
@test.attr(type='negative') @decorators.attr(type='negative')
def test_add_tag_empty_one(self): def test_add_tag_empty_one(self):
network_id = self.net.get('id') network_id = self.net.get('id')
self.assertRaises(exceptions.NotFound, self.assertRaises(exceptions.NotFound,
@ -161,7 +161,7 @@ class NetworkTagRemoveTest(BaseTagsTest):
self.network_remove_tag(network_id, tag) self.network_remove_tag(network_id, tag)
@decorators.idempotent_id('1fe5a8b2-ff5d-4250-b930-21b1a3b48055') @decorators.idempotent_id('1fe5a8b2-ff5d-4250-b930-21b1a3b48055')
@test.attr(type='negative') @decorators.attr(type='negative')
def test_remove_all_tags(self): def test_remove_all_tags(self):
network_id = self.net.get('id') network_id = self.net.get('id')
self.network_replace_tags(network_id) self.network_replace_tags(network_id)
@ -172,7 +172,7 @@ class NetworkTagRemoveTest(BaseTagsTest):
self.assertEqual(len(network['tags']), 0) self.assertEqual(len(network['tags']), 0)
@decorators.idempotent_id('591337b0-a2e6-4d72-984c-e5b6a6ec12d2') @decorators.idempotent_id('591337b0-a2e6-4d72-984c-e5b6a6ec12d2')
@test.attr(type='negative') @decorators.attr(type='negative')
def test_remove_not_exist_tag(self): def test_remove_not_exist_tag(self):
"""neutron tag-remove operations.""" """neutron tag-remove operations."""
network_id = self.net.get('id') network_id = self.net.get('id')
@ -204,7 +204,7 @@ class NetworkTagReplaceTest(BaseTagsTest):
self.network_replace_tags(network_id, empty_tags) self.network_replace_tags(network_id, empty_tags)
@decorators.idempotent_id('20a05e9e-0b25-4085-b89f-fd5f0c57d2fa') @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): def test_replace_tags_one_char_too_long(self):
tags_too_long = ['aaa', 'z' * (MAX_TAG_LEN + 1)] tags_too_long = ['aaa', 'z' * (MAX_TAG_LEN + 1)]
network_id = self.net.get('id') network_id = self.net.get('id')

View File

@ -334,7 +334,7 @@ class QosPolicyTest(BaseQosTest):
self._disassociate_network(network['id'], self.primary_mgr) self._disassociate_network(network['id'], self.primary_mgr)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('9efe63d0-836f-4cc2-b00c-468e63aa614e') @decorators.idempotent_id('9efe63d0-836f-4cc2-b00c-468e63aa614e')
def test_policy_association_with_network_nonexistent_policy(self): def test_policy_association_with_network_nonexistent_policy(self):
"""Can not attach network to a nonexist policy.""" """Can not attach network to a nonexist policy."""
@ -348,7 +348,7 @@ class QosPolicyTest(BaseQosTest):
self.assertIsNone(retrieved_network['qos_policy_id'], self.assertIsNone(retrieved_network['qos_policy_id'],
'Error: Network is attached to non-existent policy') 'Error: Network is attached to non-existent policy')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('1aa55a79-324f-47d9-a076-894a8fc2448b') @decorators.idempotent_id('1aa55a79-324f-47d9-a076-894a8fc2448b')
def test_policy_association_with_network_non_shared_policy(self): def test_policy_association_with_network_non_shared_policy(self):
"""tenant/project can not attach network with not-shared policy.""" """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) updated_port = self.show_port(port_id, client_mgr=client_mgr)
self.assertIsNone(updated_port['qos_policy_id']) self.assertIsNone(updated_port['qos_policy_id'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('98fcd95e-84cf-4746-860e-44692e674f2e') @decorators.idempotent_id('98fcd95e-84cf-4746-860e-44692e674f2e')
def test_policy_association_with_port_shared_policy(self): def test_policy_association_with_port_shared_policy(self):
"""test port can associate shared policy.""" """test port can associate shared policy."""
@ -422,8 +422,8 @@ class QosPolicyTest(BaseQosTest):
self._disassociate_port(port['id'], client_mgr=self.primary_mgr) self._disassociate_port(port['id'], client_mgr=self.primary_mgr)
@test.attr(type='negative') @decorators.attr(type='negative')
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('49e02f5a-e1dd-41d5-9855-cfa37f2d195e') @decorators.idempotent_id('49e02f5a-e1dd-41d5-9855-cfa37f2d195e')
def test_policy_association_with_port_nonexistent_policy(self): def test_policy_association_with_port_nonexistent_policy(self):
"""test port cannot be created with nonexist policy.""" """test port cannot be created with nonexist policy."""
@ -436,8 +436,8 @@ class QosPolicyTest(BaseQosTest):
network, network,
qos_policy_id='49e02f5a-e1dd-41d5-9855-cfa37f2d195e') qos_policy_id='49e02f5a-e1dd-41d5-9855-cfa37f2d195e')
@test.attr(type='negative') @decorators.attr(type='negative')
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('f53d961c-9fe5-4422-8b66-7add972c6031') @decorators.idempotent_id('f53d961c-9fe5-4422-8b66-7add972c6031')
def test_policy_association_with_port_non_shared_policy(self): def test_policy_association_with_port_non_shared_policy(self):
"""project/tenant can not associate port with non-shared policy.""" """project/tenant can not associate port with non-shared policy."""
@ -459,7 +459,7 @@ class QosPolicyTest(BaseQosTest):
self.assertIsNone(retrieved_port['qos_policy_id'], self.assertIsNone(retrieved_port['qos_policy_id'],
'Error:Port is attached to qos policy') 'Error:Port is attached to qos policy')
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('f8163237-fba9-4db5-9526-bad6d2343c76') @decorators.idempotent_id('f8163237-fba9-4db5-9526-bad6d2343c76')
def test_policy_update_association_with_port_shared_policy(self): def test_policy_update_association_with_port_shared_policy(self):
"""project/tenant can update port with shared policy.""" """project/tenant can update port with shared policy."""
@ -487,7 +487,7 @@ class QosPolicyTest(BaseQosTest):
self._disassociate_port(port['id']) self._disassociate_port(port['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('18163237-8ba9-4db5-9525-bad6d2343c75') @decorators.idempotent_id('18163237-8ba9-4db5-9525-bad6d2343c75')
def test_delete_not_allowed_if_policy_in_use_by_network(self): def test_delete_not_allowed_if_policy_in_use_by_network(self):
"""can not delete policy if used by network.""" """can not delete policy if used by network."""
@ -507,8 +507,8 @@ class QosPolicyTest(BaseQosTest):
self._disassociate_network(network['id'], self.admin_mgr) self._disassociate_network(network['id'], self.admin_mgr)
self.adm_qos_client.delete_policy(policy['id']) self.adm_qos_client.delete_policy(policy['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('24153230-84a9-4dd5-9525-bad6d2343c75') @decorators.idempotent_id('24153230-84a9-4dd5-9525-bad6d2343c75')
def test_delete_not_allowed_if_policy_in_use_by_port(self): def test_delete_not_allowed_if_policy_in_use_by_port(self):
"""can not delete policy if used by port.""" """can not delete policy if used by port."""
@ -583,7 +583,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest):
self.assertEqual(base_qos.RULE_TYPE_BANDWIDTH_LIMIT, self.assertEqual(base_qos.RULE_TYPE_BANDWIDTH_LIMIT,
policy_rules[0]['type']) policy_rules[0]['type'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8a59b00b-ab01-4787-92f8-93a5cdf5e378') @decorators.idempotent_id('8a59b00b-ab01-4787-92f8-93a5cdf5e378')
def test_rule_create_fail_for_the_same_type(self): def test_rule_create_fail_for_the_same_type(self):
"""One bandwidth limit rule per policy.""" """One bandwidth limit rule per policy."""
@ -648,7 +648,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest):
qos_client.show_bandwidth_limit_rule, qos_client.show_bandwidth_limit_rule,
rule['id'], policy['id']) rule['id'], policy['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('f211222c-5808-46cb-a961-983bbab6b852') @decorators.idempotent_id('f211222c-5808-46cb-a961-983bbab6b852')
def test_rule_create_rule_nonexistent_policy(self): def test_rule_create_rule_nonexistent_policy(self):
"""Cannot create rule with nonexist policy.""" """Cannot create rule with nonexist policy."""
@ -657,7 +657,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest):
self.create_qos_bandwidth_limit_rule, self.create_qos_bandwidth_limit_rule,
'policy', max_kbps=200, max_burst_kbps=1337) 'policy', max_kbps=200, max_burst_kbps=1337)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('eed8e2a6-22da-421b-89b9-935a2c1a1b50') @decorators.idempotent_id('eed8e2a6-22da-421b-89b9-935a2c1a1b50')
def test_policy_create_forbidden_for_regular_tenants(self): def test_policy_create_forbidden_for_regular_tenants(self):
"""project/tenant cannot create policy.""" """project/tenant cannot create policy."""
@ -667,7 +667,7 @@ class QosBandwidthLimitRuleTest(BaseQosTest):
'test-policy', 'test policy', False, 'test-policy', 'test policy', False,
qos_client=self.pri_qos_client) qos_client=self.pri_qos_client)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a4a2e7ad-786f-4927-a85a-e545a93bd274') @decorators.idempotent_id('a4a2e7ad-786f-4927-a85a-e545a93bd274')
def test_rule_create_forbidden_for_regular_tenants(self): def test_rule_create_forbidden_for_regular_tenants(self):
"""project/tenant cannot create rule.""" """project/tenant cannot create rule."""
@ -740,7 +740,7 @@ class QosDscpMarkingRuleTest(BaseQosTest):
self.assertEqual(base_qos.RULE_TYPE_DSCP_MARK, self.assertEqual(base_qos.RULE_TYPE_DSCP_MARK,
policy_rules[0]['type']) policy_rules[0]['type'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8b59b10b-ab01-4787-92f8-93a5cdf5e378') @decorators.idempotent_id('8b59b10b-ab01-4787-92f8-93a5cdf5e378')
def test_rule_create_fail_for_the_same_type(self): def test_rule_create_fail_for_the_same_type(self):
"""One dscp marking rule per policy.""" """One dscp marking rule per policy."""
@ -797,7 +797,7 @@ class QosDscpMarkingRuleTest(BaseQosTest):
qos_client.show_dscp_marking_rule, qos_client.show_dscp_marking_rule,
rule['id'], policy['id']) rule['id'], policy['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('f215222c-5808-46cb-a961-983bbab6b852') @decorators.idempotent_id('f215222c-5808-46cb-a961-983bbab6b852')
def test_rule_create_rule_nonexistent_policy(self): def test_rule_create_rule_nonexistent_policy(self):
"""can not create dscp marking rule with nonexist policy.""" """can not create dscp marking rule with nonexist policy."""
@ -806,7 +806,7 @@ class QosDscpMarkingRuleTest(BaseQosTest):
self.create_qos_dscp_marking_rule, self.create_qos_dscp_marking_rule,
'policy', self.VALID_DSCP_MARK1) 'policy', self.VALID_DSCP_MARK1)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a4a2e3ad-786f-4927-a85a-e545a93bd274') @decorators.idempotent_id('a4a2e3ad-786f-4927-a85a-e545a93bd274')
def test_rule_create_forbidden_for_regular_tenants(self): def test_rule_create_forbidden_for_regular_tenants(self):
"""project/tenant can not create dscp marking rule.""" """project/tenant can not create dscp marking rule."""
@ -816,7 +816,7 @@ class QosDscpMarkingRuleTest(BaseQosTest):
'policy', self.VALID_DSCP_MARK1, 'policy', self.VALID_DSCP_MARK1,
qos_client=self.pri_qos_client) qos_client=self.pri_qos_client)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('32646b08-4f05-4493-a48a-bde768a18533') @decorators.idempotent_id('32646b08-4f05-4493-a48a-bde768a18533')
def test_invalid_rule_create(self): def test_invalid_rule_create(self):
"""Can not create rule with invalid dscp_mark value.""" """Can not create rule with invalid dscp_mark value."""

View File

@ -17,7 +17,6 @@ import base_dvs as base
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest): class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest):
@ -40,7 +39,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest):
cls.subnet = cls.create_subnet(cls.network) cls.subnet = cls.create_subnet(cls.network)
cls.cidr = cls.subnet['cidr'] cls.cidr = cls.subnet['cidr']
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('1dcead1d-d773-4da1-9534-0b984ca684b3') @decorators.idempotent_id('1dcead1d-d773-4da1-9534-0b984ca684b3')
def test_create_update_delete_flat_network_subnet(self): def test_create_update_delete_flat_network_subnet(self):
# Create an admin network # Create an admin network
@ -65,7 +64,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest):
body = self.delete_network(net_id) body = self.delete_network(net_id)
self.networks.pop() self.networks.pop()
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('15d3d53c-3328-401f-b8f5-3a29aee2ea3a') @decorators.idempotent_id('15d3d53c-3328-401f-b8f5-3a29aee2ea3a')
def test_create_update_delete_vlan_network_subnet(self): def test_create_update_delete_vlan_network_subnet(self):
# Create an admin network # Create an admin network
@ -92,7 +91,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest):
body = self.delete_network(net_id) body = self.delete_network(net_id)
self.networks.pop() self.networks.pop()
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('838aee5f-92f2-47b9-86c6-629a04aa6269') @decorators.idempotent_id('838aee5f-92f2-47b9-86c6-629a04aa6269')
def test_show_network(self): def test_show_network(self):
# Verify the details of a network # Verify the details of a network
@ -102,7 +101,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest):
'provider:physical_network']: 'provider:physical_network']:
self.assertEqual(network[key], self.network[key]) self.assertEqual(network[key], self.network[key])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('b86d50ef-39a7-4136-8c89-e5e534fe92aa') @decorators.idempotent_id('b86d50ef-39a7-4136-8c89-e5e534fe92aa')
def test_list_networks(self): def test_list_networks(self):
# Verify the network exists in the list of all networks # Verify the network exists in the list of all networks
@ -111,7 +110,7 @@ class AdminNetworksTestJSON(base.BaseDvsAdminNetworkTest):
if network['id'] == self.network['id']] if network['id'] == self.network['id']]
self.assertNotEmpty(networks, "Created network not found in the list") 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') @decorators.idempotent_id('ee3f8b79-da3f-4394-9bea-012488202257')
def test_show_subnet(self): def test_show_subnet(self):
# Verify the details of a subnet # Verify the details of a subnet

View File

@ -16,7 +16,6 @@
import base_dvs as base import base_dvs as base
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest): class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest):
@ -55,7 +54,7 @@ class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest):
self.assertEqual(updated_port['name'], new_name) self.assertEqual(updated_port['name'], new_name)
self.assertFalse(updated_port['admin_state_up']) self.assertFalse(updated_port['admin_state_up'])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('d3dcd23b-7d5a-4720-8d88-473fb154d609') @decorators.idempotent_id('d3dcd23b-7d5a-4720-8d88-473fb154d609')
def test_show_port(self): def test_show_port(self):
# Verify the details of port # Verify the details of port
@ -75,7 +74,7 @@ class AdminPortsTestJSON(base.BaseDvsAdminNetworkTest):
port['security_groups']) port['security_groups'])
self.assertEqual(port['fixed_ips'], []) self.assertEqual(port['fixed_ips'], [])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('c5f74042-c512-4569-b9b9-bc2bf46e77e1') @decorators.idempotent_id('c5f74042-c512-4569-b9b9-bc2bf46e77e1')
def test_list_ports(self): def test_list_ports(self):
# Verify the port exists in the list of all ports # 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") self.assertNotEmpty(ports, "Created port not found in the list")
@decorators.idempotent_id('2775f96c-a09b-49e1-a5a4-adb83a3e91c7') @decorators.idempotent_id('2775f96c-a09b-49e1-a5a4-adb83a3e91c7')
@test.attr(type='smoke') @decorators.attr(type='smoke')
def test_list_ports_fields(self): def test_list_ports_fields(self):
# Verify specific fields of ports # Verify specific fields of ports
fields = ['binding:vif_type', 'id', 'mac_address'] fields = ['binding:vif_type', 'id', 'mac_address']

View File

@ -166,7 +166,7 @@ class TestDvsNetworkBasicOps(manager.NetworkScenarioTest):
self._check_server_connectivity(internal_ips, self._check_server_connectivity(internal_ips,
should_connect) should_connect)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@test.services('compute', 'network') @test.services('compute', 'network')
@decorators.idempotent_id('b977dce6-6527-4676-9b66-862b22058f0f') @decorators.idempotent_id('b977dce6-6527-4676-9b66-862b22058f0f')
def test_network_basic_ops(self): def test_network_basic_ops(self):

View File

@ -16,7 +16,6 @@ from oslo_utils import uuidutils
from tempest import config from tempest import config
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base from vmware_nsx_tempest.tests.nsxv.api.lbaas import base
@ -53,7 +52,7 @@ class TestHealthMonitors(base.BaseAdminTestCase):
def resource_cleanup(cls): def resource_cleanup(cls):
super(TestHealthMonitors, cls).resource_cleanup() super(TestHealthMonitors, cls).resource_cleanup()
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('24cf7da4-b829-4df5-a133-b6cef97ec560') @decorators.idempotent_id('24cf7da4-b829-4df5-a133-b6cef97ec560')
def test_create_health_monitor_missing_tenant_id_field(self): def test_create_health_monitor_missing_tenant_id_field(self):
"""Test if admin user can """Test if admin user can
@ -69,7 +68,7 @@ class TestHealthMonitors(base.BaseAdminTestCase):
hm_tenant_id = hm.get('tenant_id') hm_tenant_id = hm.get('tenant_id')
self.assertEqual(admin_tenant_id, hm_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') @decorators.idempotent_id('acbff982-15d6-43c5-a015-e72b7df30998')
def test_create_health_monitor_empty_tenant_id_field(self): def test_create_health_monitor_empty_tenant_id_field(self):
"""Test with admin user """Test with admin user
@ -83,7 +82,7 @@ class TestHealthMonitors(base.BaseAdminTestCase):
pool_id=self.pool.get('id'), pool_id=self.pool.get('id'),
tenant_id="") tenant_id="")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('a318d351-a72e-46dc-a094-8a751e4fa7aa') @decorators.idempotent_id('a318d351-a72e-46dc-a094-8a751e4fa7aa')
def test_create_health_monitor_for_another_tenant_id_field(self): def test_create_health_monitor_for_another_tenant_id_field(self):
"""Test with admin user """Test with admin user

View File

@ -12,7 +12,6 @@
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base from vmware_nsx_tempest.tests.nsxv.api.lbaas import base
@ -62,20 +61,20 @@ class TestHealthMonitors(base.BaseTestCase):
""" """
return None return None
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('3c223a4d-3733-4daa-a6e3-69a31f9e7304') @decorators.idempotent_id('3c223a4d-3733-4daa-a6e3-69a31f9e7304')
def test_list_health_monitors_empty(self): def test_list_health_monitors_empty(self):
hm_list = self._list_health_monitors() hm_list = self._list_health_monitors()
self.assertEmpty(hm_list) self.assertEmpty(hm_list)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('76880edd-b01c-4b80-ba4d-1d10f35aaeb7') @decorators.idempotent_id('76880edd-b01c-4b80-ba4d-1d10f35aaeb7')
def test_list_health_monitors_one(self): def test_list_health_monitors_one(self):
hm = self._create_health_monitor(**self.create_basic_hm_kwargs) hm = self._create_health_monitor(**self.create_basic_hm_kwargs)
hm_list = self._list_health_monitors() hm_list = self._list_health_monitors()
self.assertIn(hm, hm_list) self.assertIn(hm, hm_list)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('22b984d5-8284-4f7c-90c4-407d0e872ea8') @decorators.idempotent_id('22b984d5-8284-4f7c-90c4-407d0e872ea8')
def test_list_health_monitors_two(self): def test_list_health_monitors_two(self):
hm1 = self._create_health_monitor(**self.create_basic_hm_kwargs) 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(hm1, hm_list)
self.assertIn(hm2, hm_list) self.assertIn(hm2, hm_list)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('ca49b640-259c-49ee-be9c-b425a4bbd2cf') @decorators.idempotent_id('ca49b640-259c-49ee-be9c-b425a4bbd2cf')
def test_get_health_monitor(self): def test_get_health_monitor(self):
hm = self._create_health_monitor(**self.create_basic_hm_kwargs) hm = self._create_health_monitor(**self.create_basic_hm_kwargs)
hm_test = self._show_health_monitor(hm.get('id')) hm_test = self._show_health_monitor(hm.get('id'))
self.assertEqual(hm, hm_test) self.assertEqual(hm, hm_test)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('80ded4c2-2277-4e19-8280-3519b22a999e') @decorators.idempotent_id('80ded4c2-2277-4e19-8280-3519b22a999e')
def test_create_health_monitor(self): def test_create_health_monitor(self):
new_hm = self._create_health_monitor(**self.create_basic_hm_kwargs) new_hm = self._create_health_monitor(**self.create_basic_hm_kwargs)
hm = self._show_health_monitor(new_hm.get('id')) hm = self._show_health_monitor(new_hm.get('id'))
self.assertEqual(new_hm, hm) self.assertEqual(new_hm, hm)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('387f669b-7a02-4ab3-880d-719dd79ff853') @decorators.idempotent_id('387f669b-7a02-4ab3-880d-719dd79ff853')
def test_create_health_monitor_missing_attribute(self): def test_create_health_monitor_missing_attribute(self):
self.assertRaises(ex.BadRequest, self._create_health_monitor, self.assertRaises(ex.BadRequest, self._create_health_monitor,
type='HTTP', delay=3, max_retries=10, type='HTTP', delay=3, max_retries=10,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type=['smoke', 'negative']) @decorators.attr(type=['smoke', 'negative'])
@decorators.idempotent_id('bf2ec88e-91d3-48f5-b9f2-be3dab21445c') @decorators.idempotent_id('bf2ec88e-91d3-48f5-b9f2-be3dab21445c')
def test_create_health_monitor_missing_required_field_type(self): def test_create_health_monitor_missing_required_field_type(self):
"""Test if a non_admin user can """Test if a non_admin user can
@ -127,7 +126,7 @@ class TestHealthMonitors(base.BaseTestCase):
delay=3, max_retries=10, timeout=5, delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type=['smoke', 'negative']) @decorators.attr(type=['smoke', 'negative'])
@decorators.idempotent_id('85110a81-d905-40f1-92c0-7dafb1617915') @decorators.idempotent_id('85110a81-d905-40f1-92c0-7dafb1617915')
def test_create_health_monitor_missing_required_field_delay(self): def test_create_health_monitor_missing_required_field_delay(self):
"""Test if a non_admin user can """Test if a non_admin user can
@ -138,7 +137,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', max_retries=10, timeout=5, type='HTTP', max_retries=10, timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type=['smoke', 'negative']) @decorators.attr(type=['smoke', 'negative'])
@decorators.idempotent_id('10ed9396-271a-4edd-948d-93ad44df2713') @decorators.idempotent_id('10ed9396-271a-4edd-948d-93ad44df2713')
def test_create_health_monitor_missing_required_field_timeout(self): def test_create_health_monitor_missing_required_field_timeout(self):
"""Test if a non_admin user can """Test if a non_admin user can
@ -149,7 +148,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, max_retries=10, type='HTTP', delay=3, max_retries=10,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type=['smoke', 'negative']) @decorators.attr(type=['smoke', 'negative'])
@decorators.idempotent_id('69614cb5-9078-4b93-8dfa-45d59ac240f8') @decorators.idempotent_id('69614cb5-9078-4b93-8dfa-45d59ac240f8')
def test_create_health_monitor_missing_required_field_max_retries(self): def test_create_health_monitor_missing_required_field_max_retries(self):
"""Test if a non_admin user """Test if a non_admin user
@ -160,7 +159,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, timeout=5, type='HTTP', delay=3, timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type=['smoke', 'negative']) @decorators.attr(type=['smoke', 'negative'])
@decorators.idempotent_id('543d1f68-1b3a-49c8-bc6c-3eb8123b6e9a') @decorators.idempotent_id('543d1f68-1b3a-49c8-bc6c-3eb8123b6e9a')
def test_create_health_monitor_missing_required_field_pool_id(self): def test_create_health_monitor_missing_required_field_pool_id(self):
"""Test if a non_admin user """Test if a non_admin user
@ -170,7 +169,7 @@ class TestHealthMonitors(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_health_monitor, self.assertRaises(ex.BadRequest, self._create_health_monitor,
type='HTTP', delay=3, max_retries=10, timeout=5) 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') @decorators.idempotent_id('4f8d17d2-3e52-4e34-83c7-4398b328c559')
def test_create_health_monitor_missing_admin_state_up(self): def test_create_health_monitor_missing_admin_state_up(self):
"""Test if a non_admin user """Test if a non_admin user
@ -185,7 +184,7 @@ class TestHealthMonitors(base.BaseTestCase):
self.assertEqual(hm, hm_test) self.assertEqual(hm, hm_test)
self.assertEqual(True, hm_test.get('admin_state_up')) 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') @decorators.idempotent_id('6e1066d3-f358-446e-a574-5d4ceaf0b51d')
def test_create_health_monitor_missing_http_method(self): def test_create_health_monitor_missing_http_method(self):
"""Test if a non_admin user """Test if a non_admin user
@ -200,7 +199,7 @@ class TestHealthMonitors(base.BaseTestCase):
self.assertEqual(hm, hm_test) self.assertEqual(hm, hm_test)
self.assertEqual('GET', hm_test.get('http_method')) self.assertEqual('GET', hm_test.get('http_method'))
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('9b25196f-7476-4ed7-9542-1f22a76b79f8') @decorators.idempotent_id('9b25196f-7476-4ed7-9542-1f22a76b79f8')
def test_create_health_monitor_missing_url_path(self): def test_create_health_monitor_missing_url_path(self):
"""Test if a non_admin user """Test if a non_admin user
@ -215,7 +214,7 @@ class TestHealthMonitors(base.BaseTestCase):
self.assertEqual(hm, hm_test) self.assertEqual(hm, hm_test)
self.assertEqual('/', hm_test.get('url_path')) self.assertEqual('/', hm_test.get('url_path'))
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('c69da922-1c46-4b9b-8b8b-2e700d506a9c') @decorators.idempotent_id('c69da922-1c46-4b9b-8b8b-2e700d506a9c')
def test_create_health_monitor_missing_expected_codes(self): def test_create_health_monitor_missing_expected_codes(self):
"""Test if a non_admin user """Test if a non_admin user
@ -230,7 +229,7 @@ class TestHealthMonitors(base.BaseTestCase):
self.assertEqual(hm, hm_test) self.assertEqual(hm, hm_test)
self.assertEqual('200', hm_test.get('expected_codes')) self.assertEqual('200', hm_test.get('expected_codes'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a00cb8e0-cd0b-44d0-85b0-5935a0297e37') @decorators.idempotent_id('a00cb8e0-cd0b-44d0-85b0-5935a0297e37')
def test_create_health_monitor_invalid_tenant_id(self): def test_create_health_monitor_invalid_tenant_id(self):
"""Test create health monitor with invalid tenant_id""" """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, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('fcd93a6d-1fec-4031-9c18-611f4f3b270e') @decorators.idempotent_id('fcd93a6d-1fec-4031-9c18-611f4f3b270e')
def test_create_health_monitor_invalid_type(self): def test_create_health_monitor_invalid_type(self):
"""Test create health monitor with invalid type""" """Test create health monitor with invalid type"""
@ -247,7 +246,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='blah', delay=3, max_retries=10, timeout=5, type='blah', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('3c2829d9-5d51-4bcc-b83e-f28f6e6d0bc3') @decorators.idempotent_id('3c2829d9-5d51-4bcc-b83e-f28f6e6d0bc3')
def test_create_health_monitor_invalid_delay(self): def test_create_health_monitor_invalid_delay(self):
"""Test create health monitor with invalid delay""" """Test create health monitor with invalid delay"""
@ -255,7 +254,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay='blah', max_retries=10, type='HTTP', delay='blah', max_retries=10,
timeout=5, pool_id=self.pool.get('id')) timeout=5, pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('7155e366-72a2-47a0-9fcf-25e38a3ef7f7') @decorators.idempotent_id('7155e366-72a2-47a0-9fcf-25e38a3ef7f7')
def test_create_health_monitor_invalid_max_retries(self): def test_create_health_monitor_invalid_max_retries(self):
"""Test create health monitor with invalid max_retries""" """Test create health monitor with invalid max_retries"""
@ -263,7 +262,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, max_retries='blah', type='HTTP', delay=3, max_retries='blah',
timeout=5, pool_id=self.pool.get('id')) timeout=5, pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('fb5d0016-5ea6-4697-8049-e80473e67880') @decorators.idempotent_id('fb5d0016-5ea6-4697-8049-e80473e67880')
def test_create_health_monitor_invalid_timeout(self): def test_create_health_monitor_invalid_timeout(self):
"""Test create health monitor with invalid timeout""" """Test create health monitor with invalid timeout"""
@ -271,7 +270,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, max_retries=10, type='HTTP', delay=3, max_retries=10,
timeout='blah', pool_id=self.pool.get('id')) timeout='blah', pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('7f3e6e95-3eac-4a46-983a-ba1fd3b0afdf') @decorators.idempotent_id('7f3e6e95-3eac-4a46-983a-ba1fd3b0afdf')
def test_create_health_monitor_invalid_pool_id(self): def test_create_health_monitor_invalid_pool_id(self):
"""Test create health monitor with invalid pool id""" """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, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id='blah') pool_id='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('f5aacc27-3573-4749-9cb9-3261fcabf1e9') @decorators.idempotent_id('f5aacc27-3573-4749-9cb9-3261fcabf1e9')
def test_create_health_monitor_invalid_admin_state_up(self): def test_create_health_monitor_invalid_admin_state_up(self):
"""Test if a non_admin user """Test if a non_admin user
@ -291,7 +290,7 @@ class TestHealthMonitors(base.BaseTestCase):
pool_id=self.pool.get('id'), pool_id=self.pool.get('id'),
admin_state_up='blah') admin_state_up='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('0f9f2488-aefb-44c9-a08b-67b715e63091') @decorators.idempotent_id('0f9f2488-aefb-44c9-a08b-67b715e63091')
def test_create_health_monitor_invalid_expected_codes(self): def test_create_health_monitor_invalid_expected_codes(self):
"""Test if a non_admin user """Test if a non_admin user
@ -303,7 +302,7 @@ class TestHealthMonitors(base.BaseTestCase):
pool_id=self.pool.get('id'), pool_id=self.pool.get('id'),
expected_codes='blah') expected_codes='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('0d637b7f-52ea-429f-8f97-584a5a9118aa') @decorators.idempotent_id('0d637b7f-52ea-429f-8f97-584a5a9118aa')
def test_create_health_monitor_invalid_url_path(self): def test_create_health_monitor_invalid_url_path(self):
"""Test if a non_admin user """Test if a non_admin user
@ -315,7 +314,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, max_retries=10, timeout=5, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id'), url_path='blah') 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') @decorators.idempotent_id('7d4061c4-1fbc-43c3-81b5-2d099a120297')
def test_create_health_monitor_invalid_http_method(self): def test_create_health_monitor_invalid_http_method(self):
"""Test if a non_admin user """Test if a non_admin user
@ -327,7 +326,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, max_retries=10, timeout=5, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id'), http_method='blah') 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') @decorators.idempotent_id('b655cee7-df0d-4531-bd98-a4918d2e752a')
def test_create_health_monitor_empty_type(self): def test_create_health_monitor_empty_type(self):
"""Test create health monitor with empty type""" """Test create health monitor with empty type"""
@ -335,7 +334,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='', delay=3, max_retries=10, timeout=5, type='', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('d843c9f4-507e-462f-8f2b-319af23029db') @decorators.idempotent_id('d843c9f4-507e-462f-8f2b-319af23029db')
def test_create_health_monitor_empty_delay(self): def test_create_health_monitor_empty_delay(self):
"""Test create health monitor with empty delay""" """Test create health monitor with empty delay"""
@ -343,7 +342,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay='', max_retries=10, timeout=5, type='HTTP', delay='', max_retries=10, timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('bb9cb2b0-2684-4f4d-b344-6e7b0c58b019') @decorators.idempotent_id('bb9cb2b0-2684-4f4d-b344-6e7b0c58b019')
def test_create_health_monitor_empty_timeout(self): def test_create_health_monitor_empty_timeout(self):
"""Test create health monitor with empty timeout""" """Test create health monitor with empty timeout"""
@ -351,7 +350,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, max_retries=10, timeout='', type='HTTP', delay=3, max_retries=10, timeout='',
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('3b52441d-5e8a-4d17-b772-bd261d0c2656') @decorators.idempotent_id('3b52441d-5e8a-4d17-b772-bd261d0c2656')
def test_create_health_monitor_empty_max_retries(self): def test_create_health_monitor_empty_max_retries(self):
"""Test create health monitor with empty max_retries""" """Test create health monitor with empty max_retries"""
@ -359,7 +358,7 @@ class TestHealthMonitors(base.BaseTestCase):
type='HTTP', delay=3, max_retries='', timeout=5, type='HTTP', delay=3, max_retries='', timeout=5,
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('397aa201-25c1-4828-8c60-9cee5c4d89ab') @decorators.idempotent_id('397aa201-25c1-4828-8c60-9cee5c4d89ab')
# NSX-v does reject empty pool_id # NSX-v does reject empty pool_id
def test_create_health_monitor_empty_max_pool_id(self): 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, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id='') pool_id='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('e806c916-877c-41dc-bacb-aabd9684a540') @decorators.idempotent_id('e806c916-877c-41dc-bacb-aabd9684a540')
# NSX-v does reject empty admin_state_up # NSX-v does reject empty admin_state_up
def test_create_health_monitor_empty_max_admin_state_up(self): 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, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id'), admin_state_up='') 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') @decorators.idempotent_id('9c8e8fe8-a3a2-481b-9ac8-eb9ecccd8330')
def test_create_health_monitor_empty_max_http_method(self): def test_create_health_monitor_empty_max_http_method(self):
"""Test create health monitor with empty http_method """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, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id'), http_method='') pool_id=self.pool.get('id'), http_method='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('9016c846-fc7c-4063-9f01-61fad37c435d') @decorators.idempotent_id('9016c846-fc7c-4063-9f01-61fad37c435d')
def test_create_health_monitor_empty_max_url_path(self): def test_create_health_monitor_empty_max_url_path(self):
"""Test create health monitor with empty url_path """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, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id'), url_path='') pool_id=self.pool.get('id'), url_path='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('5df60d27-55ec-42a9-96cd-3affa611c8b1') @decorators.idempotent_id('5df60d27-55ec-42a9-96cd-3affa611c8b1')
# NSX-v does reject empty expected_codes # NSX-v does reject empty expected_codes
def test_create_health_monitor_empty_expected_codes(self): 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, type='HTTP', delay=3, max_retries=10, timeout=5,
pool_id=self.pool.get('id'), expected_codes='') pool_id=self.pool.get('id'), expected_codes='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('da63bd3a-89d5-40dd-b920-420263cbfd93') @decorators.idempotent_id('da63bd3a-89d5-40dd-b920-420263cbfd93')
def test_create_health_monitor_invalid_attribute(self): def test_create_health_monitor_invalid_attribute(self):
self.assertRaises(ex.BadRequest, self._create_health_monitor, self.assertRaises(ex.BadRequest, self._create_health_monitor,
type='HTTP', delay=3, max_retries='twenty one', type='HTTP', delay=3, max_retries='twenty one',
pool_id=self.pool.get('id')) pool_id=self.pool.get('id'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('2005ded4-7d26-4946-8d22-e05bf026bd44') @decorators.idempotent_id('2005ded4-7d26-4946-8d22-e05bf026bd44')
def test_create_health_monitor_extra_attribute(self): def test_create_health_monitor_extra_attribute(self):
self.assertRaises(ex.BadRequest, self._create_health_monitor, self.assertRaises(ex.BadRequest, self._create_health_monitor,
type='HTTP', delay=3, max_retries=10, type='HTTP', delay=3, max_retries=10,
pool_id=self.pool.get('id'), subnet_id=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') @decorators.idempotent_id('79b4a4f9-1d2d-4df0-a11b-dd97f973dff2')
def test_update_health_monitor(self): def test_update_health_monitor(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -433,7 +432,7 @@ class TestHealthMonitors(base.BaseTestCase):
hm.get('id'), max_retries=max_retries) hm.get('id'), max_retries=max_retries)
self.assertEqual(max_retries, new_hm.get('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') @decorators.idempotent_id('9496ba1f-e917-4972-883b-432e44f3cf19')
def test_update_health_monitor_missing_admin_state_up(self): def test_update_health_monitor_missing_admin_state_up(self):
"""Test update health monitor with missing admin state field""" """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')) new_hm = self._update_health_monitor(hm.get('id'))
self.assertEqual(True, new_hm.get('admin_state_up')) 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') @decorators.idempotent_id('88570f22-cb68-47b4-a020-52b75af818d3')
def test_update_health_monitor_missing_delay(self): def test_update_health_monitor_missing_delay(self):
"""Test update health monitor with missing delay field""" """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')) new_hm = self._update_health_monitor(hm.get('id'))
self.assertEqual(hm.get('delay'), new_hm.get('delay')) 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') @decorators.idempotent_id('45ace70d-28a5-405d-95cd-b2c92ccaa593')
def test_update_health_monitor_missing_timeout(self): def test_update_health_monitor_missing_timeout(self):
"""Test update health monitor with missing timeout field""" """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')) new_hm = self._update_health_monitor(hm.get('id'))
self.assertEqual(hm.get('timeout'), new_hm.get('timeout')) 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') @decorators.idempotent_id('269af536-2352-4772-bf35-268df9f4542c')
def test_update_health_monitor_missing_max_retries(self): def test_update_health_monitor_missing_max_retries(self):
"""Test update health monitor with missing max retries field""" """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')) new_hm = self._update_health_monitor(hm.get('id'))
self.assertEqual(hm.get('max_retries'), new_hm.get('max_retries')) 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') @decorators.idempotent_id('318d972f-9cd1-42ef-9b8b-2f91ba785ac7')
def test_update_health_monitor_missing_http_method(self): def test_update_health_monitor_missing_http_method(self):
"""Test update health monitor with missing http_method field""" """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')) new_hm = self._update_health_monitor(hm.get('id'))
self.assertEqual(hm.get('http_method'), new_hm.get('http_method')) 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') @decorators.idempotent_id('4b97ab67-889d-480c-bedc-f06d86479bb5')
def test_update_health_monitor_missing_url_path(self): def test_update_health_monitor_missing_url_path(self):
"""Test update health monitor with missing url_path field""" """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')) new_hm = self._update_health_monitor(hm.get('id'))
self.assertEqual(hm.get('url_path'), new_hm.get('url_path')) 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') @decorators.idempotent_id('095cdb91-0937-4ae1-8b46-5edd10f00a1e')
def test_update_health_monitor_missing_expected_codes(self): def test_update_health_monitor_missing_expected_codes(self):
"""Test update health monitor with missing expected_codes field""" """Test update health monitor with missing expected_codes field"""
@ -511,7 +510,7 @@ class TestHealthMonitors(base.BaseTestCase):
self.assertEqual(hm.get('expected_codes'), self.assertEqual(hm.get('expected_codes'),
new_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') @decorators.idempotent_id('646d74ed-9afe-4710-a677-c36f85482731')
def test_update_health_monitor_invalid_attribute(self): def test_update_health_monitor_invalid_attribute(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -521,7 +520,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), max_retries='blue') hm.get('id'), max_retries='blue')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('9d717551-82ab-4073-a269-8b05b67d8306') @decorators.idempotent_id('9d717551-82ab-4073-a269-8b05b67d8306')
def test_update_health_monitor_invalid_admin_state_up(self): def test_update_health_monitor_invalid_admin_state_up(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -531,7 +530,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), admin_state_up='blah') hm.get('id'), admin_state_up='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('b865dc8a-695b-4f15-891c-e73b7402ddeb') @decorators.idempotent_id('b865dc8a-695b-4f15-891c-e73b7402ddeb')
def test_update_health_monitor_invalid_delay(self): def test_update_health_monitor_invalid_delay(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -541,7 +540,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), delay='blah') hm.get('id'), delay='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('813c8bc1-7ba6-4ae5-96f3-1fdb10ae7be3') @decorators.idempotent_id('813c8bc1-7ba6-4ae5-96f3-1fdb10ae7be3')
def test_update_health_monitor_invalid_timeout(self): def test_update_health_monitor_invalid_timeout(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -551,7 +550,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), timeout='blah') hm.get('id'), timeout='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('05456473-5014-43ae-97a2-3790e4987526') @decorators.idempotent_id('05456473-5014-43ae-97a2-3790e4987526')
def test_update_health_monitor_invalid_max_retries(self): def test_update_health_monitor_invalid_max_retries(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -561,7 +560,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), max_retries='blah') hm.get('id'), max_retries='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('1e2fb718-de77-46a3-8897-6f5aff6cab5e') @decorators.idempotent_id('1e2fb718-de77-46a3-8897-6f5aff6cab5e')
def test_update_health_monitor_invalid_http_method(self): def test_update_health_monitor_invalid_http_method(self):
"""Kilo: @decorators.skip_because(bug="1641643")""" """Kilo: @decorators.skip_because(bug="1641643")"""
@ -572,7 +571,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), http_method='blah') hm.get('id'), http_method='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('07d62a55-18b3-4b74-acb2-b73a0b5e4364') @decorators.idempotent_id('07d62a55-18b3-4b74-acb2-b73a0b5e4364')
def test_update_health_monitor_invalid_url_path(self): def test_update_health_monitor_invalid_url_path(self):
"""Kilo: @decorators.skip_because(bug="1641652")""" """Kilo: @decorators.skip_because(bug="1641652")"""
@ -583,7 +582,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), url_path='blah') hm.get('id'), url_path='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('47c96e10-4863-4635-8bc6-371d460f61bc') @decorators.idempotent_id('47c96e10-4863-4635-8bc6-371d460f61bc')
def test_update_health_monitor_invalid_expected_codes(self): def test_update_health_monitor_invalid_expected_codes(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -593,7 +592,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), expected_codes='blah') hm.get('id'), expected_codes='blah')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8594b3a3-70e8-4dfa-8928-18bc1cc7ab4a') @decorators.idempotent_id('8594b3a3-70e8-4dfa-8928-18bc1cc7ab4a')
def test_update_health_monitor_empty_admin_state_up(self): def test_update_health_monitor_empty_admin_state_up(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -603,7 +602,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), admin_state_up='') hm.get('id'), admin_state_up='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('1e1b761d-5114-4931-935d-1069d66e2bb1') @decorators.idempotent_id('1e1b761d-5114-4931-935d-1069d66e2bb1')
def test_update_health_monitor_empty_delay(self): def test_update_health_monitor_empty_delay(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -613,7 +612,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), empty_delay='') hm.get('id'), empty_delay='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('e6e4a6b7-50b4-465d-be02-44fd5f258bb6') @decorators.idempotent_id('e6e4a6b7-50b4-465d-be02-44fd5f258bb6')
def test_update_health_monitor_empty_timeout(self): def test_update_health_monitor_empty_timeout(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -623,7 +622,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), timeout='') hm.get('id'), timeout='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('65d05adf-a399-4457-bd83-92c43c1eca01') @decorators.idempotent_id('65d05adf-a399-4457-bd83-92c43c1eca01')
def test_update_health_monitor_empty_max_retries(self): def test_update_health_monitor_empty_max_retries(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -633,7 +632,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), max_retries='') hm.get('id'), max_retries='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('0c464bb3-ff84-4816-9237-4583e4da9881') @decorators.idempotent_id('0c464bb3-ff84-4816-9237-4583e4da9881')
def test_update_health_monitor_empty_empty_http_method(self): def test_update_health_monitor_empty_empty_http_method(self):
"""Kilo: @decorators.skip_because(bug="1639340")""" """Kilo: @decorators.skip_because(bug="1639340")"""
@ -644,7 +643,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), http_method='') hm.get('id'), http_method='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('3e87c0a8-ef15-457c-a58f-270de8c5c76c') @decorators.idempotent_id('3e87c0a8-ef15-457c-a58f-270de8c5c76c')
def test_update_health_monitor_empty_url_path(self): def test_update_health_monitor_empty_url_path(self):
"""Kilo: @decorators.skip_because(bug="1639340")""" """Kilo: @decorators.skip_because(bug="1639340")"""
@ -655,7 +654,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), url_path='') hm.get('id'), url_path='')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('d45189e6-db9f-44d1-b5ad-8b7691e781ee') @decorators.idempotent_id('d45189e6-db9f-44d1-b5ad-8b7691e781ee')
def test_update_health_monitor_empty_expected_codes(self): def test_update_health_monitor_empty_expected_codes(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -665,7 +664,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), expected_codes='') hm.get('id'), expected_codes='')
@test.attr(type=['smoke', 'negative']) @decorators.attr(type=['smoke', 'negative'])
@decorators.idempotent_id('cf70e44e-8060-494a-b577-d656726ba3d8') @decorators.idempotent_id('cf70e44e-8060-494a-b577-d656726ba3d8')
def test_update_health_monitor_extra_attribute(self): def test_update_health_monitor_extra_attribute(self):
hm = self._create_health_monitor(type='HTTP', delay=3, hm = self._create_health_monitor(type='HTTP', delay=3,
@ -675,7 +674,7 @@ class TestHealthMonitors(base.BaseTestCase):
self._update_health_monitor, self._update_health_monitor,
hm.get('id'), protocol='UDP') hm.get('id'), protocol='UDP')
@test.attr(type=['smoke', 'negative']) @decorators.attr(type=['smoke', 'negative'])
@decorators.idempotent_id('fe44e0d9-957b-44cf-806b-af7819444864') @decorators.idempotent_id('fe44e0d9-957b-44cf-806b-af7819444864')
def test_delete_health_monitor(self): def test_delete_health_monitor(self):
"""Kilo: @decorators.skip_because(bug="1639340")""" """Kilo: @decorators.skip_because(bug="1639340")"""

View File

@ -15,7 +15,6 @@ from oslo_log import log as logging
from tempest import config from tempest import config
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base from vmware_nsx_tempest.tests.nsxv.api.lbaas import base
@ -53,7 +52,7 @@ class ListenersTest(base.BaseAdminTestCase):
def resource_cleanup(cls): def resource_cleanup(cls):
super(ListenersTest, cls).resource_cleanup() super(ListenersTest, cls).resource_cleanup()
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('f84bfb35-7f73-4576-b2ca-26193850d2bf') @decorators.idempotent_id('f84bfb35-7f73-4576-b2ca-26193850d2bf')
def test_create_listener_empty_tenant_id(self): def test_create_listener_empty_tenant_id(self):
"""Test create listener with an empty tenant id should fail """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, load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('71ebb8d6-ff2a-410d-a089-b086f195609d') @decorators.idempotent_id('71ebb8d6-ff2a-410d-a089-b086f195609d')
def test_create_listener_invalid_tenant_id(self): def test_create_listener_invalid_tenant_id(self):
"""Test create listener with an invalid tenant id""" """Test create listener with an invalid tenant id"""
@ -87,7 +86,7 @@ class ListenersTest(base.BaseAdminTestCase):
listener = self._show_listener(new_listener_id) listener = self._show_listener(new_listener_id)
self.assertEqual(new_listener, listener) self.assertEqual(new_listener, listener)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('55eaeab9-a21e-470c-8861-5af1ded9d64a') @decorators.idempotent_id('55eaeab9-a21e-470c-8861-5af1ded9d64a')
def test_create_listener_missing_tenant_id(self): def test_create_listener_missing_tenant_id(self):
"""Test create listener with an missing tenant id. """Test create listener with an missing tenant id.

View File

@ -15,7 +15,6 @@ from oslo_log import log as logging
from tempest import config from tempest import config
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions from tempest.lib import exceptions
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base 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 = cls._create_listener(**cls.create_listener_kwargs)
cls.listener_id = cls.listener['id'] cls.listener_id = cls.listener['id']
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('32ae6156-d809-49fc-a45b-55269660651c') @decorators.idempotent_id('32ae6156-d809-49fc-a45b-55269660651c')
def test_get_listener(self): def test_get_listener(self):
"""Test get listener""" """Test get listener"""
@ -62,7 +61,7 @@ class ListenersTest(base.BaseTestCase):
self._check_status_tree(load_balancer_id=self.load_balancer_id, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('4013ab83-924a-4c53-982e-83388d7ad4d9') @decorators.idempotent_id('4013ab83-924a-4c53-982e-83388d7ad4d9')
def test_list_listeners(self): def test_list_listeners(self):
"""Test get listeners with one listener""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('04f58729-3f93-4616-bb9d-8baaff3542b2') @decorators.idempotent_id('04f58729-3f93-4616-bb9d-8baaff3542b2')
def test_list_listeners_two(self): def test_list_listeners_two(self):
"""Test get listeners with two listeners""" """Test get listeners with two listeners"""
@ -91,7 +90,7 @@ class ListenersTest(base.BaseTestCase):
self.assertIn(new_listener, listeners) self.assertIn(new_listener, listeners)
self.assertNotEqual(self.listener, new_listener) self.assertNotEqual(self.listener, new_listener)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('7989096b-95c2-4b26-86b1-5aec0a2d8386') @decorators.idempotent_id('7989096b-95c2-4b26-86b1-5aec0a2d8386')
def test_create_listener(self): def test_create_listener(self):
"""Test create listener""" """Test create listener"""
@ -108,7 +107,7 @@ class ListenersTest(base.BaseTestCase):
self.assertEqual(new_listener, listener) self.assertEqual(new_listener, listener)
self.assertNotEqual(self.listener, new_listener) self.assertNotEqual(self.listener, new_listener)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('f7ef7f56-b791-48e8-9bbe-838a3ed94519') @decorators.idempotent_id('f7ef7f56-b791-48e8-9bbe-838a3ed94519')
def test_create_listener_missing_field_loadbalancer(self): def test_create_listener_missing_field_loadbalancer(self):
"""Test create listener with a missing required field loadbalancer""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('c392301c-3d9a-4123-85c3-124e4e3253f6') @decorators.idempotent_id('c392301c-3d9a-4123-85c3-124e4e3253f6')
def test_create_listener_missing_field_protocol(self): def test_create_listener_missing_field_protocol(self):
"""Test create listener with a missing required field protocol""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('12c1c5b5-81a9-4384-811e-7131f65f3b1b') @decorators.idempotent_id('12c1c5b5-81a9-4384-811e-7131f65f3b1b')
def test_create_listener_missing_field_protocol_port(self): def test_create_listener_missing_field_protocol_port(self):
"""Test create listener with a missing required field protocol_port""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('214a7acc-eacb-4828-ad27-b7f4774947cf') @decorators.idempotent_id('214a7acc-eacb-4828-ad27-b7f4774947cf')
def test_create_listener_missing_admin_state_up(self): def test_create_listener_missing_admin_state_up(self):
"""Test create listener with a missing admin_state_up field""" """Test create listener with a missing admin_state_up field"""
@ -158,7 +157,7 @@ class ListenersTest(base.BaseTestCase):
self.assertEqual(new_listener, listener) self.assertEqual(new_listener, listener)
self.assertTrue(new_listener['admin_state_up']) self.assertTrue(new_listener['admin_state_up'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('86d892dd-9025-4051-a160-8bf1bbb8c64d') @decorators.idempotent_id('86d892dd-9025-4051-a160-8bf1bbb8c64d')
def test_create_listener_invalid_load_balancer_id(self): def test_create_listener_invalid_load_balancer_id(self):
"""Test create listener with an invalid load_balancer_id""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('fb430d68-e68d-4bd0-b43d-f1175ad5a819') @decorators.idempotent_id('fb430d68-e68d-4bd0-b43d-f1175ad5a819')
def test_create_listener_invalid_protocol(self): def test_create_listener_invalid_protocol(self):
"""Test create listener with an invalid protocol""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8e472e7e-a5c2-4dba-ac5c-993f6e6bb229') @decorators.idempotent_id('8e472e7e-a5c2-4dba-ac5c-993f6e6bb229')
def test_create_listener_invalid_protocol_port(self): def test_create_listener_invalid_protocol_port(self):
"""Test create listener with an invalid protocol_port""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('57fc90f4-95e4-4f3c-8f53-32c7282b956e') @decorators.idempotent_id('57fc90f4-95e4-4f3c-8f53-32c7282b956e')
def test_create_listener_invalid_admin_state_up(self): def test_create_listener_invalid_admin_state_up(self):
"""Test update listener with an invalid admin_state_up""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('556e1ab9-051c-4e9c-aaaa-f11d15de070b') @decorators.idempotent_id('556e1ab9-051c-4e9c-aaaa-f11d15de070b')
def test_create_listener_invalid_tenant_id(self): def test_create_listener_invalid_tenant_id(self):
"""Test create listener with an invalid tenant id""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('59d32fd7-06f6-4466-bdd4-0be23b15970c') @decorators.idempotent_id('59d32fd7-06f6-4466-bdd4-0be23b15970c')
def test_create_listener_invalid_name(self): def test_create_listener_invalid_name(self):
"""Test create listener with an invalid name """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('95457f70-2c1a-4c14-aa80-db8e803d78a9') @decorators.idempotent_id('95457f70-2c1a-4c14-aa80-db8e803d78a9')
def test_create_listener_invalid_description(self): def test_create_listener_invalid_description(self):
"""Test create listener with an invalid description """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('177d337f-fe0c-406c-92f1-a25c0103bd0f') @decorators.idempotent_id('177d337f-fe0c-406c-92f1-a25c0103bd0f')
def test_create_listener_invalid_connection_limit(self): def test_create_listener_invalid_connection_limit(self):
"""Test create listener_ids """Test create listener_ids
@ -267,7 +266,7 @@ class ListenersTest(base.BaseTestCase):
self._check_status_tree(load_balancer_id=self.load_balancer_id, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8af7b033-8ff7-4bdb-8949-76809745d8a9') @decorators.idempotent_id('8af7b033-8ff7-4bdb-8949-76809745d8a9')
def test_create_listener_empty_load_balancer_id(self): def test_create_listener_empty_load_balancer_id(self):
"""Test create listener with an empty load_balancer_id""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('242af61b-ce50-46e2-926a-6801600dcee4') @decorators.idempotent_id('242af61b-ce50-46e2-926a-6801600dcee4')
def test_create_listener_empty_protocol(self): def test_create_listener_empty_protocol(self):
"""Test create listener with an empty protocol""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('4866af4c-2b91-4bce-af58-af77f19d9119') @decorators.idempotent_id('4866af4c-2b91-4bce-af58-af77f19d9119')
def test_create_listener_empty_protocol_port(self): def test_create_listener_empty_protocol_port(self):
"""Test create listener with an empty protocol_port""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('09636ad1-a9d5-4c03-92db-ae5d9847993d') @decorators.idempotent_id('09636ad1-a9d5-4c03-92db-ae5d9847993d')
def test_create_listener_empty_admin_state_up(self): def test_create_listener_empty_admin_state_up(self):
"""Test update listener with an empty admin_state_up""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('46fc3784-d676-42f7-953b-a23c1d62323d') @decorators.idempotent_id('46fc3784-d676-42f7-953b-a23c1d62323d')
def test_create_listener_empty_tenant_id(self): def test_create_listener_empty_tenant_id(self):
"""Test create listener with an empty tenant id """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('b4120626-a47e-4b4e-9b64-017e595c4daf') @decorators.idempotent_id('b4120626-a47e-4b4e-9b64-017e595c4daf')
def test_create_listener_empty_name(self): def test_create_listener_empty_name(self):
"""Test create listener with an empty name""" """Test create listener with an empty name"""
@ -348,7 +347,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(new_listener_id) listener = self._show_listener(new_listener_id)
self.assertEqual(new_listener, listener) self.assertEqual(new_listener, listener)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('af067d00-d496-4f02-87d6-40624c34d492') @decorators.idempotent_id('af067d00-d496-4f02-87d6-40624c34d492')
def test_create_listener_empty_description(self): def test_create_listener_empty_description(self):
"""Test create listener with an empty description""" """Test create listener with an empty description"""
@ -365,7 +364,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(new_listener_id) listener = self._show_listener(new_listener_id)
self.assertEqual(new_listener, listener) self.assertEqual(new_listener, listener)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('dd271757-c447-4579-a417-f9d0871b145c') @decorators.idempotent_id('dd271757-c447-4579-a417-f9d0871b145c')
def test_create_listener_empty_connection_limit(self): def test_create_listener_empty_connection_limit(self):
"""Test create listener with an empty connection _limit field""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a1602217-e1b4-4f85-8a5e-d474477333f3') @decorators.idempotent_id('a1602217-e1b4-4f85-8a5e-d474477333f3')
def test_create_listener_incorrect_attribute(self): def test_create_listener_incorrect_attribute(self):
"""Test create a listener withan extra, incorrect field""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('27c443ff-3aee-4ae6-8b9a-6abf3d5443bf') @decorators.idempotent_id('27c443ff-3aee-4ae6-8b9a-6abf3d5443bf')
def test_update_listener(self): def test_update_listener(self):
"""Test update listener""" """Test update listener"""
@ -400,7 +399,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(self.listener_id) listener = self._show_listener(self.listener_id)
self.assertEqual(listener.get('name'), 'new_name') self.assertEqual(listener.get('name'), 'new_name')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a709e4da-01ef-4dda-a336-f5e37268b5ea') @decorators.idempotent_id('a709e4da-01ef-4dda-a336-f5e37268b5ea')
def test_update_listener_invalid_tenant_id(self): def test_update_listener_invalid_tenant_id(self):
"""Test update listener with an invalid tenant id""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('d88dd3d5-a52f-4306-ba53-e8f6f4e1b399') @decorators.idempotent_id('d88dd3d5-a52f-4306-ba53-e8f6f4e1b399')
def test_update_listener_invalid_admin_state_up(self): def test_update_listener_invalid_admin_state_up(self):
"""Test update a listener with an invalid admin_state_up""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('7c0efb63-90d9-43d0-b959-eb841ef39832') @decorators.idempotent_id('7c0efb63-90d9-43d0-b959-eb841ef39832')
def test_update_listener_invalid_name(self): def test_update_listener_invalid_name(self):
"""Test update a listener with an invalid name """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('ba9bfad8-dbb0-4cbc-b2e3-52bf72bc1fc5') @decorators.idempotent_id('ba9bfad8-dbb0-4cbc-b2e3-52bf72bc1fc5')
def test_update_listener_invalid_description(self): def test_update_listener_invalid_description(self):
"""Test update a listener with an invalid description """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('dcafa50b-cece-4904-bcc9-a0dd1ac99a7e') @decorators.idempotent_id('dcafa50b-cece-4904-bcc9-a0dd1ac99a7e')
def test_update_listener_invalid_connection_limit(self): def test_update_listener_invalid_connection_limit(self):
"""Test update a listener with an invalid connection_limit""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('27e009c5-3c79-414d-863d-24b731f03123') @decorators.idempotent_id('27e009c5-3c79-414d-863d-24b731f03123')
def test_update_listener_incorrect_attribute(self): def test_update_listener_incorrect_attribute(self):
"""Test update a listener with an extra, incorrect field""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('e8bdd948-7bea-494b-8a4a-e730b70f2882') @decorators.idempotent_id('e8bdd948-7bea-494b-8a4a-e730b70f2882')
def test_update_listener_missing_name(self): def test_update_listener_missing_name(self):
"""Test update listener with a missing name""" """Test update listener with a missing name"""
@ -489,7 +488,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(self.listener_id) listener = self._show_listener(self.listener_id)
self.assertEqual(listener.get('name'), old_name) self.assertEqual(listener.get('name'), old_name)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('7e0194b8-9315-452d-9de5-d48f227b626f') @decorators.idempotent_id('7e0194b8-9315-452d-9de5-d48f227b626f')
def test_update_listener_missing_description(self): def test_update_listener_missing_description(self):
"""Test update listener with a missing description""" """Test update listener with a missing description"""
@ -502,7 +501,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(self.listener_id) listener = self._show_listener(self.listener_id)
self.assertEqual(listener.get('description'), old_description) self.assertEqual(listener.get('description'), old_description)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('285dd3f2-fcb8-4ccb-b9ce-d6207b29a2f8') @decorators.idempotent_id('285dd3f2-fcb8-4ccb-b9ce-d6207b29a2f8')
def test_update_listener_missing_admin_state_up(self): def test_update_listener_missing_admin_state_up(self):
"""Test update listener with a missing admin_state_up""" """Test update listener with a missing admin_state_up"""
@ -515,7 +514,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(self.listener_id) listener = self._show_listener(self.listener_id)
self.assertEqual(listener.get('admin_state_up'), old_admin_state_up) 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') @decorators.idempotent_id('5c510338-0f8a-4d1e-805b-f8458f2e80ee')
def test_update_listener_missing_connection_limit(self): def test_update_listener_missing_connection_limit(self):
"""Test update listener with a missing connection_limit""" """Test update listener with a missing connection_limit"""
@ -529,7 +528,7 @@ class ListenersTest(base.BaseTestCase):
self.assertEqual(listener.get('connection_limit'), self.assertEqual(listener.get('connection_limit'),
old_connection_limit) old_connection_limit)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('677205d9-9d97-4232-a8e3-d17ebf42ff05') @decorators.idempotent_id('677205d9-9d97-4232-a8e3-d17ebf42ff05')
def test_update_listener_empty_tenant_id(self): def test_update_listener_empty_tenant_id(self):
"""Test update listener with an empty tenant id""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('6e9f8fdb-48b0-4c4e-9b29-460576b125ff') @decorators.idempotent_id('6e9f8fdb-48b0-4c4e-9b29-460576b125ff')
def test_update_listener_empty_admin_state_up(self): def test_update_listener_empty_admin_state_up(self):
"""Test update a listener with an empty admin_state_up""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('cf619b8d-1916-4144-85c7-e5a34e0d7a2b') @decorators.idempotent_id('cf619b8d-1916-4144-85c7-e5a34e0d7a2b')
def test_update_listener_empty_name(self): def test_update_listener_empty_name(self):
"""Test update a listener with an empty name""" """Test update a listener with an empty name"""
@ -562,7 +561,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(self.listener_id) listener = self._show_listener(self.listener_id)
self.assertEqual(listener.get('name'), "") self.assertEqual(listener.get('name'), "")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('a9b6f721-c3c1-4d22-a3e5-7e89b58fa3a7') @decorators.idempotent_id('a9b6f721-c3c1-4d22-a3e5-7e89b58fa3a7')
def test_update_listener_empty_description(self): def test_update_listener_empty_description(self):
"""Test update a listener with an empty description""" """Test update a listener with an empty description"""
@ -573,7 +572,7 @@ class ListenersTest(base.BaseTestCase):
listener = self._show_listener(self.listener_id) listener = self._show_listener(self.listener_id)
self.assertEqual(listener.get('description'), "") self.assertEqual(listener.get('description'), "")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('7ddcf46b-068b-449c-9dde-ea4021dd76bf') @decorators.idempotent_id('7ddcf46b-068b-449c-9dde-ea4021dd76bf')
def test_update_listener_empty_connection_limit(self): def test_update_listener_empty_connection_limit(self):
"""Test update a listener with an empty connection_limit""" """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, self._check_status_tree(load_balancer_id=self.load_balancer_id,
listener_ids=[self.listener_id]) listener_ids=[self.listener_id])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('c891c857-fa89-4775-92d8-5320321b86cd') @decorators.idempotent_id('c891c857-fa89-4775-92d8-5320321b86cd')
def test_delete_listener(self): def test_delete_listener(self):
"""Test delete listener""" """Test delete listener"""

View File

@ -16,7 +16,6 @@ import testtools
from tempest import config from tempest import config
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base 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._create_active_load_balancer(**cls.create_lb_kwargs)
cls.load_balancer_id = cls.load_balancer['id'] 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, @testtools.skipIf('1641902' in CONF.nsxv.bugs_to_resolve,
"skip_because bug=1641902") "skip_because bug=1641902")
@decorators.idempotent_id('0008ae1e-77a2-45d9-b81e-0e3119b5a26d') @decorators.idempotent_id('0008ae1e-77a2-45d9-b81e-0e3119b5a26d')
@ -67,7 +66,7 @@ class LoadBalancersTest(base.BaseAdminTestCase):
admin_lb.get('tenant_id')) admin_lb.get('tenant_id'))
self._wait_for_load_balancer_status(load_balancer['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, @testtools.skipIf('1715126' in CONF.nsxv.bugs_to_resolve,
"skip_because bug=1715126") "skip_because bug=1715126")
@decorators.idempotent_id('37620941-47c1-40b2-84d8-db17ff823ebc') @decorators.idempotent_id('37620941-47c1-40b2-84d8-db17ff823ebc')
@ -85,7 +84,7 @@ class LoadBalancersTest(base.BaseAdminTestCase):
self.subnet['tenant_id']) self.subnet['tenant_id'])
self._wait_for_load_balancer_status(load_balancer['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') @decorators.idempotent_id('5bf483f5-ae28-47f5-8805-642da0ffcb40')
# Empty tenant_id causing ServerFault # Empty tenant_id causing ServerFault
def test_create_load_balancer_empty_tenant_id_field(self): def test_create_load_balancer_empty_tenant_id_field(self):
@ -99,7 +98,7 @@ class LoadBalancersTest(base.BaseAdminTestCase):
wait=False, wait=False,
tenant_id="") tenant_id="")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('19fc8a44-1280-49f3-be5b-0d30e6e43363') @decorators.idempotent_id('19fc8a44-1280-49f3-be5b-0d30e6e43363')
# NSX-v: 2nd tenant_id at the same subnet not supported; got serverFault # NSX-v: 2nd tenant_id at the same subnet not supported; got serverFault
def test_create_load_balancer_for_another_tenant(self): def test_create_load_balancer_for_another_tenant(self):

View File

@ -18,7 +18,6 @@ import testtools
from tempest import config from tempest import config
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions from tempest.lib import exceptions
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base 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._create_active_load_balancer(**cls.create_lb_kwargs)
cls.load_balancer_id = cls.load_balancer['id'] cls.load_balancer_id = cls.load_balancer['id']
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('b7ea6c09-e077-4a67-859b-b2cd01e3b46b') @decorators.idempotent_id('b7ea6c09-e077-4a67-859b-b2cd01e3b46b')
def test_list_load_balancers(self): def test_list_load_balancers(self):
"""Test list load balancers with one load balancer""" """Test list load balancers with one load balancer"""
@ -57,7 +56,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertEqual(len(load_balancers), 1) self.assertEqual(len(load_balancers), 1)
self.assertIn(self.load_balancer, load_balancers) self.assertIn(self.load_balancer, load_balancers)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('8c2302df-ca94-4950-9826-eb996630a392') @decorators.idempotent_id('8c2302df-ca94-4950-9826-eb996630a392')
def test_list_load_balancers_two(self): def test_list_load_balancers_two(self):
"""Test list load balancers with two load balancers""" """Test list load balancers with two load balancers"""
@ -71,7 +70,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertIn(new_load_balancer, load_balancers) self.assertIn(new_load_balancer, load_balancers)
self.assertNotEqual(self.load_balancer, new_load_balancer) self.assertNotEqual(self.load_balancer, new_load_balancer)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('56345a78-1d53-4c05-9d7b-3e5cf34c22aa') @decorators.idempotent_id('56345a78-1d53-4c05-9d7b-3e5cf34c22aa')
def test_get_load_balancer(self): def test_get_load_balancer(self):
"""Test get load balancer""" """Test get load balancer"""
@ -79,7 +78,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.load_balancer_id) self.load_balancer_id)
self.assertEqual(self.load_balancer, load_balancer) self.assertEqual(self.load_balancer, load_balancer)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('5bf80330-d908-4025-9467-bca1727525c8') @decorators.idempotent_id('5bf80330-d908-4025-9467-bca1727525c8')
def test_create_load_balancer(self): def test_create_load_balancer(self):
"""Test create load balancer""" """Test create load balancer"""
@ -92,7 +91,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertEqual(new_load_balancer, load_balancer) self.assertEqual(new_load_balancer, load_balancer)
self.assertNotEqual(self.load_balancer, new_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') @decorators.idempotent_id('66bf5390-154f-4627-af61-2c1c30325d6f')
def test_create_load_balancer_missing_vip_subnet_id_field(self): def test_create_load_balancer_missing_vip_subnet_id_field(self):
"""Test create load balancer """Test create load balancer
@ -104,7 +103,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
tenant_id=self.subnet['tenant_id']) tenant_id=self.subnet['tenant_id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8e78a7e6-2da3-4f79-9f66-fd1447277883') @decorators.idempotent_id('8e78a7e6-2da3-4f79-9f66-fd1447277883')
def test_create_load_balancer_empty_provider_field(self): def test_create_load_balancer_empty_provider_field(self):
"""Test create load balancer with an empty provider field""" """Test create load balancer with an empty provider field"""
@ -113,7 +112,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
provider="") provider="")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('def37122-3f9a-47f5-b7b5-b5c0d5e7e5ca') @decorators.idempotent_id('def37122-3f9a-47f5-b7b5-b5c0d5e7e5ca')
def test_create_load_balancer_empty_description_field(self): def test_create_load_balancer_empty_description_field(self):
"""Test create load balancer with an empty description field""" """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.addCleanup(self._delete_load_balancer, load_balancer['id'])
self.assertEqual(load_balancer.get('description'), "") self.assertEqual(load_balancer.get('description'), "")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('69944c74-3ea1-4c06-8d28-82120721a13e') @decorators.idempotent_id('69944c74-3ea1-4c06-8d28-82120721a13e')
def test_create_load_balancer_empty_vip_address_field(self): def test_create_load_balancer_empty_vip_address_field(self):
"""Test create load balancer with empty vip_address field""" """Test create load balancer with empty vip_address field"""
@ -132,7 +131,7 @@ class LoadBalancersTest(base.BaseTestCase):
vip_subnet_id=self.subnet['id'], vip_subnet_id=self.subnet['id'],
vip_address="") vip_address="")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('63bbe788-f3a6-444f-89b3-8c740425fc39') @decorators.idempotent_id('63bbe788-f3a6-444f-89b3-8c740425fc39')
def test_create_load_balancer_missing_admin_state_up(self): def test_create_load_balancer_missing_admin_state_up(self):
"""Test create load balancer with a missing admin_state_up field""" """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.addCleanup(self._delete_load_balancer, load_balancer['id'])
self.assertEqual(load_balancer.get('admin_state_up'), True) 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') @decorators.idempotent_id('499f164a-e926-47a6-808a-14f3c29d04c9')
def test_create_load_balancer_empty_admin_state_up_field(self): def test_create_load_balancer_empty_admin_state_up_field(self):
"""Test create load balancer with empty admin_state_up field""" """Test create load balancer with empty admin_state_up field"""
@ -151,7 +150,7 @@ class LoadBalancersTest(base.BaseTestCase):
vip_subnet_id=self.subnet['id'], vip_subnet_id=self.subnet['id'],
admin_state_up="") admin_state_up="")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('e4511356-0e78-457c-a310-8515b2dedad4') @decorators.idempotent_id('e4511356-0e78-457c-a310-8515b2dedad4')
def test_create_load_balancer_missing_name(self): def test_create_load_balancer_missing_name(self):
"""Test create load balancer with a missing name field""" """Test create load balancer with a missing name field"""
@ -161,7 +160,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertEqual(load_balancer.get('name'), '') self.assertEqual(load_balancer.get('name'), '')
self._wait_for_load_balancer_status(load_balancer['id']) 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') @decorators.idempotent_id('6bd4a92c-7498-4b92-aeae-bce0b74608e3')
def test_create_load_balancer_empty_name(self): def test_create_load_balancer_empty_name(self):
"""Test create load balancer with an empty name field""" """Test create load balancer with an empty name field"""
@ -171,7 +170,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertEqual(load_balancer.get('name'), "") self.assertEqual(load_balancer.get('name'), "")
self._wait_for_load_balancer_status(load_balancer['id']) 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') @decorators.idempotent_id('e605b1ea-5179-4035-8100-c24d0164a5a5')
def test_create_load_balancer_missing_description(self): def test_create_load_balancer_missing_description(self):
"""Test create load balancer with a missing description field""" """Test create load balancer with a missing description field"""
@ -181,7 +180,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertEqual(load_balancer.get('description'), '') self.assertEqual(load_balancer.get('description'), '')
self._wait_for_load_balancer_status(load_balancer['id']) 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') @decorators.idempotent_id('9f718024-340b-405f-817f-311392353c32')
def test_create_load_balancer_missing_vip_address(self): def test_create_load_balancer_missing_vip_address(self):
"""Test create load balancer """Test create load balancer
@ -200,7 +199,7 @@ class LoadBalancersTest(base.BaseTestCase):
load_balancer_final = load_balancer['vip_address'] load_balancer_final = load_balancer['vip_address']
self.assertEqual(load_balancer_ip_initial, load_balancer_final) 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') @decorators.idempotent_id('f599ccbd-73e8-4e27-96a5-d9e0e3419a9f')
def test_create_load_balancer_missing_provider_field(self): def test_create_load_balancer_missing_provider_field(self):
"""Test create load balancer with a missing provider field""" """Test create load balancer with a missing provider field"""
@ -213,7 +212,7 @@ class LoadBalancersTest(base.BaseTestCase):
load_balancer_final = load_balancer['provider'] load_balancer_final = load_balancer['provider']
self.assertEqual(load_balancer_initial, load_balancer_final) self.assertEqual(load_balancer_initial, load_balancer_final)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('377166eb-f581-4383-bc2e-54fdeed73e42') @decorators.idempotent_id('377166eb-f581-4383-bc2e-54fdeed73e42')
def test_create_load_balancer_invalid_vip_subnet_id(self): def test_create_load_balancer_invalid_vip_subnet_id(self):
"""Test create load balancer with an invalid vip subnet id""" """Test create load balancer with an invalid vip subnet id"""
@ -222,7 +221,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
vip_subnet_id="abc123") vip_subnet_id="abc123")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('512bec06-5259-4e93-b482-7ec3346c794a') @decorators.idempotent_id('512bec06-5259-4e93-b482-7ec3346c794a')
def test_create_load_balancer_empty_vip_subnet_id(self): def test_create_load_balancer_empty_vip_subnet_id(self):
"""Test create load balancer with an empty vip subnet id""" """Test create load balancer with an empty vip subnet id"""
@ -231,7 +230,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
vip_subnet_id="") vip_subnet_id="")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('02bd6d0e-820e-46fb-89cb-1d335e7aaa02') @decorators.idempotent_id('02bd6d0e-820e-46fb-89cb-1d335e7aaa02')
def test_create_load_balancer_invalid_tenant_id(self): def test_create_load_balancer_invalid_tenant_id(self):
"""Test create load balancer with an invalid tenant id""" """Test create load balancer with an invalid tenant id"""
@ -240,7 +239,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
tenant_id="&^%123") tenant_id="&^%123")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('b8c56e4a-9644-4119-8fc9-130841caf662') @decorators.idempotent_id('b8c56e4a-9644-4119-8fc9-130841caf662')
def test_create_load_balancer_invalid_name(self): def test_create_load_balancer_invalid_name(self):
"""Test create load balancer with an invalid name """Test create load balancer with an invalid name
@ -254,7 +253,7 @@ class LoadBalancersTest(base.BaseTestCase):
vip_subnet_id=self.subnet['id'], vip_subnet_id=self.subnet['id'],
name='n' * 256) name='n' * 256)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('d638ae60-7de5-45da-a7d9-53eca4998980') @decorators.idempotent_id('d638ae60-7de5-45da-a7d9-53eca4998980')
def test_create_load_balancer_invalid_description(self): def test_create_load_balancer_invalid_description(self):
"""Test create load balancer with an invalid description """Test create load balancer with an invalid description
@ -268,7 +267,7 @@ class LoadBalancersTest(base.BaseTestCase):
vip_subnet_id=self.subnet['id'], vip_subnet_id=self.subnet['id'],
description='d' * 256) description='d' * 256)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('56768aa6-b26e-48aa-8118-956c62930d79') @decorators.idempotent_id('56768aa6-b26e-48aa-8118-956c62930d79')
def test_create_load_balancer_incorrect_attribute(self): def test_create_load_balancer_incorrect_attribute(self):
"""Test create a load balancer with an extra, incorrect field""" """Test create a load balancer with an extra, incorrect field"""
@ -279,7 +278,7 @@ class LoadBalancersTest(base.BaseTestCase):
vip_subnet_id=self.subnet['id'], vip_subnet_id=self.subnet['id'],
protocol_port=80) protocol_port=80)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('a130e70f-9d76-4bff-89de-3e564952b244') @decorators.idempotent_id('a130e70f-9d76-4bff-89de-3e564952b244')
def test_create_load_balancer_missing_tenant_id_field(self): def test_create_load_balancer_missing_tenant_id_field(self):
"""Test create load balancer with a missing tenant id field""" """Test create load balancer with a missing tenant id field"""
@ -290,7 +289,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.subnet['tenant_id']) self.subnet['tenant_id'])
self._wait_for_load_balancer_status(load_balancer['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') @decorators.idempotent_id('25261cca-0c38-4dc8-bb40-f7692035740f')
def test_create_load_balancer_empty_tenant_id_field(self): def test_create_load_balancer_empty_tenant_id_field(self):
"""Test create load balancer with empty tenant_id field""" """Test create load balancer with empty tenant_id field"""
@ -300,7 +299,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
tenant_id="") tenant_id="")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('10de328d-c754-484b-841f-313307f92935') @decorators.idempotent_id('10de328d-c754-484b-841f-313307f92935')
def test_create_load_balancer_other_tenant_id_field(self): def test_create_load_balancer_other_tenant_id_field(self):
"""Test create load balancer for other tenant""" """Test create load balancer for other tenant"""
@ -311,7 +310,7 @@ class LoadBalancersTest(base.BaseTestCase):
vip_subnet_id=self.subnet['id'], vip_subnet_id=self.subnet['id'],
tenant_id=tenant) tenant_id=tenant)
@test.attr(type='negative') @decorators.attr(type='negative')
@testtools.skipIf('1703396' in CONF.nsxv.bugs_to_resolve, @testtools.skipIf('1703396' in CONF.nsxv.bugs_to_resolve,
"skip_because bug=1703396") "skip_because bug=1703396")
@decorators.idempotent_id('9963cbf5-97d0-4ab9-96e5-6cbd65c98714') @decorators.idempotent_id('9963cbf5-97d0-4ab9-96e5-6cbd65c98714')
@ -322,7 +321,7 @@ class LoadBalancersTest(base.BaseTestCase):
vip_subnet_id=self.subnet['id'], vip_subnet_id=self.subnet['id'],
flavor_id="NO_SUCH_FLAVOR") flavor_id="NO_SUCH_FLAVOR")
@test.attr(type='negative') @decorators.attr(type='negative')
@testtools.skipIf('1703396' in CONF.nsxv.bugs_to_resolve, @testtools.skipIf('1703396' in CONF.nsxv.bugs_to_resolve,
"skip_because bug=1703396") "skip_because bug=1703396")
@decorators.idempotent_id('f7319e32-0fad-450e-8f53-7567f56e8223') @decorators.idempotent_id('f7319e32-0fad-450e-8f53-7567f56e8223')
@ -334,7 +333,7 @@ class LoadBalancersTest(base.BaseTestCase):
flavor_id="NO_SUCH_FLAVOR", flavor_id="NO_SUCH_FLAVOR",
provider="NO_SUCH_PROVIDER") provider="NO_SUCH_PROVIDER")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('1d92d98f-550f-4f05-a246-cdf4525459a2') @decorators.idempotent_id('1d92d98f-550f-4f05-a246-cdf4525459a2')
def test_update_load_balancer(self): def test_update_load_balancer(self):
"""Test update load balancer""" """Test update load balancer"""
@ -344,7 +343,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.load_balancer_id) self.load_balancer_id)
self.assertEqual(load_balancer.get('name'), 'new_name') self.assertEqual(load_balancer.get('name'), 'new_name')
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('474ca200-8dea-4d20-8468-abc0169a445b') @decorators.idempotent_id('474ca200-8dea-4d20-8468-abc0169a445b')
def test_update_load_balancer_empty_name(self): def test_update_load_balancer_empty_name(self):
"""Test update load balancer with empty name""" """Test update load balancer with empty name"""
@ -354,7 +353,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.load_balancer_id) self.load_balancer_id)
self.assertEqual(load_balancer.get('name'), "") self.assertEqual(load_balancer.get('name'), "")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('551be885-215d-4941-8870-651cbc871162') @decorators.idempotent_id('551be885-215d-4941-8870-651cbc871162')
def test_update_load_balancer_invalid_name(self): def test_update_load_balancer_invalid_name(self):
"""Test update load balancer with invalid name """Test update load balancer with invalid name
@ -367,7 +366,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
name='a' * 256) name='a' * 256)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('62eef0ba-3859-4c8f-9e6a-8d6918754597') @decorators.idempotent_id('62eef0ba-3859-4c8f-9e6a-8d6918754597')
def test_update_load_balancer_missing_name(self): def test_update_load_balancer_missing_name(self):
"""Test update load balancer with missing name""" """Test update load balancer with missing name"""
@ -380,7 +379,7 @@ class LoadBalancersTest(base.BaseTestCase):
load_balancer_new = load_balancer['name'] load_balancer_new = load_balancer['name']
self.assertEqual(load_balancer_initial, load_balancer_new) self.assertEqual(load_balancer_initial, load_balancer_new)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('ab3550c6-8b21-463c-bc5d-e79cbae3432f') @decorators.idempotent_id('ab3550c6-8b21-463c-bc5d-e79cbae3432f')
def test_update_load_balancer_invalid_description(self): def test_update_load_balancer_invalid_description(self):
"""Test update load balancer with invalid description """Test update load balancer with invalid description
@ -393,7 +392,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
description='a' * 256) description='a' * 256)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('157ebdbf-4ad2-495d-b880-c1b1a8edc46d') @decorators.idempotent_id('157ebdbf-4ad2-495d-b880-c1b1a8edc46d')
def test_update_load_balancer_empty_description(self): def test_update_load_balancer_empty_description(self):
"""Test update load balancer with empty description""" """Test update load balancer with empty description"""
@ -403,7 +402,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.load_balancer_id) self.load_balancer_id)
self.assertEqual(load_balancer.get('description'), "") self.assertEqual(load_balancer.get('description'), "")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('d13fa2f5-e8df-4d53-86a8-68583941200c') @decorators.idempotent_id('d13fa2f5-e8df-4d53-86a8-68583941200c')
def test_update_load_balancer_missing_description(self): def test_update_load_balancer_missing_description(self):
"""Test update load balancer with missing description""" """Test update load balancer with missing description"""
@ -416,7 +415,7 @@ class LoadBalancersTest(base.BaseTestCase):
load_balancer_new = load_balancer['description'] load_balancer_new = load_balancer['description']
self.assertEqual(load_balancer_initial, load_balancer_new) self.assertEqual(load_balancer_initial, load_balancer_new)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('96e46a1a-62e7-47f1-98c5-9983f89e622f') @decorators.idempotent_id('96e46a1a-62e7-47f1-98c5-9983f89e622f')
def test_update_load_balancer_invalid_admin_state_up_field(self): def test_update_load_balancer_invalid_admin_state_up_field(self):
"""Test update load balancer with an invalid admin_state_up""" """Test update load balancer with an invalid admin_state_up"""
@ -426,7 +425,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
admin_state_up="a&^%$jbc123") admin_state_up="a&^%$jbc123")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('48f1e227-8b15-4389-a050-7ce76f4b4d46') @decorators.idempotent_id('48f1e227-8b15-4389-a050-7ce76f4b4d46')
def test_update_load_balancer_empty_admin_state_up_field(self): def test_update_load_balancer_empty_admin_state_up_field(self):
"""Test update load balancer with an empty admin_state_up""" """Test update load balancer with an empty admin_state_up"""
@ -436,7 +435,7 @@ class LoadBalancersTest(base.BaseTestCase):
wait=False, wait=False,
admin_state_up="") admin_state_up="")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('a9182e53-ddaa-4f41-af54-585d983279ba') @decorators.idempotent_id('a9182e53-ddaa-4f41-af54-585d983279ba')
def test_update_load_balancer_missing_admin_state_up(self): def test_update_load_balancer_missing_admin_state_up(self):
"""Test update load balancer with missing admin state field""" """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._update_load_balancer(self.load_balancer_id)
self.assertEqual(load_balancer_initial, True) self.assertEqual(load_balancer_initial, True)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('bfbe9339-d083-4a88-b6d6-015522809c3a') @decorators.idempotent_id('bfbe9339-d083-4a88-b6d6-015522809c3a')
def test_update_load_balancer_incorrect_attribute(self): def test_update_load_balancer_incorrect_attribute(self):
"""Test update a load balancer with an extra, invalid attribute""" """Test update a load balancer with an extra, invalid attribute"""
@ -459,7 +458,7 @@ class LoadBalancersTest(base.BaseTestCase):
admin_state_up=True, admin_state_up=True,
port=80) port=80)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('d2258984-6e9a-41d6-bffa-0543c8b1f2b0') @decorators.idempotent_id('d2258984-6e9a-41d6-bffa-0543c8b1f2b0')
def test_get_load_balancer_status_tree(self): def test_get_load_balancer_status_tree(self):
"""Test get load balancer status tree""" """Test get load balancer status tree"""
@ -470,7 +469,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertEqual("ACTIVE", load_balancer['provisioning_status']) self.assertEqual("ACTIVE", load_balancer['provisioning_status'])
self.assertEmpty(load_balancer['listeners']) self.assertEmpty(load_balancer['listeners'])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('a23677a9-b770-4894-8be9-cd66590c228b') @decorators.idempotent_id('a23677a9-b770-4894-8be9-cd66590c228b')
def test_get_load_balancer_stats(self): def test_get_load_balancer_stats(self):
"""Test get load balancer stats""" """Test get load balancer stats"""
@ -481,7 +480,7 @@ class LoadBalancersTest(base.BaseTestCase):
self.assertEqual(0, stats['total_connections']) self.assertEqual(0, stats['total_connections'])
self.assertEqual(0, stats['active_connections']) self.assertEqual(0, stats['active_connections'])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('f289f8df-a867-45cd-bee3-7ff08f5e96e0') @decorators.idempotent_id('f289f8df-a867-45cd-bee3-7ff08f5e96e0')
def test_delete_load_balancer(self): def test_delete_load_balancer(self):
"""Test delete load balancer""" """Test delete load balancer"""

View File

@ -15,7 +15,6 @@ from oslo_log import log as logging
from tempest import config from tempest import config
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base from vmware_nsx_tempest.tests.nsxv.api.lbaas import base
@ -54,7 +53,7 @@ class MemberTest(base.BaseAdminTestCase):
def resource_cleanup(cls): def resource_cleanup(cls):
super(MemberTest, cls).resource_cleanup() super(MemberTest, cls).resource_cleanup()
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('03eeec24-78d8-4c2f-8d6c-4a78817f352e') @decorators.idempotent_id('03eeec24-78d8-4c2f-8d6c-4a78817f352e')
def test_create_member_invalid_tenant_id(self): def test_create_member_invalid_tenant_id(self):
"""Test create member with invalid tenant_id""" """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['subnet_id'], self.subnet_id)
self.assertEqual(member['tenant_id'], "$232!$pw") self.assertEqual(member['tenant_id'], "$232!$pw")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('01c9ea0c-bdfe-4108-95d1-69ecdc0a1f26') @decorators.idempotent_id('01c9ea0c-bdfe-4108-95d1-69ecdc0a1f26')
def test_create_member_empty_tenant_id(self): def test_create_member_empty_tenant_id(self):
"""Test create member with an empty tenant_id should fail """Test create member with an empty tenant_id should fail

View File

@ -15,7 +15,6 @@ from oslo_log import log as logging
from tempest import config from tempest import config
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base from vmware_nsx_tempest.tests.nsxv.api.lbaas import base
@ -58,7 +57,7 @@ class MemberTest(base.BaseTestCase):
def resource_cleanup(cls): def resource_cleanup(cls):
super(MemberTest, cls).resource_cleanup() super(MemberTest, cls).resource_cleanup()
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('6dcdc53c-52cf-4b6e-aeec-d13df68ed001') @decorators.idempotent_id('6dcdc53c-52cf-4b6e-aeec-d13df68ed001')
def test_list_empty_members(self): def test_list_empty_members(self):
"""Test that pool members are empty.""" """Test that pool members are empty."""
@ -66,7 +65,7 @@ class MemberTest(base.BaseTestCase):
self.assertEmpty(members, self.assertEmpty(members,
msg='Initial pool was supposed to be empty') msg='Initial pool was supposed to be empty')
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('346e49ce-0665-4995-a03a-b007052d3619') @decorators.idempotent_id('346e49ce-0665-4995-a03a-b007052d3619')
def test_list_3_members(self): def test_list_3_members(self):
"""Test that we can list members. """ """Test that we can list members. """
@ -85,7 +84,7 @@ class MemberTest(base.BaseTestCase):
found_member_ips = set([m["address"] for m in members]) found_member_ips = set([m["address"] for m in members])
self.assertEqual(found_member_ips, member_ips_exp) self.assertEqual(found_member_ips, member_ips_exp)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('3121bbdc-81e4-40e3-bf66-3ceefd72a0f5') @decorators.idempotent_id('3121bbdc-81e4-40e3-bf66-3ceefd72a0f5')
def test_add_member(self): def test_add_member(self):
"""Test that we can add a single member.""" """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(True, member["admin_state_up"])
self.assertEqual(1, member["weight"]) self.assertEqual(1, member["weight"])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('fc513a45-4c24-42ea-8807-a9b86a81ee56') @decorators.idempotent_id('fc513a45-4c24-42ea-8807-a9b86a81ee56')
def test_get_member(self): def test_get_member(self):
"""Test that we can fetch a member by id.""" """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["protocol_port"], member["protocol_port"])
self.assertEqual(member_opts["subnet_id"], member["subnet_id"]) 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') @decorators.idempotent_id('2cead036-5a63-43a4-9d9d-03c9b744c101')
def test_create_member_missing_required_field_tenant_id(self): def test_create_member_missing_required_field_tenant_id(self):
"""Test if a non_admin user can create a member_opts """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) member = self._create_member(self.pool_id, **member_opts)
self.addCleanup(self._delete_member, self.pool_id, member['id']) 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') @decorators.idempotent_id('d7ed0870-a065-4fbd-8d95-0ea4d12063c2')
def test_create_member_missing_required_field_address(self): def test_create_member_missing_required_field_address(self):
"""Test create a member with missing field address""" """Test create a member with missing field address"""
@ -142,7 +141,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8d2b9a53-aac7-4fb9-b068-47647289aa21') @decorators.idempotent_id('8d2b9a53-aac7-4fb9-b068-47647289aa21')
def test_create_member_missing_required_field_protocol_port(self): def test_create_member_missing_required_field_protocol_port(self):
"""Test create a member with missing field protocol_port""" """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.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('9710cd4c-aac0-4b71-b295-82a88c67b0b8') @decorators.idempotent_id('9710cd4c-aac0-4b71-b295-82a88c67b0b8')
def test_create_member_missing_required_field_subnet_id(self): def test_create_member_missing_required_field_subnet_id(self):
"""Test create a member with missing field subnet_id """ """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.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a6814c49-758d-490a-9557-ef03f0d78c44') @decorators.idempotent_id('a6814c49-758d-490a-9557-ef03f0d78c44')
def test_raises_BadRequest_when_missing_attrs_during_member_create(self): def test_raises_BadRequest_when_missing_attrs_during_member_create(self):
"""Test failure on missing attributes on member create.""" """Test failure on missing attributes on member create."""
@ -170,7 +169,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('840bfa84-1d16-4149-a863-6f7afec1682f') @decorators.idempotent_id('840bfa84-1d16-4149-a863-6f7afec1682f')
def test_create_member_invalid_tenant_id(self): def test_create_member_invalid_tenant_id(self):
"""Test create member with invalid tenant_id""" """Test create member with invalid tenant_id"""
@ -182,7 +181,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a99dbd0a-5f8c-4c96-8900-1a7d297d913b') @decorators.idempotent_id('a99dbd0a-5f8c-4c96-8900-1a7d297d913b')
def test_create_member_invalid_address(self): def test_create_member_invalid_address(self):
"""Test create member with invalid address""" """Test create member with invalid address"""
@ -193,7 +192,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('736b0771-b98c-4045-97e0-a44e4e18c22e') @decorators.idempotent_id('736b0771-b98c-4045-97e0-a44e4e18c22e')
def test_create_member_invalid_protocol_port(self): def test_create_member_invalid_protocol_port(self):
"""Test create member with invalid protocol_port""" """Test create member with invalid protocol_port"""
@ -204,7 +203,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('2cc67f5a-3f66-427e-90b8-59a3da5c1d21') @decorators.idempotent_id('2cc67f5a-3f66-427e-90b8-59a3da5c1d21')
def test_create_member_invalid_subnet_id(self): def test_create_member_invalid_subnet_id(self):
"""Test create member with invalid subnet_id""" """Test create member with invalid subnet_id"""
@ -215,7 +214,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('3403c6f5-5a30-4115-ac3a-8a22855fd614') @decorators.idempotent_id('3403c6f5-5a30-4115-ac3a-8a22855fd614')
def test_create_member_invalid_admin_state_up(self): def test_create_member_invalid_admin_state_up(self):
"""Test create member with invalid admin_state_up""" """Test create member with invalid admin_state_up"""
@ -227,7 +226,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('b12216ec-3442-4239-ba2c-dd17640449d1') @decorators.idempotent_id('b12216ec-3442-4239-ba2c-dd17640449d1')
def test_create_member_invalid_weight(self): def test_create_member_invalid_weight(self):
"""Test create member with invalid weight""" """Test create member with invalid weight"""
@ -239,7 +238,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('88eb464b-4de6-4ed7-a1e8-bc61581a5c6e') @decorators.idempotent_id('88eb464b-4de6-4ed7-a1e8-bc61581a5c6e')
def test_create_member_empty_tenant_id(self): def test_create_member_empty_tenant_id(self):
"""Test create member with an empty tenant_id""" """Test create member with an empty tenant_id"""
@ -251,7 +250,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('238cd859-2b60-4e42-b356-c6b38768c3e4') @decorators.idempotent_id('238cd859-2b60-4e42-b356-c6b38768c3e4')
def test_create_member_empty_address(self): def test_create_member_empty_address(self):
"""Test create member with an empty address""" """Test create member with an empty address"""
@ -262,7 +261,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('834905ac-5c95-4dfc-900c-1676b6c28247') @decorators.idempotent_id('834905ac-5c95-4dfc-900c-1676b6c28247')
def test_create_member_empty_protocol_port(self): def test_create_member_empty_protocol_port(self):
"""Test create member with an empty protocol_port""" """Test create member with an empty protocol_port"""
@ -273,7 +272,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a0f2148e-160e-4b12-8e30-567a0448d179') @decorators.idempotent_id('a0f2148e-160e-4b12-8e30-567a0448d179')
def test_create_member_empty_subnet_id(self): def test_create_member_empty_subnet_id(self):
"""Test create member with empty subnet_id""" """Test create member with empty subnet_id"""
@ -284,7 +283,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('63cd5897-b82c-4508-8be7-3b7ccab21798') @decorators.idempotent_id('63cd5897-b82c-4508-8be7-3b7ccab21798')
def test_create_member_empty_admin_state_up(self): def test_create_member_empty_admin_state_up(self):
"""Test create member with an empty admin_state_up""" """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.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('55f16682-74a2-4df7-a6b3-2da3623f4a41') @decorators.idempotent_id('55f16682-74a2-4df7-a6b3-2da3623f4a41')
def test_create_member_empty_weight(self): def test_create_member_empty_weight(self):
"""Test create member with an empty weight""" """Test create member with an empty weight"""
@ -308,7 +307,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('c99f6146-2c85-4a32-a850-942d6836c175') @decorators.idempotent_id('c99f6146-2c85-4a32-a850-942d6836c175')
def test_delete_member(self): def test_delete_member(self):
"""Test that we can delete a member by id.""" """Test that we can delete a member by id."""
@ -321,7 +320,7 @@ class MemberTest(base.BaseTestCase):
members = self._list_members(self.pool_id) members = self._list_members(self.pool_id)
self.assertEmpty(members) self.assertEmpty(members)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('7d51aa2d-9582-4160-b07b-bf3c3b3e335e') @decorators.idempotent_id('7d51aa2d-9582-4160-b07b-bf3c3b3e335e')
def test_update_member(self): def test_update_member(self):
"""Test that we can update a member.""" """Test that we can update a member."""
@ -341,7 +340,7 @@ class MemberTest(base.BaseTestCase):
self.assertFalse(member["admin_state_up"]) self.assertFalse(member["admin_state_up"])
self.assertEqual(10, member["weight"]) self.assertEqual(10, member["weight"])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('101555d6-c472-45e4-b302-b2916ab6fad5') @decorators.idempotent_id('101555d6-c472-45e4-b302-b2916ab6fad5')
def test_update_member_missing_admin_state_up(self): def test_update_member_missing_admin_state_up(self):
"""Test that we can update a member with missing admin_state_up.""" """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(True, member["admin_state_up"])
self.assertEqual(10, member["weight"]) self.assertEqual(10, member["weight"])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('815c037b-7e3b-474d-a4f6-eec26b44d677') @decorators.idempotent_id('815c037b-7e3b-474d-a4f6-eec26b44d677')
def test_update_member_missing_weight(self): def test_update_member_missing_weight(self):
"""Test that we can update a member with missing weight.""" """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.assertFalse(member["admin_state_up"])
self.assertEqual(1, member["weight"]) self.assertEqual(1, member["weight"])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('3ab3bb11-e287-4693-8ea0-5cfbb4cc2c85') @decorators.idempotent_id('3ab3bb11-e287-4693-8ea0-5cfbb4cc2c85')
def test_update_member_invalid_admin_state_up(self): def test_update_member_invalid_admin_state_up(self):
"""Test that we can update a member with empty admin_state_up.""" """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.assertRaises(ex.BadRequest, self._update_member,
self.pool_id, member_id, **member_opts) self.pool_id, member_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('71979c3b-08d6-449b-8de2-1eefc9d0db0e') @decorators.idempotent_id('71979c3b-08d6-449b-8de2-1eefc9d0db0e')
def test_update_member_invalid_weight(self): def test_update_member_invalid_weight(self):
"""Test that we can update a member with an empty weight.""" """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.assertRaises(ex.BadRequest, self._update_member,
self.pool_id, member_id, **member_opts) self.pool_id, member_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('e1470212-0a36-4d8c-8e30-1f69a8d31ae1') @decorators.idempotent_id('e1470212-0a36-4d8c-8e30-1f69a8d31ae1')
def test_update_member_empty_admin_state_up(self): def test_update_member_empty_admin_state_up(self):
"""Test that we can update a member with empty admin_state_up.""" """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.assertRaises(ex.BadRequest, self._update_member,
self.pool_id, member_id, **member_opts) self.pool_id, member_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('cd1e276c-b220-439d-a9dc-823a10d11b6a') @decorators.idempotent_id('cd1e276c-b220-439d-a9dc-823a10d11b6a')
def test_update_member_empty_weight(self): def test_update_member_empty_weight(self):
"""Test that we can update a member with an empty weight.""" """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.assertRaises(ex.BadRequest, self._update_member,
self.pool_id, member_id, **member_opts) self.pool_id, member_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('25779006-1e2c-4155-9126-49f45e7646a3') @decorators.idempotent_id('25779006-1e2c-4155-9126-49f45e7646a3')
def test_raises_immutable_when_updating_immutable_attrs_on_member(self): def test_raises_immutable_when_updating_immutable_attrs_on_member(self):
"""Test failure on immutable attribute on member create.""" """Test failure on immutable attribute on member create."""
@ -449,7 +448,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._update_member, self.assertRaises(ex.BadRequest, self._update_member,
self.pool_id, member_id, **member_opts) self.pool_id, member_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a332ecda-bb18-4cc2-b847-c09a72d90fd1') @decorators.idempotent_id('a332ecda-bb18-4cc2-b847-c09a72d90fd1')
def test_raises_exception_on_invalid_attr_on_create(self): def test_raises_exception_on_invalid_attr_on_create(self):
"""Test failure on invalid attribute on member create.""" """Test failure on invalid attribute on member create."""
@ -458,7 +457,7 @@ class MemberTest(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._create_member, self.assertRaises(ex.BadRequest, self._create_member,
self.pool_id, **member_opts) self.pool_id, **member_opts)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('bc4c3eb5-14d5-43dd-93cb-603801fa6f32') @decorators.idempotent_id('bc4c3eb5-14d5-43dd-93cb-603801fa6f32')
def test_raises_exception_on_invalid_attr_on_update(self): def test_raises_exception_on_invalid_attr_on_update(self):
"""Test failure on invalid attribute on member update.""" """Test failure on invalid attribute on member update."""

View File

@ -12,7 +12,6 @@
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base 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']) self.addCleanup(self._delete_pool, response['id'])
return response return response
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('71b9d3e1-3f13-4c84-a905-054c9cd3d4aa') @decorators.idempotent_id('71b9d3e1-3f13-4c84-a905-054c9cd3d4aa')
def test_create_pool_using_empty_tenant_field(self): def test_create_pool_using_empty_tenant_field(self):
"""Test create pool with empty tenant field should fail """Test create pool with empty tenant field should fail
@ -74,7 +73,7 @@ class TestPools(base.BaseAdminTestCase):
tenant_id="", tenant_id="",
lb_algorithm='ROUND_ROBIN') lb_algorithm='ROUND_ROBIN')
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('f782967d-8dca-4d7b-b625-bfd811379b42') @decorators.idempotent_id('f782967d-8dca-4d7b-b625-bfd811379b42')
def test_create_pool_missing_tenant_id_for_other_tenant(self): def test_create_pool_missing_tenant_id_for_other_tenant(self):
"""Test create pool with a missing tenant id field. """Test create pool with a missing tenant id field.
@ -89,7 +88,7 @@ class TestPools(base.BaseAdminTestCase):
pool_tenant = pool['tenant_id'] pool_tenant = pool['tenant_id']
self.assertNotEqual(pool_tenant, self.subnet['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') @decorators.idempotent_id('140c4c95-3d12-47d7-9b20-cc3c60e24af9')
def test_create_pool_missing_tenant_id_for_admin(self): def test_create_pool_missing_tenant_id_for_admin(self):
"""Test create pool with a missing tenant id field. """Test create pool with a missing tenant id field.
@ -103,7 +102,7 @@ class TestPools(base.BaseAdminTestCase):
pool_tenant = pool['tenant_id'] pool_tenant = pool['tenant_id']
self.assertEqual(pool_tenant, pool.get('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') @decorators.idempotent_id('1cf07f5c-7609-4b64-b5b8-f27050860132')
def test_create_pool_for_another_tenant(self): def test_create_pool_for_another_tenant(self):
"""Test create pool for other tenant field""" """Test create pool for other tenant field"""

View File

@ -12,7 +12,6 @@
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.tests.nsxv.api.lbaas import base 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']) self.addCleanup(self._delete_pool, response['id'])
return response return response
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('99154002-e598-4277-b6d8-bf0fe10f276f') @decorators.idempotent_id('99154002-e598-4277-b6d8-bf0fe10f276f')
def test_list_pools_empty(self): def test_list_pools_empty(self):
"""Test get pools when empty""" """Test get pools when empty"""
pools = self._list_pools() pools = self._list_pools()
self.assertEmpty(pools) self.assertEmpty(pools)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('4f09b544-8e82-4313-b452-8fe3ca5ad14e') @decorators.idempotent_id('4f09b544-8e82-4313-b452-8fe3ca5ad14e')
def test_list_pools_one(self): def test_list_pools_one(self):
"""Test get pools with one pool""" """Test get pools with one pool"""
@ -87,7 +86,7 @@ class TestPools(base.BaseTestCase):
self.assertEqual(1, len(pools)) self.assertEqual(1, len(pools))
self.assertIn(new_pool, pools) self.assertIn(new_pool, pools)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('7562b846-a685-49ea-9d41-afcaff418bae') @decorators.idempotent_id('7562b846-a685-49ea-9d41-afcaff418bae')
def test_list_pools_two(self): def test_list_pools_two(self):
"""Test get pools with two pools""" """Test get pools with two pools"""
@ -98,7 +97,7 @@ class TestPools(base.BaseTestCase):
self.assertIn(new_pool1, pools) self.assertIn(new_pool1, pools)
self.assertIn(new_pool2, pools) self.assertIn(new_pool2, pools)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('0cf61c6a-efd5-4859-9d92-da204f5ec1ed') @decorators.idempotent_id('0cf61c6a-efd5-4859-9d92-da204f5ec1ed')
def test_get_pool(self): def test_get_pool(self):
"""Test get pool""" """Test get pool"""
@ -106,7 +105,7 @@ class TestPools(base.BaseTestCase):
pool = self._show_pool(new_pool.get('id')) pool = self._show_pool(new_pool.get('id'))
self.assertEqual(new_pool, pool) self.assertEqual(new_pool, pool)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('7fc310a0-7640-4f7c-8cdb-53b6ae23bd52') @decorators.idempotent_id('7fc310a0-7640-4f7c-8cdb-53b6ae23bd52')
def test_create_pool(self): def test_create_pool(self):
"""Test create pool""" """Test create pool"""
@ -114,7 +113,7 @@ class TestPools(base.BaseTestCase):
pool = self._show_pool(new_pool.get('id')) pool = self._show_pool(new_pool.get('id'))
self.assertEqual(new_pool, pool) self.assertEqual(new_pool, pool)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('5f414612-4f8c-4f48-ac99-286356870fae') @decorators.idempotent_id('5f414612-4f8c-4f48-ac99-286356870fae')
def test_create_pool_missing_required_fields(self): def test_create_pool_missing_required_fields(self):
"""Test create pool with a missing required fields""" """Test create pool with a missing required fields"""
@ -123,7 +122,7 @@ class TestPools(base.BaseTestCase):
tenant_id=tenant_id, tenant_id=tenant_id,
lb_algorithm='ROUND_ROBIN') lb_algorithm='ROUND_ROBIN')
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('7fe53b0c-d7b8-4283-aeb3-eeeb3219e42f') @decorators.idempotent_id('7fe53b0c-d7b8-4283-aeb3-eeeb3219e42f')
def test_create_pool_missing_tenant_field(self): def test_create_pool_missing_tenant_field(self):
"""Test create pool with a missing required tenant field""" """Test create pool with a missing required tenant field"""
@ -135,7 +134,7 @@ class TestPools(base.BaseTestCase):
pool_tenant = pool['tenant_id'] pool_tenant = pool['tenant_id']
self.assertEqual(tenant_id, pool_tenant) self.assertEqual(tenant_id, pool_tenant)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('7d17e507-99c2-4e8f-a403-27b630b403a2') @decorators.idempotent_id('7d17e507-99c2-4e8f-a403-27b630b403a2')
def test_create_pool_missing_protocol_field(self): def test_create_pool_missing_protocol_field(self):
"""Test create pool with a missing required protocol field""" """Test create pool with a missing required protocol field"""
@ -152,7 +151,7 @@ class TestPools(base.BaseTestCase):
listener_id=listener_id, listener_id=listener_id,
lb_algorithm='ROUND_ROBIN') lb_algorithm='ROUND_ROBIN')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('99051cc6-bf51-4af0-b530-edbfb7d4b7ab') @decorators.idempotent_id('99051cc6-bf51-4af0-b530-edbfb7d4b7ab')
def test_create_pool_missing_lb_algorithm_field(self): def test_create_pool_missing_lb_algorithm_field(self):
"""Test create pool with a missing required lb algorithm field""" """Test create pool with a missing required lb algorithm field"""
@ -169,7 +168,7 @@ class TestPools(base.BaseTestCase):
listener_id=listener_id, listener_id=listener_id,
protocol='HTTP') protocol='HTTP')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('d04b75fe-688b-4713-83d1-f0ac29005391') @decorators.idempotent_id('d04b75fe-688b-4713-83d1-f0ac29005391')
def test_create_pool_missing_listener_id_field(self): def test_create_pool_missing_listener_id_field(self):
"""Test create pool with a missing required listener id field""" """Test create pool with a missing required listener id field"""
@ -179,7 +178,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
protocol='HTTP') protocol='HTTP')
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('378c56b4-cf61-448b-8460-1ffb1a091ea5') @decorators.idempotent_id('378c56b4-cf61-448b-8460-1ffb1a091ea5')
def test_create_pool_missing_description_field(self): def test_create_pool_missing_description_field(self):
"""Test create pool with missing description field""" """Test create pool with missing description field"""
@ -189,7 +188,7 @@ class TestPools(base.BaseTestCase):
desc = pool_initial.get('description') desc = pool_initial.get('description')
self.assertEqual(desc, "") self.assertEqual(desc, "")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('f73ff259-7fbb-41ac-ab92-c6eef0213e20') @decorators.idempotent_id('f73ff259-7fbb-41ac-ab92-c6eef0213e20')
def test_create_pool_missing_name_field(self): def test_create_pool_missing_name_field(self):
"""Test create pool with a missing name field""" """Test create pool with a missing name field"""
@ -198,7 +197,7 @@ class TestPools(base.BaseTestCase):
name = pool_initial.get('name') name = pool_initial.get('name')
self.assertEqual(name, "") self.assertEqual(name, "")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('37957c70-6979-4e15-a316-8c29cb7e724e') @decorators.idempotent_id('37957c70-6979-4e15-a316-8c29cb7e724e')
def test_create_pool_missing_admin_state_up_field(self): def test_create_pool_missing_admin_state_up_field(self):
"""Test create pool with a missing admin_state_up field""" """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') state = pool_initial.get('admin_state_up')
self.assertEqual(state, True) self.assertEqual(state, True)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('d1e41b4b-fe79-4bec-bc94-5934995c6e05') @decorators.idempotent_id('d1e41b4b-fe79-4bec-bc94-5934995c6e05')
def test_create_pool_missing_session_pers_field(self): def test_create_pool_missing_session_pers_field(self):
"""Test create pool with a missing session_pers field""" """Test create pool with a missing session_pers field"""
@ -216,7 +215,7 @@ class TestPools(base.BaseTestCase):
sess = pool_initial.get('session_persistence') sess = pool_initial.get('session_persistence')
self.assertIsNone(sess) self.assertIsNone(sess)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('440b3975-b7c8-4cff-85a5-a0a02ad6b8f9') @decorators.idempotent_id('440b3975-b7c8-4cff-85a5-a0a02ad6b8f9')
def test_create_pool_invalid_protocol(self): def test_create_pool_invalid_protocol(self):
"""Test create pool with an invalid protocol""" """Test create pool with an invalid protocol"""
@ -225,7 +224,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a0b322b1-629c-483c-9136-397fc9100e48') @decorators.idempotent_id('a0b322b1-629c-483c-9136-397fc9100e48')
def test_create_pool_invalid_session_persistence_field(self): def test_create_pool_invalid_session_persistence_field(self):
"""Test create pool with invalid session persistance field""" """Test create pool with invalid session persistance field"""
@ -235,7 +234,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('53cd9427-29fa-4a55-adb8-9cb6388b9548') @decorators.idempotent_id('53cd9427-29fa-4a55-adb8-9cb6388b9548')
def test_create_pool_invalid_algorithm(self): def test_create_pool_invalid_algorithm(self):
"""Test create pool with an invalid algorithm""" """Test create pool with an invalid algorithm"""
@ -244,7 +243,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='LEAST_CON', lb_algorithm='LEAST_CON',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('26e6bb34-4b0f-4650-a5dc-87484fa55038') @decorators.idempotent_id('26e6bb34-4b0f-4650-a5dc-87484fa55038')
def test_create_pool_invalid_admin_state_up(self): def test_create_pool_invalid_admin_state_up(self):
"""Test create pool with an invalid admin state up field""" """Test create pool with an invalid admin state up field"""
@ -254,7 +253,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('8df02129-2b9c-4628-a390-805967107090') @decorators.idempotent_id('8df02129-2b9c-4628-a390-805967107090')
def test_create_pool_invalid_listener_field(self): def test_create_pool_invalid_listener_field(self):
"""Test create pool with invalid listener field""" """Test create pool with invalid listener field"""
@ -265,7 +264,7 @@ class TestPools(base.BaseTestCase):
protocol='HTTP', protocol='HTTP',
listener_id="$@5$%$7863") listener_id="$@5$%$7863")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('94949cd4-ebc1-4af5-a220-9ebb32772fbc') @decorators.idempotent_id('94949cd4-ebc1-4af5-a220-9ebb32772fbc')
def test_create_pool_invalid_tenant_id_field(self): def test_create_pool_invalid_tenant_id_field(self):
"""Test create pool with invalid tenant_id field""" """Test create pool with invalid tenant_id field"""
@ -282,7 +281,7 @@ class TestPools(base.BaseTestCase):
protocol='HTTP', protocol='HTTP',
listener_id=listener_id) listener_id=listener_id)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('e335db64-ad16-4e23-bd60-c72c37c7b188') @decorators.idempotent_id('e335db64-ad16-4e23-bd60-c72c37c7b188')
def test_create_pool_incorrect_attribute(self): def test_create_pool_incorrect_attribute(self):
"""Test create a pool with an extra, incorrect field""" """Test create a pool with an extra, incorrect field"""
@ -292,7 +291,7 @@ class TestPools(base.BaseTestCase):
protocol_port=80, protocol_port=80,
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('390053c1-adc9-4b1a-8eb0-dbdb9085cf0f') @decorators.idempotent_id('390053c1-adc9-4b1a-8eb0-dbdb9085cf0f')
def test_create_pool_empty_listener_field(self): def test_create_pool_empty_listener_field(self):
"""Test create pool with empty listener field""" """Test create pool with empty listener field"""
@ -303,7 +302,7 @@ class TestPools(base.BaseTestCase):
protocol='HTTP', protocol='HTTP',
listener_id="") listener_id="")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('8b25defa-8efc-47f5-a43d-3d299d7b9752') @decorators.idempotent_id('8b25defa-8efc-47f5-a43d-3d299d7b9752')
def test_create_pool_empty_description_field(self): def test_create_pool_empty_description_field(self):
"""Test create pool with empty description field""" """Test create pool with empty description field"""
@ -312,7 +311,7 @@ class TestPools(base.BaseTestCase):
pool_desc = pool.get('description') pool_desc = pool.get('description')
self.assertEqual(pool_desc, '') self.assertEqual(pool_desc, '')
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('c8cd496c-7698-4c0e-bbed-fe9ef6c910de') @decorators.idempotent_id('c8cd496c-7698-4c0e-bbed-fe9ef6c910de')
def test_create_pool_empty_name_field(self): def test_create_pool_empty_name_field(self):
"""Test create pool with empty name field""" """Test create pool with empty name field"""
@ -321,7 +320,7 @@ class TestPools(base.BaseTestCase):
pool_name = pool.get('name') pool_name = pool.get('name')
self.assertEqual(pool_name, '') self.assertEqual(pool_name, '')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('b7997d71-84ea-43d2-8ce0-eea4156cc952') @decorators.idempotent_id('b7997d71-84ea-43d2-8ce0-eea4156cc952')
def test_create_pool_empty_protocol(self): def test_create_pool_empty_protocol(self):
"""Test create pool with an empty protocol""" """Test create pool with an empty protocol"""
@ -330,7 +329,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('bffe50bb-8be5-4ed9-aea6-a15b40342599') @decorators.idempotent_id('bffe50bb-8be5-4ed9-aea6-a15b40342599')
def test_create_pool_empty_session_persistence_field(self): def test_create_pool_empty_session_persistence_field(self):
"""Test create pool with empty session persistence field""" """Test create pool with empty session persistence field"""
@ -340,7 +339,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('4cfd301a-baae-462d-8041-84c337e95d16') @decorators.idempotent_id('4cfd301a-baae-462d-8041-84c337e95d16')
def test_create_pool_empty_algorithm(self): def test_create_pool_empty_algorithm(self):
"""Test create pool with an empty algorithm""" """Test create pool with an empty algorithm"""
@ -349,7 +348,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm="", lb_algorithm="",
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('814de2e3-a536-4ab1-a80f-9506b11c7bc8') @decorators.idempotent_id('814de2e3-a536-4ab1-a80f-9506b11c7bc8')
def test_create_pool_empty_admin_state_up(self): def test_create_pool_empty_admin_state_up(self):
"""Test create pool with an invalid admin state up field""" """Test create pool with an invalid admin state up field"""
@ -358,7 +357,7 @@ class TestPools(base.BaseTestCase):
admin_state_up="", admin_state_up="",
lb_algorithm='ROUND_ROBIN') lb_algorithm='ROUND_ROBIN')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('0f230e6d-057d-4da8-a42d-f32464ae1c47') @decorators.idempotent_id('0f230e6d-057d-4da8-a42d-f32464ae1c47')
def test_create_pool_empty_tenant_field(self): def test_create_pool_empty_tenant_field(self):
"""Test create pool with empty tenant field""" """Test create pool with empty tenant field"""
@ -368,7 +367,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('4a0e711a-b4da-4226-b265-f87b04ee4977') @decorators.idempotent_id('4a0e711a-b4da-4226-b265-f87b04ee4977')
def test_create_pool_for_other_tenant_field(self): def test_create_pool_for_other_tenant_field(self):
"""Test create pool for other tenant field""" """Test create pool for other tenant field"""
@ -379,7 +378,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('cb564af8-89aa-40ca-850e-55418da0f235') @decorators.idempotent_id('cb564af8-89aa-40ca-850e-55418da0f235')
def test_create_pool_invalid_name_field(self): def test_create_pool_invalid_name_field(self):
"""known bug with """known bug with
@ -393,7 +392,7 @@ class TestPools(base.BaseTestCase):
listener_id=self.listener['id'], listener_id=self.listener['id'],
name='n' * 256) name='n' * 256)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('7f4472be-feb7-4ab7-9fb9-97e08f1fa787') @decorators.idempotent_id('7f4472be-feb7-4ab7-9fb9-97e08f1fa787')
def test_create_pool_invalid_desc_field(self): def test_create_pool_invalid_desc_field(self):
"""known bug with """known bug with
@ -407,7 +406,7 @@ class TestPools(base.BaseTestCase):
listener_id=self.listener['id'], listener_id=self.listener['id'],
description='d' * 256) description='d' * 256)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('b09b14dc-029d-4132-94dd-e713c9bfa0ee') @decorators.idempotent_id('b09b14dc-029d-4132-94dd-e713c9bfa0ee')
def test_create_pool_with_session_persistence_unsupported_type(self): def test_create_pool_with_session_persistence_unsupported_type(self):
"""Test create a pool """Test create a pool
@ -420,7 +419,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('b5af574a-d05f-4db0-aece-58676cdbf440') @decorators.idempotent_id('b5af574a-d05f-4db0-aece-58676cdbf440')
def test_create_pool_with_session_persistence_http_cookie(self): def test_create_pool_with_session_persistence_http_cookie(self):
"""Test create a pool with session_persistence type=HTTP_COOKIE""" """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')) pool = self._show_pool(new_pool.get('id'))
self.assertEqual(new_pool, pool) self.assertEqual(new_pool, pool)
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('2d6b6667-e38b-4e7f-8443-8dc7ee63ea87') @decorators.idempotent_id('2d6b6667-e38b-4e7f-8443-8dc7ee63ea87')
def test_create_pool_with_session_persistence_app_cookie(self): def test_create_pool_with_session_persistence_app_cookie(self):
"""Test create a pool with session_persistence type=APP_COOKIE""" """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')) pool = self._show_pool(new_pool.get('id'))
self.assertEqual(new_pool, pool) self.assertEqual(new_pool, pool)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('9ac450fc-24c5-4b5c-a781-b23e5713f172') @decorators.idempotent_id('9ac450fc-24c5-4b5c-a781-b23e5713f172')
def test_create_pool_with_session_persistence_redundant_cookie_name(self): def test_create_pool_with_session_persistence_redundant_cookie_name(self):
"""Test create a pool """Test create a pool
@ -453,7 +452,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('7783ebd0-5bd9-43f0-baf2-a43212ba2617') @decorators.idempotent_id('7783ebd0-5bd9-43f0-baf2-a43212ba2617')
def test_create_pool_with_session_persistence_without_cookie_name(self): def test_create_pool_with_session_persistence_without_cookie_name(self):
"""Test create a pool """Test create a pool
@ -466,7 +465,7 @@ class TestPools(base.BaseTestCase):
lb_algorithm='ROUND_ROBIN', lb_algorithm='ROUND_ROBIN',
listener_id=self.listener['id']) listener_id=self.listener['id'])
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('767ed26e-7114-402a-bdee-443d52009a73') @decorators.idempotent_id('767ed26e-7114-402a-bdee-443d52009a73')
def test_update_pool(self): def test_update_pool(self):
"""Test update pool""" """Test update pool"""
@ -477,7 +476,7 @@ class TestPools(base.BaseTestCase):
wait=True) wait=True)
self.assertEqual(desc, pool.get('description')) self.assertEqual(desc, pool.get('description'))
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('5cbc4dac-13fc-44de-b98f-41ca369a6e0f') @decorators.idempotent_id('5cbc4dac-13fc-44de-b98f-41ca369a6e0f')
def test_update_pool_missing_name(self): def test_update_pool_missing_name(self):
"""Test update pool with missing name""" """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._wait_for_load_balancer_status(self.load_balancer.get('id'))
self.assertEqual(name, pool.get('name')) self.assertEqual(name, pool.get('name'))
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('af9c2f8e-b0e3-455b-83f0-222f8d692185') @decorators.idempotent_id('af9c2f8e-b0e3-455b-83f0-222f8d692185')
def test_update_pool_missing_description(self): def test_update_pool_missing_description(self):
"""Test update pool with missing description""" """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._wait_for_load_balancer_status(self.load_balancer.get('id'))
self.assertEqual(desc, pool.get('description')) self.assertEqual(desc, pool.get('description'))
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('3b41e855-edca-42c1-a1c6-07421f87704d') @decorators.idempotent_id('3b41e855-edca-42c1-a1c6-07421f87704d')
def test_update_pool_missing_admin_state_up(self): def test_update_pool_missing_admin_state_up(self):
"""Test update pool with missing admin state up field""" """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._wait_for_load_balancer_status(self.load_balancer.get('id'))
self.assertEqual(admin, pool.get('admin_state_up')) self.assertEqual(admin, pool.get('admin_state_up'))
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('8b49ecc3-4694-4482-9b2d-dc928576e161') @decorators.idempotent_id('8b49ecc3-4694-4482-9b2d-dc928576e161')
def test_update_pool_missing_session_persistence(self): def test_update_pool_missing_session_persistence(self):
"""Test update pool with missing session persistence""" """Test update pool with missing session persistence"""
@ -520,7 +519,7 @@ class TestPools(base.BaseTestCase):
pool = self._update_pool(new_pool.get('id')) pool = self._update_pool(new_pool.get('id'))
self.assertAlmostEqual(sess_pers, pool.get('session_persistence')) self.assertAlmostEqual(sess_pers, pool.get('session_persistence'))
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('23a9dbaf-105b-450e-95cf-050203b28366') @decorators.idempotent_id('23a9dbaf-105b-450e-95cf-050203b28366')
def test_update_pool_invalid_name(self): def test_update_pool_invalid_name(self):
"""Test update pool with invalid name """Test update pool with invalid name
@ -531,7 +530,7 @@ class TestPools(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._update_pool, self.assertRaises(ex.BadRequest, self._update_pool,
new_pool.get('id'), name='n' * 256) new_pool.get('id'), name='n' * 256)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('efeeb827-5cb0-4349-8272-b2dbcbf42d22') @decorators.idempotent_id('efeeb827-5cb0-4349-8272-b2dbcbf42d22')
def test_update_pool_invalid_desc(self): def test_update_pool_invalid_desc(self):
"""Test update pool with invalid desc """Test update pool with invalid desc
@ -543,7 +542,7 @@ class TestPools(base.BaseTestCase):
new_pool.get('id'), new_pool.get('id'),
description='d' * 256) description='d' * 256)
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a91c1380-0d36-43a1-bf64-8fe9078e2bbd') @decorators.idempotent_id('a91c1380-0d36-43a1-bf64-8fe9078e2bbd')
def test_update_pool_invalid_admin_state_up(self): def test_update_pool_invalid_admin_state_up(self):
"""Test update pool with an invalid admin_state_up""" """Test update pool with an invalid admin_state_up"""
@ -551,7 +550,7 @@ class TestPools(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._update_pool, self.assertRaises(ex.BadRequest, self._update_pool,
new_pool.get('id'), admin_state_up='hello') new_pool.get('id'), admin_state_up='hello')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('5d45b0e3-7d7f-4523-8504-9ccfd6ecec81') @decorators.idempotent_id('5d45b0e3-7d7f-4523-8504-9ccfd6ecec81')
def test_update_pool_invalid_session_persistence(self): def test_update_pool_invalid_session_persistence(self):
"""Test update pool with an invalid session pers. field""" """Test update pool with an invalid session pers. field"""
@ -560,7 +559,7 @@ class TestPools(base.BaseTestCase):
new_pool.get('id'), new_pool.get('id'),
session_persistence={'type': 'Hello'}) session_persistence={'type': 'Hello'})
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('3ddec9b1-fc7a-4073-9451-e73316237763') @decorators.idempotent_id('3ddec9b1-fc7a-4073-9451-e73316237763')
def test_update_pool_empty_name(self): def test_update_pool_empty_name(self):
"""Test update pool with empty name""" """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._wait_for_load_balancer_status(self.load_balancer.get('id'))
self.assertEqual(pool.get('name'), "") self.assertEqual(pool.get('name'), "")
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('171e1153-9898-467d-80ed-d6deed430342') @decorators.idempotent_id('171e1153-9898-467d-80ed-d6deed430342')
def test_update_pool_empty_description(self): def test_update_pool_empty_description(self):
"""Test update pool with empty description""" """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._wait_for_load_balancer_status(self.load_balancer.get('id'))
self.assertEqual(pool.get('description'), "") self.assertEqual(pool.get('description'), "")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('397bd0ec-0e82-4421-a672-b7a2c4e84b56') @decorators.idempotent_id('397bd0ec-0e82-4421-a672-b7a2c4e84b56')
def test_update_pool_empty_admin_state_up(self): def test_update_pool_empty_admin_state_up(self):
"""Test update pool with empty admin state up""" """Test update pool with empty admin state up"""
@ -587,7 +586,7 @@ class TestPools(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._update_pool, self.assertRaises(ex.BadRequest, self._update_pool,
new_pool.get('id'), admin_state_up="") new_pool.get('id'), admin_state_up="")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('f68a6ed5-4577-44f1-81c8-6dd30d8a874d') @decorators.idempotent_id('f68a6ed5-4577-44f1-81c8-6dd30d8a874d')
def test_update_pool_empty_session_persistence(self): def test_update_pool_empty_session_persistence(self):
"""Test update pool with empty session persistence field""" """Test update pool with empty session persistence field"""
@ -596,7 +595,7 @@ class TestPools(base.BaseTestCase):
new_pool.get('id'), new_pool.get('id'),
session_persistence="") session_persistence="")
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('d8027ea2-6912-41f7-bf5a-f2eb3d0901b1') @decorators.idempotent_id('d8027ea2-6912-41f7-bf5a-f2eb3d0901b1')
def test_update_pool_invalid_attribute(self): def test_update_pool_invalid_attribute(self):
"""Test update pool with an invalid attribute""" """Test update pool with an invalid attribute"""
@ -604,7 +603,7 @@ class TestPools(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._update_pool, self.assertRaises(ex.BadRequest, self._update_pool,
new_pool.get('id'), lb_algorithm='ROUNDED') new_pool.get('id'), lb_algorithm='ROUNDED')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('a58822ee-56fc-4b96-bb28-47cd07ae9cb8') @decorators.idempotent_id('a58822ee-56fc-4b96-bb28-47cd07ae9cb8')
def test_update_pool_incorrect_attribute(self): def test_update_pool_incorrect_attribute(self):
"""Test update a pool with an extra, incorrect field""" """Test update a pool with an extra, incorrect field"""
@ -612,7 +611,7 @@ class TestPools(base.BaseTestCase):
self.assertRaises(ex.BadRequest, self._update_pool, self.assertRaises(ex.BadRequest, self._update_pool,
new_pool.get('id'), protocol='HTTPS') new_pool.get('id'), protocol='HTTPS')
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('4839f03e-2439-4619-8546-411ca883066d') @decorators.idempotent_id('4839f03e-2439-4619-8546-411ca883066d')
def test_delete_pool(self): def test_delete_pool(self):
"""Test delete pool""" """Test delete pool"""
@ -623,7 +622,7 @@ class TestPools(base.BaseTestCase):
self.assertRaises(ex.NotFound, self._show_pool, self.assertRaises(ex.NotFound, self._show_pool,
new_pool.get('id')) new_pool.get('id'))
@test.attr(type='smoke') @decorators.attr(type='smoke')
@decorators.idempotent_id('cd30962a-12ce-4ae9-89de-db007aebbd9f') @decorators.idempotent_id('cd30962a-12ce-4ae9-89de-db007aebbd9f')
def test_delete_invalid_pool(self): def test_delete_invalid_pool(self):
"""Test delete pool that doesn't exist""" """Test delete pool that doesn't exist"""

View File

@ -198,7 +198,7 @@ class AdminPolicyTest(base.BaseAdminNetworkTest):
sg = self.create_security_group(sg_client, sg_name) sg = self.create_security_group(sg_client, sg_name)
self.assertEqual(sg.get('name'), 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') @decorators.idempotent_id('5099604c-637a-4b25-8756-c6fc0929f963')
def test_add_rules_to_policy_disallowed(self): def test_add_rules_to_policy_disallowed(self):
tenant_id = self.cmgr_pri.networks_client.tenant_id 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'), self.create_security_group_rule, sg.get('id'),
cmgr=self.cmgr_adm, tenant_id=tenant_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') @decorators.idempotent_id('9a604036-ace6-4ced-92b8-be732eee310f')
def test_cannot_create_policy_with_invalid_policy_id(self): def test_cannot_create_policy_with_invalid_policy_id(self):
self.assertRaises(exceptions.BadRequest, self.assertRaises(exceptions.BadRequest,
self.create_security_group_policy, self.create_security_group_policy,
self.cmgr_adm, "invalid-policy-id") self.cmgr_adm, "invalid-policy-id")
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@decorators.idempotent_id('4d383d3c-f1e6-47e3-906e-3c171146965a') @decorators.idempotent_id('4d383d3c-f1e6-47e3-906e-3c171146965a')
def test_tenant_cannot_delete_its_policy(self): def test_tenant_cannot_delete_its_policy(self):
tenant_cmgr = self.cmgr_alt tenant_cmgr = self.cmgr_alt
@ -228,7 +228,7 @@ class AdminPolicyTest(base.BaseAdminNetworkTest):
self.delete_security_group, self.delete_security_group,
tenant_sg_client, sg_id) tenant_sg_client, sg_id)
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@decorators.idempotent_id('154985cd-26b2-468d-af6d-b6144ef2d378') @decorators.idempotent_id('154985cd-26b2-468d-af6d-b6144ef2d378')
def test_tenant_cannot_update_its_policy(self): def test_tenant_cannot_update_its_policy(self):
tenant_cmgr = self.cmgr_alt tenant_cmgr = self.cmgr_alt
@ -240,14 +240,14 @@ class AdminPolicyTest(base.BaseAdminNetworkTest):
self.update_security_group_policy, self.update_security_group_policy,
sg_id, self.alt_policy_id, self.cmgr_alt) 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') @decorators.idempotent_id('d6d8c918-d488-40c4-83dc-8ce1a565e54f')
def test_tenant_cannot_create_policy(self): def test_tenant_cannot_create_policy(self):
self.assertRaises(exceptions.Forbidden, self.assertRaises(exceptions.Forbidden,
self.create_security_group_policy, self.create_security_group_policy,
self.cmgr_pri) self.cmgr_pri)
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@testtools.skipIf(CONF.nsxv.allow_tenant_rules_with_policy, @testtools.skipIf(CONF.nsxv.allow_tenant_rules_with_policy,
"skip because tenant is allowed to create SG.") "skip because tenant is allowed to create SG.")
@decorators.idempotent_id('82aa02ee-8008-47a9-90ea-ba7840bfb932') @decorators.idempotent_id('82aa02ee-8008-47a9-90ea-ba7840bfb932')

View File

@ -19,7 +19,6 @@ from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions from tempest.lib import exceptions
from tempest import test
CONF = config.CONF CONF = config.CONF
@ -50,7 +49,7 @@ class DnsSearchDoaminsNegativeTest(base.BaseAdminNetworkTest):
subnet = resp.get('subnet', resp) subnet = resp.get('subnet', resp)
return (network, subnet) return (network, subnet)
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@decorators.idempotent_id('11bdc214-10d7-4926-8f49-2da3d8719143') @decorators.idempotent_id('11bdc214-10d7-4926-8f49-2da3d8719143')
def test_create_dns_search_domain_negative(self): def test_create_dns_search_domain_negative(self):
self.assertRaises(exceptions.BadRequest, self.assertRaises(exceptions.BadRequest,

View File

@ -21,7 +21,6 @@ from tempest.lib import exceptions as lib_exc
from tempest.api.network import base from tempest.api.network import base
from tempest import config from tempest import config
from tempest import test
CONF = config.CONF CONF = config.CONF
@ -49,7 +48,7 @@ class MultipleTransportZonesNegativeTest(base.BaseAdminNetworkTest):
network['id']) network['id'])
return network return network
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@decorators.idempotent_id('8aff7abc-eacd-409c-8278-4cb7bde6da84') @decorators.idempotent_id('8aff7abc-eacd-409c-8278-4cb7bde6da84')
def test_create_mtz_networks(self): def test_create_mtz_networks(self):
# Multiple Transport Zone use provier network to implement # Multiple Transport Zone use provier network to implement

View File

@ -19,7 +19,6 @@ from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from oslo_log import log as logging from oslo_log import log as logging
@ -83,7 +82,7 @@ class PortTypeTest(base.BaseAdminNetworkTest):
self.delete_port, dir_port['id']) self.delete_port, dir_port['id'])
return dir_port return dir_port
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('ebb15f36-79bd-4461-91b5-84a57616730c') @decorators.idempotent_id('ebb15f36-79bd-4461-91b5-84a57616730c')
def test_create_direct_port(self): def test_create_direct_port(self):
""" """
@ -95,7 +94,7 @@ class PortTypeTest(base.BaseAdminNetworkTest):
self.assertEqual(dir_port['binding:vnic_type'], 'direct', self.assertEqual(dir_port['binding:vnic_type'], 'direct',
"Created port type is not DIRECT") "Created port type is not DIRECT")
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('2eaa0014-3265-479c-9012-c110df566ef1') @decorators.idempotent_id('2eaa0014-3265-479c-9012-c110df566ef1')
def test_enable_port_direct(self): def test_enable_port_direct(self):
""" """
@ -120,7 +119,7 @@ class PortTypeTest(base.BaseAdminNetworkTest):
self.assertEqual(updated_port['port']['binding:vnic_type'], 'direct', self.assertEqual(updated_port['port']['binding:vnic_type'], 'direct',
"Port vnic-type was not updated to 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') @decorators.idempotent_id('d77125af-7e8f-4dcf-a3a4-7956b3eaa2d2')
def test_delete_direct_port(self): def test_delete_direct_port(self):
""" """
@ -134,7 +133,7 @@ class PortTypeTest(base.BaseAdminNetworkTest):
self.assertFalse(self.delete_port(dir_port['id']), self.assertFalse(self.delete_port(dir_port['id']),
"Delete of Direct port was not successful") "Delete of Direct port was not successful")
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('b69f5ff1-7e86-4790-9392-434cd9ab808f') @decorators.idempotent_id('b69f5ff1-7e86-4790-9392-434cd9ab808f')
def test_list_direct_ports(self): def test_list_direct_ports(self):
""" """
@ -164,7 +163,7 @@ class PortTypeTest(base.BaseAdminNetworkTest):
self.assertEmpty(ports_not_listed, "These ports not listed: %s" self.assertEmpty(ports_not_listed, "These ports not listed: %s"
% ports_not_listed) % ports_not_listed)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('9b7ec966-f4e4-4087-9789-96a3aa669fa2') @decorators.idempotent_id('9b7ec966-f4e4-4087-9789-96a3aa669fa2')
def test_create_update_delete_direct_port(self): def test_create_update_delete_direct_port(self):
""" """
@ -184,8 +183,8 @@ class PortTypeTest(base.BaseAdminNetworkTest):
"Port name should be updated to %s" "Port name should be updated to %s"
% updated_port_name) % updated_port_name)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('e661ba70-0ab4-4f91-8d84-c5c102ec5793') @decorators.idempotent_id('e661ba70-0ab4-4f91-8d84-c5c102ec5793')
def test_create_direct_port_without_flat_network_negative(self): 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, self.assertRaises(ex.BadRequest, self._create_direct_port,
network_id=test_net['id']) network_id=test_net['id'])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('ee87287f-4ec6-4502-9bc1-855fa7c93e90') @decorators.idempotent_id('ee87287f-4ec6-4502-9bc1-855fa7c93e90')
def test_create_direct_port_w_flat_net_wout_port_settings_negative(self): 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'], self.create_port, network_id=test_flat_net['id'],
**orig_post) **orig_post)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('03e0065e-6d76-45d5-9192-ce89853dfa9e') @decorators.idempotent_id('03e0065e-6d76-45d5-9192-ce89853dfa9e')
def test_update_direct_port_w_flat_net_wout_port_configs_negative(self): 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, self.assertRaises(ex.BadRequest, self.update_port,
test_port['port']['id'], **post_body) test_port['port']['id'], **post_body)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('d3e75ed7-f3e5-4395-9ab0-063e7a8c141c') @decorators.idempotent_id('d3e75ed7-f3e5-4395-9ab0-063e7a8c141c')
def test_update_direct_port_wout_flat_net_with_port_configs_negative(self): def test_update_direct_port_wout_flat_net_with_port_configs_negative(self):
""" """

View File

@ -116,7 +116,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
sg_list = sg_list.get('security_groups', sg_list) sg_list = sg_list.get('security_groups', sg_list)
return sg_list[0] return sg_list[0]
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('5480d96e-287b-4e59-9ee3-d1bcf451dfc9') @decorators.idempotent_id('5480d96e-287b-4e59-9ee3-d1bcf451dfc9')
def test_provider_security_group_crud(self): def test_provider_security_group_crud(self):
sg_desc = "crud provider-security-group" sg_desc = "crud provider-security-group"
@ -132,7 +132,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
sg_list = sg_list.get('security_groups', sg_list) sg_list = sg_list.get('security_groups', sg_list)
self.assertEqual(len(sg_list), 0) self.assertEqual(len(sg_list), 0)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('6e48a2ed-8035-4986-a5c6-903c49ae26a2') @decorators.idempotent_id('6e48a2ed-8035-4986-a5c6-903c49ae26a2')
def test_admin_can_create_provider_security_group_for_tenant(self): def test_admin_can_create_provider_security_group_for_tenant(self):
project_id = self.cmgr_alt.networks_client.tenant_id project_id = self.cmgr_alt.networks_client.tenant_id
@ -141,14 +141,14 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
provider=True) provider=True)
self.assertEqual(True, sg.get('provider')) self.assertEqual(True, sg.get('provider'))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('95ce76a4-a125-411b-95d7-7a66addf0efc') @decorators.idempotent_id('95ce76a4-a125-411b-95d7-7a66addf0efc')
def test_tenant_provider_sec_group_with_no_rules(self): def test_tenant_provider_sec_group_with_no_rules(self):
sg = self.create_security_provider_group(self.cmgr_adm, sg = self.create_security_provider_group(self.cmgr_adm,
provider=True) provider=True)
self.assertEmpty(sg.get('security_group_rules')) self.assertEmpty(sg.get('security_group_rules'))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('5e6237ca-033a-4bee-b5fb-8f225ed00b0c') @decorators.idempotent_id('5e6237ca-033a-4bee-b5fb-8f225ed00b0c')
def test_admin_can_create_security_group_rule(self): def test_admin_can_create_security_group_rule(self):
sg_client = self.cmgr_adm.security_groups_client sg_client = self.cmgr_adm.security_groups_client
@ -167,7 +167,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
['security_group_rules'] ['security_group_rules']
[0]['protocol']) [0]['protocol'])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('18737e13-4bca-4f62-b993-f021795a7dbf') @decorators.idempotent_id('18737e13-4bca-4f62-b993-f021795a7dbf')
def test_provider_security_group_rule_at_beckend(self): def test_provider_security_group_rule_at_beckend(self):
sg = self.create_security_provider_group(self.cmgr_adm, provider=True) 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 " self.assertIn('deny', rule['action'], "Provider "
"security Group applied") "security Group applied")
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('b179a32b-e012-43ec-9d2d-f9e5801c97c6') @decorators.idempotent_id('b179a32b-e012-43ec-9d2d-f9e5801c97c6')
def test_provider_security_group_predence_at_beckend(self): def test_provider_security_group_predence_at_beckend(self):
sg = self.create_security_provider_group(self.cmgr_adm, provider=True) sg = self.create_security_provider_group(self.cmgr_adm, provider=True)
@ -206,7 +206,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
count += count count += count
self.assertEqual(0, count) self.assertEqual(0, count)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('38b21ea8-7822-4b1a-b923-cd00fa57ca4d') @decorators.idempotent_id('38b21ea8-7822-4b1a-b923-cd00fa57ca4d')
def test_provider_security_group_at_port_level(self): def test_provider_security_group_at_port_level(self):
sg = self.create_security_provider_group(self.cmgr_adm, 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']) port_client.delete_port(port_id['port']['id'])
net_client.delete_network(network['network']['id']) net_client.delete_network(network['network']['id'])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('b1e904fb-a70a-400e-a757-d772aab152eb') @decorators.idempotent_id('b1e904fb-a70a-400e-a757-d772aab152eb')
def test_provider_sec_group_with_multiple_rules(self): def test_provider_sec_group_with_multiple_rules(self):
project_id = self.cmgr_adm.networks_client.tenant_id project_id = self.cmgr_adm.networks_client.tenant_id
@ -249,7 +249,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
sg_rule2_id = sg_rule2.get('id') sg_rule2_id = sg_rule2.get('id')
self.assertNotEqual(sg_rule1_id, sg_rule2_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') @decorators.idempotent_id('edd94f8c-53b7-4286-9350-0ddc0af3213b')
def test_clear_provider_sec_group_from_port(self): def test_clear_provider_sec_group_from_port(self):
project_id = self.cmgr_adm.networks_client.tenant_id 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']) port_client.delete_port(port_id['port']['id'])
net_client.delete_network(network['network']['id']) net_client.delete_network(network['network']['id'])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('6c1e6728-b84a-47f9-9021-ff3e3f88a933') @decorators.idempotent_id('6c1e6728-b84a-47f9-9021-ff3e3f88a933')
def test_tenant_cannot_delete_admin_provider_security_group(self): def test_tenant_cannot_delete_admin_provider_security_group(self):
project_id = self.cmgr_adm.networks_client.tenant_id project_id = self.cmgr_adm.networks_client.tenant_id
@ -290,7 +290,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
"provider security group") "provider security group")
pass pass
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('94e06ee2-82ed-4203-ac9b-421a298bdba4') @decorators.idempotent_id('94e06ee2-82ed-4203-ac9b-421a298bdba4')
def test_tenant_cannot_create_provider_sec_group(self): def test_tenant_cannot_create_provider_sec_group(self):
project_id = self.cmgr_alt.networks_client.tenant_id project_id = self.cmgr_alt.networks_client.tenant_id
@ -300,7 +300,7 @@ class ProviderSecGroup(base.BaseAdminNetworkTest):
provider=True) provider=True)
LOG.debug("Non-Admin Tenant cannot create provider sec group") 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') @decorators.idempotent_id('01f00a36-7576-40e0-a397-b43860a9c122')
def test_update_port_with_psg(self): def test_update_port_with_psg(self):
net_client = self.cmgr_adm.networks_client net_client = self.cmgr_adm.networks_client

View File

@ -165,28 +165,28 @@ class RouterSizeBaseTest(base.BaseAdminNetworkTest):
class CompactRouterTest(RouterSizeBaseTest): class CompactRouterTest(RouterSizeBaseTest):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('d75fbcd5-c8cb-49ea-a868-ada12fd8c87f') @decorators.idempotent_id('d75fbcd5-c8cb-49ea-a868-ada12fd8c87f')
def test_create_update_delete_compact_router(self): def test_create_update_delete_compact_router(self):
self.do_create_update_delete_router_with_size('compact') self.do_create_update_delete_router_with_size('compact')
class LargeRouterTest(RouterSizeBaseTest): class LargeRouterTest(RouterSizeBaseTest):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('da00c74f-81e6-4ef9-8aca-8e0345b376e9') @decorators.idempotent_id('da00c74f-81e6-4ef9-8aca-8e0345b376e9')
def test_create_update_delete_large_router(self): def test_create_update_delete_large_router(self):
self.do_create_update_delete_router_with_size('large', 20.0) self.do_create_update_delete_router_with_size('large', 20.0)
class XlargeRouterTest(RouterSizeBaseTest): class XlargeRouterTest(RouterSizeBaseTest):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('091dad07-6044-4ca3-b16c-54a3ef92254b') @decorators.idempotent_id('091dad07-6044-4ca3-b16c-54a3ef92254b')
def test_create_update_delete_xlarge_router(self): def test_create_update_delete_xlarge_router(self):
self.do_create_update_delete_router_with_size('xlarge', 20.0) self.do_create_update_delete_router_with_size('xlarge', 20.0)
class QuadlargeRouterTest(RouterSizeBaseTest): class QuadlargeRouterTest(RouterSizeBaseTest):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('0f69bf8a-4b06-47ac-a3f7-eedba95fd395') @decorators.idempotent_id('0f69bf8a-4b06-47ac-a3f7-eedba95fd395')
def test_create_update_delete_quadlarge_router(self): def test_create_update_delete_quadlarge_router(self):
self.do_create_update_delete_router_with_size('quadlarge', 30.0) self.do_create_update_delete_router_with_size('quadlarge', 30.0)

View File

@ -64,7 +64,7 @@ class ExcRouterTest(base.BaseAdminNetworkTest):
subnet_id=interface['fixed_ips'][0]['subnet_id']) subnet_id=interface['fixed_ips'][0]['subnet_id'])
self.routers_client.delete_router(router['id']) self.routers_client.delete_router(router['id'])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('ac1639a0-2a8d-4c68-bccd-54849fd45f86') @decorators.idempotent_id('ac1639a0-2a8d-4c68-bccd-54849fd45f86')
def test_create_exc_router(self): def test_create_exc_router(self):
""" """
@ -84,7 +84,7 @@ class ExcRouterTest(base.BaseAdminNetworkTest):
self.assertTrue(exc_edge is not None) self.assertTrue(exc_edge is not None)
self.assertEqual(exc_edge['edgeType'], 'gatewayServices') self.assertEqual(exc_edge['edgeType'], 'gatewayServices')
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('c4b94988-0bc7-11e5-9203-0050568833db') @decorators.idempotent_id('c4b94988-0bc7-11e5-9203-0050568833db')
def test_update_exc_router(self): def test_update_exc_router(self):
""" """
@ -102,7 +102,7 @@ class ExcRouterTest(base.BaseAdminNetworkTest):
router['router']['id'], name=updated_name) router['router']['id'], name=updated_name)
self.assertEqual(update_body['router']['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') @decorators.idempotent_id('a0ff5afa-0bcc-11e5-9203-0050568833db')
def test_list_show_exc_router(self): 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']] routers_list = [r['id'] for r in list_body['routers']]
self.assertIn(router['router']['id'], routers_list) self.assertIn(router['router']['id'], routers_list)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('adef8d1e-0bce-11e5-9203-0050568833db') @decorators.idempotent_id('adef8d1e-0bce-11e5-9203-0050568833db')
def test_delete_exc_router(self): def test_delete_exc_router(self):
""" """

View File

@ -311,7 +311,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
self.assertEqual(router['name'], router_name) self.assertEqual(router['name'], router_name)
return router return router
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('c72197f1-b5c6-453f-952e-007acea6df86') @decorators.idempotent_id('c72197f1-b5c6-453f-952e-007acea6df86')
def test_list_firewall_rules(self): def test_list_firewall_rules(self):
# List firewall rules # List firewall rules
@ -328,7 +328,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
self.assertEqual(self.fw_rule['firewall_rule']['enabled'], self.assertEqual(self.fw_rule['firewall_rule']['enabled'],
fw_rules[0]['enabled']) fw_rules[0]['enabled'])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('ef92ba0d-f7c2-46cb-ad4b-21c62cfa85a0') @decorators.idempotent_id('ef92ba0d-f7c2-46cb-ad4b-21c62cfa85a0')
def test_create_update_delete_firewall_rule(self): def test_create_update_delete_firewall_rule(self):
# Create firewall rule # Create firewall rule
@ -351,7 +351,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
self.assertNotIn(fw_rule_id, self.assertNotIn(fw_rule_id,
[m['id'] for m in fw_rules['firewall_rules']]) [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') @decorators.idempotent_id('264e8b67-a1ef-4ba1-8757-808b249a5320')
def test_show_firewall_rule(self): def test_show_firewall_rule(self):
# show a created firewall rule # show a created firewall rule
@ -360,7 +360,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
for key, value in six.iteritems(fw_rule['firewall_rule']): for key, value in six.iteritems(fw_rule['firewall_rule']):
self.assertEqual(self.fw_rule['firewall_rule'][key], value) 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') @decorators.idempotent_id('029cd998-9dd4-4a0a-b79d-8bafd8223bda')
def test_list_firewall_policies(self): def test_list_firewall_policies(self):
fw_policies = self.fwaasv1_client.list_firewall_policies() 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'], self.assertEqual(self.fw_policy['firewall_policy']['firewall_rules'],
fw_policies[0]['firewall_rules']) fw_policies[0]['firewall_rules'])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('28c261c8-4fb3-4630-8a9b-707c93536a54') @decorators.idempotent_id('28c261c8-4fb3-4630-8a9b-707c93536a54')
def test_create_update_delete_firewall_policy(self): def test_create_update_delete_firewall_policy(self):
# Create firewall policy # Create firewall policy
@ -395,7 +395,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
fw_policies = fw_policies['firewall_policies'] fw_policies = fw_policies['firewall_policies']
self.assertNotIn(fw_policy_id, [m['id'] for m in fw_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') @decorators.idempotent_id('8bc7ad6d-4163-4def-9e1d-b9d24d9e8bf8')
def test_show_firewall_policy(self): def test_show_firewall_policy(self):
# show a created firewall policy # show a created firewall policy
@ -405,7 +405,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
for key, value in six.iteritems(fw_policy): for key, value in six.iteritems(fw_policy):
self.assertEqual(self.fw_policy['firewall_policy'][key], value) 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') @decorators.idempotent_id('0c320840-f3e4-4960-987d-a6f06d327fe1')
def test_create_show_delete_firewall(self): def test_create_show_delete_firewall(self):
# Create tenant network resources required for an ACTIVE firewall # Create tenant network resources required for an ACTIVE firewall
@ -442,7 +442,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
firewalls = self.fwaasv1_client.list_firewalls()['firewalls'] firewalls = self.fwaasv1_client.list_firewalls()['firewalls']
self.assertNotIn(firewall_id, [m['id'] for m in 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') @decorators.idempotent_id('d9b23b3a-66ea-4591-9f8f-fa5a71fe0645')
def test_firewall_insertion_mode_add_remove_mix_router(self): def test_firewall_insertion_mode_add_remove_mix_router(self):
# Create legacy routers # Create legacy routers
@ -483,7 +483,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
self.assertNotIn(router1['id'], updated_firewall['router_ids']) self.assertNotIn(router1['id'], updated_firewall['router_ids'])
self.assertEqual(1, len(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') @decorators.idempotent_id('964e0254-e7f2-4bbe-a4c8-db09da8d79ee')
def test_firewall_insertion_mode_add_remove_router(self): def test_firewall_insertion_mode_add_remove_router(self):
# Create legacy routers # Create legacy routers
@ -529,7 +529,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
self.assertNotIn(router1['id'], updated_firewall['router_ids']) self.assertNotIn(router1['id'], updated_firewall['router_ids'])
self.assertEqual(1, len(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') @decorators.idempotent_id('662b252f-fa1b-49fe-8599-a37feab9fae8')
def test_firewall_insertion_one_policy_two_router_backend(self): def test_firewall_insertion_one_policy_two_router_backend(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -557,7 +557,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
True, self._check_firewall_rule_exists_at_backend( True, self._check_firewall_rule_exists_at_backend(
rules, firewall_topo1['firewall_name'])) rules, firewall_topo1['firewall_name']))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('00330ef3-0a2e-4556-84d1-448d09c5ca2e') @decorators.idempotent_id('00330ef3-0a2e-4556-84d1-448d09c5ca2e')
def test_firewall_insertion_two_policy_two_router_backend(self): def test_firewall_insertion_two_policy_two_router_backend(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -586,7 +586,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
True, self._check_firewall_rule_exists_at_backend( True, self._check_firewall_rule_exists_at_backend(
rules, firewall_topo2['firewall_name'])) rules, firewall_topo2['firewall_name']))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('8092bd48-e4c1-4709-8a3b-70e7bf6a78c9') @decorators.idempotent_id('8092bd48-e4c1-4709-8a3b-70e7bf6a78c9')
def test_firewall_insertion_mode_two_firewall_rules_check_backend(self): def test_firewall_insertion_mode_two_firewall_rules_check_backend(self):
rule_no = 1 rule_no = 1
@ -628,7 +628,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
"Rule exists at position 2") "Rule exists at position 2")
break break
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('da65de07-a60f-404d-ad1d-2d2c71a3b6a5') @decorators.idempotent_id('da65de07-a60f-404d-ad1d-2d2c71a3b6a5')
def test_firewall_add_delete_between_routers(self): def test_firewall_add_delete_between_routers(self):
firewall_topo = self._create_firewall_basic_topo('exclusive') firewall_topo = self._create_firewall_basic_topo('exclusive')
@ -666,7 +666,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
True, self._check_firewall_rule_exists_at_backend( True, self._check_firewall_rule_exists_at_backend(
rules, firewall_topo['firewall_name'])) rules, firewall_topo['firewall_name']))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('c60ceff5-d51f-451d-b6e6-cb983d16ab6b') @decorators.idempotent_id('c60ceff5-d51f-451d-b6e6-cb983d16ab6b')
def test_firewall_insertion_with_multiple_rules_check_backend(self): def test_firewall_insertion_with_multiple_rules_check_backend(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -715,7 +715,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
True, self._check_firewall_rule_exists_at_backend( True, self._check_firewall_rule_exists_at_backend(
rules, firewall_name_3)) rules, firewall_name_3))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('a1734149-9c4b-46d3-86c8-d61f57458095') @decorators.idempotent_id('a1734149-9c4b-46d3-86c8-d61f57458095')
def test_firewall_add_remove_rule_check_backend(self): def test_firewall_add_remove_rule_check_backend(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -738,7 +738,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
False, self._check_firewall_rule_exists_at_backend( False, self._check_firewall_rule_exists_at_backend(
rules, firewall_topo['firewall_name'])) rules, firewall_topo['firewall_name']))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('e1111959-c36a-41d6-86ee-ea6c0b927eb3') @decorators.idempotent_id('e1111959-c36a-41d6-86ee-ea6c0b927eb3')
def test_firewall_insertion_mode_one_firewall_rule_check_backend(self): def test_firewall_insertion_mode_one_firewall_rule_check_backend(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -753,7 +753,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
True, self._check_firewall_rule_exists_at_backend( True, self._check_firewall_rule_exists_at_backend(
rules, firewall_topo['firewall_name'])) rules, firewall_topo['firewall_name']))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('e434b3c9-1148-499a-bb52-b094cdb0a186') @decorators.idempotent_id('e434b3c9-1148-499a-bb52-b094cdb0a186')
def test_firewall_insertion_mode_one_firewall_per_router(self): def test_firewall_insertion_mode_one_firewall_per_router(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -767,7 +767,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
firewall_policy_id=self.fw_policy['firewall_policy']['id'], firewall_policy_id=self.fw_policy['firewall_policy']['id'],
router_ids=[firewall_topo['router']['id']]) router_ids=[firewall_topo['router']['id']])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('d162abb2-9c14-45d6-bed1-06646a66803a') @decorators.idempotent_id('d162abb2-9c14-45d6-bed1-06646a66803a')
def test_firewall_insertion_mode_one_firewall_per_dist_router(self): def test_firewall_insertion_mode_one_firewall_per_dist_router(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -781,7 +781,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
firewall_policy_id=self.fw_policy['firewall_policy']['id'], firewall_policy_id=self.fw_policy['firewall_policy']['id'],
router_ids=[firewall_topo['router']['id']]) router_ids=[firewall_topo['router']['id']])
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('d5531558-9b18-40bc-9388-3eded0894a85') @decorators.idempotent_id('d5531558-9b18-40bc-9388-3eded0894a85')
def test_firewall_rule_insertion_position_removal_rule_from_policy(self): def test_firewall_rule_insertion_position_removal_rule_from_policy(self):
# Create firewall rule # Create firewall rule
@ -836,7 +836,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
# Verify removal of rule from firewall policy # Verify removal of rule from firewall policy
self.assertNotIn(fw_rule_id1, self._get_list_fw_rule_ids(fw_policy_id)) 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') @decorators.idempotent_id('901dae30-b148-43d9-ac86-09777aeaba20')
def test_update_firewall_name_at_backend_excl_edge(self): def test_update_firewall_name_at_backend_excl_edge(self):
firewall_topo = self._create_firewall_basic_topo('exclusive') firewall_topo = self._create_firewall_basic_topo('exclusive')
@ -857,7 +857,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
True, self._check_firewall_rule_exists_at_backend( True, self._check_firewall_rule_exists_at_backend(
rules, "Fwaas-updated_rule")) rules, "Fwaas-updated_rule"))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('471ebc13-8e3b-4aca-85b8-747935bf0559') @decorators.idempotent_id('471ebc13-8e3b-4aca-85b8-747935bf0559')
def test_update_firewall_name_at_backend_dist_edge(self): def test_update_firewall_name_at_backend_dist_edge(self):
firewall_topo = self._create_firewall_basic_topo('distributed') firewall_topo = self._create_firewall_basic_topo('distributed')
@ -879,7 +879,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
True, self._check_firewall_rule_exists_at_backend( True, self._check_firewall_rule_exists_at_backend(
rules, "Fwaas-updated_rule")) rules, "Fwaas-updated_rule"))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('0bdc9670-17b8-4dd5-80c8-dc6e956fc6ef') @decorators.idempotent_id('0bdc9670-17b8-4dd5-80c8-dc6e956fc6ef')
def test_create_multiple_firewall_rules_check_at_backend(self): def test_create_multiple_firewall_rules_check_at_backend(self):
firewall_topo = self._create_firewall_advanced_topo('exclusive') firewall_topo = self._create_firewall_advanced_topo('exclusive')
@ -894,7 +894,7 @@ class FWaaSTestJSON(base.BaseNetworkTest):
"Firewall Rules are greater than %s" % "Firewall Rules are greater than %s" %
constants.NO_OF_ENTRIES) constants.NO_OF_ENTRIES)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('0249db39-6284-456a-9449-2adacdca4d3b') @decorators.idempotent_id('0249db39-6284-456a-9449-2adacdca4d3b')
def test_update_firewall_policy_audited_attribute(self): def test_update_firewall_policy_audited_attribute(self):
# Create firewall rule # Create firewall rule

View File

@ -26,7 +26,6 @@ from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions from tempest.lib import exceptions
from tempest import test
from vmware_nsx_tempest.services import nsxv_client from vmware_nsx_tempest.services import nsxv_client
from vmware_nsx_tempest.tests.nsxv.scenario import ( from vmware_nsx_tempest.tests.nsxv.scenario import (
@ -293,7 +292,7 @@ class TestDHCP121BasicOps(dmgr.TopoDeployScenarioManager):
class TestDhcpMetadata(TestDHCP121BasicOps): class TestDhcpMetadata(TestDHCP121BasicOps):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('95d06aba-895f-47f8-b47d-ae48c6853a85') @decorators.idempotent_id('95d06aba-895f-47f8-b47d-ae48c6853a85')
def test_dhcp_121_metadata_check_on_vm_nsxv(self): def test_dhcp_121_metadata_check_on_vm_nsxv(self):
LOG.info("Testcase DHCP-121 option metadata check on vm and " LOG.info("Testcase DHCP-121 option metadata check on vm and "
@ -306,7 +305,7 @@ class TestDhcpMetadata(TestDHCP121BasicOps):
class TestDhcpHostroutesClear(TestDHCP121BasicOps): class TestDhcpHostroutesClear(TestDHCP121BasicOps):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('6bec6eb4-8632-493d-a895-a3ee87cb3002') @decorators.idempotent_id('6bec6eb4-8632-493d-a895-a3ee87cb3002')
def test_dhcp_121_hostroutes_clear(self): def test_dhcp_121_hostroutes_clear(self):
LOG.info("Testcase DHCP-121 option host routes clear deploying") LOG.info("Testcase DHCP-121 option host routes clear deploying")
@ -316,7 +315,7 @@ class TestDhcpHostroutesClear(TestDHCP121BasicOps):
class TestDhcpNegative(TestDHCP121BasicOps): class TestDhcpNegative(TestDHCP121BasicOps):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('a58dc6c5-9f28-4184-baf7-37ded52593c4') @decorators.idempotent_id('a58dc6c5-9f28-4184-baf7-37ded52593c4')
def test_dhcp121_negative_test(self): def test_dhcp121_negative_test(self):
LOG.info("Testcase DHCP-121 option negative test deploying") LOG.info("Testcase DHCP-121 option negative test deploying")
@ -384,7 +383,7 @@ class TestDhcpNegative(TestDHCP121BasicOps):
class TestDhcpMultiHostRoute(TestDHCP121BasicOps): class TestDhcpMultiHostRoute(TestDHCP121BasicOps):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('c3ca96d7-b704-4d94-b42d-e7bae94b82cd') @decorators.idempotent_id('c3ca96d7-b704-4d94-b42d-e7bae94b82cd')
def test_dhcp121_multi_host_route(self): def test_dhcp121_multi_host_route(self):
LOG.info("Testcase DHCP-121 option multi host routes deploying") LOG.info("Testcase DHCP-121 option multi host routes deploying")
@ -452,7 +451,7 @@ class TestDhcpMultiHostRoute(TestDHCP121BasicOps):
class TestDhcpHostRoutesBetweenVms(TestDHCP121BasicOps): class TestDhcpHostRoutesBetweenVms(TestDHCP121BasicOps):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('34e6d23f-db00-446e-8299-57ff2c0911b2') @decorators.idempotent_id('34e6d23f-db00-446e-8299-57ff2c0911b2')
def test_host_routes_between_vms(self): def test_host_routes_between_vms(self):
client_mgr = self.manager client_mgr = self.manager

View File

@ -22,7 +22,6 @@ from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.common import constants
from vmware_nsx_tempest.services import nsxv_client from vmware_nsx_tempest.services import nsxv_client
@ -175,7 +174,7 @@ class TestSpoofGuardBasicOps(dmgr.TopoDeployScenarioManager):
class TestSpoofGuardFeature(TestSpoofGuardBasicOps): class TestSpoofGuardFeature(TestSpoofGuardBasicOps):
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('2804f55d-3221-440a-9fa8-ab16a8932634') @decorators.idempotent_id('2804f55d-3221-440a-9fa8-ab16a8932634')
def test_exclude_list_with_new_attach_port(self): def test_exclude_list_with_new_attach_port(self):
port_client = self.manager.ports_client port_client = self.manager.ports_client
@ -210,7 +209,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps):
# Detach interface from vm # Detach interface from vm
self.interface_client.delete_interface(vm_id, port_id) 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') @decorators.idempotent_id('a5420350-2658-47e4-9e2b-490b200e9f41')
def test_spoofguard_with_ping_between_servers_on_same_network(self): def test_spoofguard_with_ping_between_servers_on_same_network(self):
username, password = self.get_image_userpass() username, password = self.get_image_userpass()
@ -287,7 +286,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps):
cidr=cidr, cidr_offset=cidr_offset, name=net_network['name']) cidr=cidr, cidr_offset=cidr_offset, name=net_network['name'])
return net_network, net_subnet return net_network, net_subnet
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('38c213df-bfc2-4681-9c9c-3a31c05b0e6f') @decorators.idempotent_id('38c213df-bfc2-4681-9c9c-3a31c05b0e6f')
def test_exclude_with_multiple_vm(self): def test_exclude_with_multiple_vm(self):
image = self.get_server_image() image = self.get_server_image()
@ -357,7 +356,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps):
if vm_id not in exclude_vm: if vm_id not in exclude_vm:
LOG.info("Vm1 not in exclude list") LOG.info("Vm1 not in exclude list")
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('f034d3e9-d717-4bcd-8e6e-18e9ada7b81a') @decorators.idempotent_id('f034d3e9-d717-4bcd-8e6e-18e9ada7b81a')
def test_exclude_list_with_single_vm_port(self): def test_exclude_list_with_single_vm_port(self):
port_client = self.manager.ports_client port_client = self.manager.ports_client
@ -385,7 +384,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps):
LOG.info("Vm not in exclude list") LOG.info("Vm not in exclude list")
self.interface_client.delete_interface(vm_id, port_id) 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') @decorators.idempotent_id('3ad04e37-2a9f-4465-86e7-94993eecdfa1')
def test_disabled_network_port_security(self): def test_disabled_network_port_security(self):
network_client = self.manager.networks_client network_client = self.manager.networks_client
@ -415,7 +414,7 @@ class TestSpoofGuardFeature(TestSpoofGuardBasicOps):
if (port_details['port']['port_security_enabled'] == 'true'): if (port_details['port']['port_security_enabled'] == 'true'):
LOG.info("Port security of port is enabled") LOG.info("Port security of port is enabled")
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('c8683cb7-4be5-4670-95c6-344a0aea3667') @decorators.idempotent_id('c8683cb7-4be5-4670-95c6-344a0aea3667')
def test_exclude_list_with_multiple_ports(self): def test_exclude_list_with_multiple_ports(self):
port_client = self.manager.ports_client port_client = self.manager.ports_client

View File

@ -398,7 +398,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager):
self.assertEqual(router['name'], router_name) self.assertEqual(router['name'], router_name)
return router return router
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('e2ab2d1a-4dc0-4efd-b03d-8c2322b427f0') @decorators.idempotent_id('e2ab2d1a-4dc0-4efd-b03d-8c2322b427f0')
def test_firewall_icmp_rule_with_exclusive_router(self): def test_firewall_icmp_rule_with_exclusive_router(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -411,7 +411,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager):
out = self._test_ping_from_external_network(fip_ip) out = self._test_ping_from_external_network(fip_ip)
self.assertIn("0 received", str(out)) self.assertIn("0 received", str(out))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('fd39455a-232e-4f7f-b102-2853688335dc') @decorators.idempotent_id('fd39455a-232e-4f7f-b102-2853688335dc')
def test_firewall_tcp_rule_with_exclusive_router(self): def test_firewall_tcp_rule_with_exclusive_router(self):
# Create router required for an ACTIVE firewall # 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) out = self._test_ssh_connectivity_from_external_network(fip_ip)
self.assertIn("Servname not supported", out) self.assertIn("Servname not supported", out)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('3628448a-5977-44e3-b34a-690e4e2ba847') @decorators.idempotent_id('3628448a-5977-44e3-b34a-690e4e2ba847')
def test_firewall_icmp_rule_with_distributed_router(self): def test_firewall_icmp_rule_with_distributed_router(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall
@ -437,7 +437,7 @@ class FWaaSTestBasicOps(dmgr.TopoDeployScenarioManager):
out = self._test_ping_from_external_network(fip_ip) out = self._test_ping_from_external_network(fip_ip)
self.assertIn("0 received", str(out)) self.assertIn("0 received", str(out))
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('0aeb2acc-0b68-4cca-889d-078f61bbe5b2') @decorators.idempotent_id('0aeb2acc-0b68-4cca-889d-078f61bbe5b2')
def test_firewall_tcp_rule_with_distributed_router(self): def test_firewall_tcp_rule_with_distributed_router(self):
# Create router required for an ACTIVE firewall # 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) out = self._test_ssh_connectivity_from_external_network(fip_ip)
self.assertIn("Servname not supported", out) self.assertIn("Servname not supported", out)
@test.attr(type='nsxv') @decorators.attr(type='nsxv')
@decorators.idempotent_id('4a0306e5-663c-4981-8177-e8a255a8859c') @decorators.idempotent_id('4a0306e5-663c-4981-8177-e8a255a8859c')
def test_firewall_update_delete_ops_on_exclusive_router(self): def test_firewall_update_delete_ops_on_exclusive_router(self):
# Create router required for an ACTIVE firewall # Create router required for an ACTIVE firewall

View File

@ -18,7 +18,6 @@
from tempest import config from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.common import constants
from vmware_nsx_tempest.services import base_l2gw from vmware_nsx_tempest.services import base_l2gw
@ -33,7 +32,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest):
Test l2 gateway operations. Test l2 gateway operations.
""" """
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("e5e3a089-602c-496e-8c17-4ef613266924") @decorators.idempotent_id("e5e3a089-602c-496e-8c17-4ef613266924")
def test_l2_gateway_create_without_vlan(self): 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") "Device name is not the same as expected")
self.resource_cleanup() self.resource_cleanup()
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("9968a529-e785-472f-8705-9b394a912e43") @decorators.idempotent_id("9968a529-e785-472f-8705-9b394a912e43")
def test_l2_gateway_with_single_vlan(self): def test_l2_gateway_with_single_vlan(self):
""" """
@ -95,7 +94,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest):
self.assertIn(id, response_vlans) self.assertIn(id, response_vlans)
self.resource_cleanup() self.resource_cleanup()
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("3861aab0-4f76-4472-ad0e-a255e6e42193") @decorators.idempotent_id("3861aab0-4f76-4472-ad0e-a255e6e42193")
def test_l2_gateway_with_multiple_vlans(self): def test_l2_gateway_with_multiple_vlans(self):
""" """
@ -132,7 +131,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest):
self.assertIn(id, response_vlans) self.assertIn(id, response_vlans)
self.resource_cleanup() self.resource_cleanup()
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("670cbcb5-134e-467d-ba41-0d7cdbcf3903") @decorators.idempotent_id("670cbcb5-134e-467d-ba41-0d7cdbcf3903")
def test_l2_gateway_delete(self): def test_l2_gateway_delete(self):
""" """
@ -163,7 +162,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest):
self.l2gw_created.pop(l2gw_id) self.l2gw_created.pop(l2gw_id)
self.resource_cleanup() self.resource_cleanup()
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("fa76f6e6-8aa7-46d8-9af4-2206d0773dc3") @decorators.idempotent_id("fa76f6e6-8aa7-46d8-9af4-2206d0773dc3")
def test_l2_gateway_update_l2gw_name(self): def test_l2_gateway_update_l2gw_name(self):
""" """
@ -205,7 +204,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest):
"name": l2gw_new_name}) "name": l2gw_new_name})
self.resource_cleanup() self.resource_cleanup()
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("c4977df8-8e3a-4b7e-a8d2-5aa757117658") @decorators.idempotent_id("c4977df8-8e3a-4b7e-a8d2-5aa757117658")
def test_l2_gateway_update_interface(self): def test_l2_gateway_update_interface(self):
""" """
@ -251,7 +250,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest):
"L2GW segmentation id update failed!!!") "L2GW segmentation id update failed!!!")
self.resource_cleanup() self.resource_cleanup()
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("5a3cef97-c91c-4e03-92c8-d180f9269f27") @decorators.idempotent_id("5a3cef97-c91c-4e03-92c8-d180f9269f27")
def test_l2_gateway_show(self): def test_l2_gateway_show(self):
""" """
@ -294,7 +293,7 @@ class L2GatewayTest(base_l2gw.BaseL2GatewayTest):
self.assertIn(id, response_vlans) self.assertIn(id, response_vlans)
self.resource_cleanup() self.resource_cleanup()
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("d4a7d3af-e637-45c5-a967-d179153a6e58") @decorators.idempotent_id("d4a7d3af-e637-45c5-a967-d179153a6e58")
def test_l2_gateway_list(self): def test_l2_gateway_list(self):
""" """

View File

@ -20,7 +20,6 @@ from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.common import constants
from vmware_nsx_tempest.services import base_l2gw 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_client.delete_l2_gateway(l2gw_id)
cls.l2gw_created.pop(l2gw_id) cls.l2gw_created.pop(l2gw_id)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("81edfb9e-4722-4565-939c-6593b8405ff4") @decorators.idempotent_id("81edfb9e-4722-4565-939c-6593b8405ff4")
def test_l2_gateway_connection_create(self): def test_l2_gateway_connection_create(self):
""" """
@ -108,7 +107,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest):
"create l2gw connection response") "create l2gw connection response")
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("7db4f6c9-18c5-4a99-93c1-68bc2ecb48a7") @decorators.idempotent_id("7db4f6c9-18c5-4a99-93c1-68bc2ecb48a7")
def test_l2_gateway_connection_create_with_multiple_vlans(self): def test_l2_gateway_connection_create_with_multiple_vlans(self):
""" """
@ -141,7 +140,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest):
"create l2gw connection response") "create l2gw connection response")
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("de70d6a2-d454-4a09-b06b-8f39be67b635") @decorators.idempotent_id("de70d6a2-d454-4a09-b06b-8f39be67b635")
def test_l2_gateway_connection_with_seg_id_create(self): def test_l2_gateway_connection_with_seg_id_create(self):
""" """
@ -178,7 +177,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest):
"create l2gw connection response") "create l2gw connection response")
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("819d9b50-9159-48d0-be2a-493ec686534c") @decorators.idempotent_id("819d9b50-9159-48d0-be2a-493ec686534c")
def test_l2_gateway_connection_show(self): def test_l2_gateway_connection_show(self):
""" """
@ -223,7 +222,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest):
"show l2gw connection response") "show l2gw connection response")
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("4188f8e7-cd65-427e-92b8-2a9e0492ab21") @decorators.idempotent_id("4188f8e7-cd65-427e-92b8-2a9e0492ab21")
def test_l2_gateway_connection_list(self): def test_l2_gateway_connection_list(self):
""" """
@ -277,7 +276,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest):
"segmentation_id") "segmentation_id")
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("4d71111f-3d2b-4557-97c7-2e149a6f41fb") @decorators.idempotent_id("4d71111f-3d2b-4557-97c7-2e149a6f41fb")
def test_l2_gateway_connection_recreate(self): def test_l2_gateway_connection_recreate(self):
""" """
@ -345,7 +344,7 @@ class L2GatewayConnectionTest(base_l2gw.BaseL2GatewayTest):
"l2gwc id") "l2gwc id")
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("671cacb5-134e-467d-ba41-0d7cdbcf3903") @decorators.idempotent_id("671cacb5-134e-467d-ba41-0d7cdbcf3903")
def test_l2_gateway_connection_delete(self): def test_l2_gateway_connection_delete(self):
""" """

View File

@ -17,7 +17,6 @@
import netaddr import netaddr
from tempest import config from tempest import config
from tempest import test
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_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_client.delete_l2_gateway(l2gw_id)
cls.l2gw_created.pop(l2gw_id) cls.l2gw_created.pop(l2gw_id)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("e86bd8e9-b32b-425d-86fa-cd866138d028") @decorators.idempotent_id("e86bd8e9-b32b-425d-86fa-cd866138d028")
def test_active_l2_gateway_delete(self): 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.assertRaises(lib_exc.Conflict, self.delete_l2gw, l2gw_id)
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("488faaae-180a-4c48-8b7a-44c3a243369f") @decorators.idempotent_id("488faaae-180a-4c48-8b7a-44c3a243369f")
def test_recreate_l2_gateway_connection(self): def test_recreate_l2_gateway_connection(self):
""" """
@ -131,7 +130,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest):
l2gwc_param) l2gwc_param)
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("14606e74-4f65-402e-ae50-a0adcd877a83") @decorators.idempotent_id("14606e74-4f65-402e-ae50-a0adcd877a83")
def test_create_l2gwc_with_nonexist_l2gw(self): def test_create_l2gwc_with_nonexist_l2gw(self):
""" """
@ -153,7 +152,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest):
l2gwc_param) l2gwc_param)
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("e6cb8973-fcbc-443e-a3cb-c6a82ae58b63") @decorators.idempotent_id("e6cb8973-fcbc-443e-a3cb-c6a82ae58b63")
def test_create_l2gwc_with_nonexist_network(self): def test_create_l2gwc_with_nonexist_network(self):
""" """
@ -175,7 +174,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest):
l2gwc_param) l2gwc_param)
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("27c7c64f-511f-421e-8b62-dfed143fc00b") @decorators.idempotent_id("27c7c64f-511f-421e-8b62-dfed143fc00b")
def test_create_l2gw_with_invalid_seg_id(self): def test_create_l2gw_with_invalid_seg_id(self):
""" """
@ -194,7 +193,7 @@ class L2GatewayConnectionNegative(base_l2gw.BaseL2GatewayTest):
self.addCleanup(self.l2gw_cleanup) self.addCleanup(self.l2gw_cleanup)
@decorators.skip_because(bug="1640033") @decorators.skip_because(bug="1640033")
@test.attr(type="nsxv3") @decorators.attr(type="nsxv3")
@decorators.idempotent_id("000cc597-bcea-4539-af07-bd70357e8d82") @decorators.idempotent_id("000cc597-bcea-4539-af07-bd70357e8d82")
def test_create_l2gw_with_non_int_seg_id(self): def test_create_l2gw_with_non_int_seg_id(self):
""" """

View File

@ -18,7 +18,6 @@ from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
from vmware_nsx_tempest.services import nsxv3_client from vmware_nsx_tempest.services import nsxv3_client
@ -97,7 +96,7 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
self._subnet_data['host_routes'][0]['destination']} self._subnet_data['host_routes'][0]['destination']}
self.assertIn(route, host_routes) self.assertIn(route, host_routes)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('698f5503-a17a-43c2-b83b-353d3e28588b') @decorators.idempotent_id('698f5503-a17a-43c2-b83b-353d3e28588b')
def test_create_dhcp_enabled_subnet(self): def test_create_dhcp_enabled_subnet(self):
name = data_utils.rand_name("network-") name = data_utils.rand_name("network-")
@ -114,7 +113,7 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
network['id']) network['id'])
self.assertIsNotNone(dhcp_server) self.assertIsNotNone(dhcp_server)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('cc970d9b-786a-49c3-8bfb-2f8bc5580ead') @decorators.idempotent_id('cc970d9b-786a-49c3-8bfb-2f8bc5580ead')
def test_overlapping_dhcp_enabled_subnet(self): def test_overlapping_dhcp_enabled_subnet(self):
"""Create two overlapping subnets""" """Create two overlapping subnets"""
@ -138,25 +137,25 @@ class NSXv3NativeDHCPTest(base.BaseNetworkTest):
self.assertEqual(dhcp_server['gateway_ip'], self.assertEqual(dhcp_server['gateway_ip'],
self._subnet_data['gateway']) self._subnet_data['gateway'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('acee6ccb-92bb-48d8-ae6b-b10783b3791a') @decorators.idempotent_id('acee6ccb-92bb-48d8-ae6b-b10783b3791a')
def test_create_subnet_with_allocation_pool(self): def test_create_subnet_with_allocation_pool(self):
self._test_create_subnet_with_kwargs( self._test_create_subnet_with_kwargs(
allocation_pools=self._subnet_data['allocation_pools']) allocation_pools=self._subnet_data['allocation_pools'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('1b7d38c1-0674-43a7-8df1-0b9da531ad77') @decorators.idempotent_id('1b7d38c1-0674-43a7-8df1-0b9da531ad77')
def test_create_subnet_with_dns_nameservers(self): def test_create_subnet_with_dns_nameservers(self):
self._test_create_subnet_with_kwargs( self._test_create_subnet_with_kwargs(
dns_nameservers=self._subnet_data['dns_nameservers']) dns_nameservers=self._subnet_data['dns_nameservers'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('3159111b-e332-4a41-a713-164a0ccfc2ad') @decorators.idempotent_id('3159111b-e332-4a41-a713-164a0ccfc2ad')
def test_create_subnet_with_host_routes(self): def test_create_subnet_with_host_routes(self):
self._test_create_subnet_with_kwargs( self._test_create_subnet_with_kwargs(
host_routes=self._subnet_data['host_routes']) host_routes=self._subnet_data['host_routes'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('addb0f46-3fa7-421b-aae7-820e798c096e') @decorators.idempotent_id('addb0f46-3fa7-421b-aae7-820e798c096e')
def test_create_subnet_with_gateway_ip(self): def test_create_subnet_with_gateway_ip(self):
self._test_create_subnet_with_kwargs( self._test_create_subnet_with_kwargs(

View File

@ -18,7 +18,6 @@ from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
from vmware_nsx_tempest.services import nsxv3_client from vmware_nsx_tempest.services import nsxv3_client
@ -48,8 +47,8 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest):
CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_user,
CONF.nsxv3.nsx_password) CONF.nsxv3.nsx_password)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@decorators.idempotent_id('d1fb24b9-6ee8-4fb3-b6fe-169fed3cfa7e') @decorators.idempotent_id('d1fb24b9-6ee8-4fb3-b6fe-169fed3cfa7e')
def test_create_network_without_subnet(self): def test_create_network_without_subnet(self):
name = data_utils.rand_name('network-') name = data_utils.rand_name('network-')
@ -65,8 +64,8 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest):
self.assertIsNotNone(nsx_switch) self.assertIsNotNone(nsx_switch)
self.assertIsNone(dhcp_server) self.assertIsNone(dhcp_server)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@decorators.idempotent_id('caab60b9-b78c-4127-983f-cfb515b555fe') @decorators.idempotent_id('caab60b9-b78c-4127-983f-cfb515b555fe')
def test_create_dhcp_disabled_subnet(self): def test_create_dhcp_disabled_subnet(self):
name = data_utils.rand_name('network-') name = data_utils.rand_name('network-')
@ -83,8 +82,8 @@ class NSXv3NativeDHCPNegative(base.BaseNetworkTest):
self.assertIsNotNone(nsx_switch) self.assertIsNotNone(nsx_switch)
self.assertIsNone(dhcp_server) self.assertIsNone(dhcp_server)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@test.attr(type=['negative']) @decorators.attr(type=['negative'])
@decorators.idempotent_id('bcfd9e1c-456f-43cc-a22a-baceb2188b53') @decorators.idempotent_id('bcfd9e1c-456f-43cc-a22a-baceb2188b53')
def test_update_dhcp_disabled_subnet(self): def test_update_dhcp_disabled_subnet(self):
name = data_utils.rand_name('network-') name = data_utils.rand_name('network-')

View File

@ -56,7 +56,7 @@ class NSXv3FloatingIPTest(base.BaseNetworkTest):
CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_user,
CONF.nsxv3.nsx_password) CONF.nsxv3.nsx_password)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('593e4e51-9ea2-445b-b789-eff2b0b7a503') @decorators.idempotent_id('593e4e51-9ea2-445b-b789-eff2b0b7a503')
def test_create_floating_ip(self): def test_create_floating_ip(self):
# Create a floating ip # Create a floating ip
@ -87,7 +87,7 @@ class NSXv3FloatingIPTest(base.BaseNetworkTest):
self.assertIn((fip['floating_ip_address'], port_ip), snat_rules) self.assertIn((fip['floating_ip_address'], port_ip), snat_rules)
self.assertIn((port_ip, fip['floating_ip_address']), dnat_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') @decorators.idempotent_id('48d8cda8-dfc3-4d84-8f91-4bad6cc7d452')
def test_update_floating_ip(self): def test_update_floating_ip(self):
# Create a floating ip # Create a floating ip
@ -128,7 +128,7 @@ class NSXv3FloatingIPTest(base.BaseNetworkTest):
self.assertIn((port2_ip, updated_fip['floating_ip_address']), self.assertIn((port2_ip, updated_fip['floating_ip_address']),
dnat_rules) dnat_rules)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('6e5a87fe-b40e-4c62-94b8-07431493cc3d') @decorators.idempotent_id('6e5a87fe-b40e-4c62-94b8-07431493cc3d')
def test_delete_floating_ip(self): def test_delete_floating_ip(self):
# Create a floating ip # Create a floating ip

View File

@ -17,7 +17,6 @@ from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as ex from tempest.lib import exceptions as ex
from tempest import test
from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.common import constants
from vmware_nsx_tempest.services import nsxv3_client from vmware_nsx_tempest.services import nsxv3_client
@ -137,7 +136,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest):
port['mac_learning_enabled'], port['mac_learning_enabled'],
"OS and NSX mac learn states don't match") "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') @decorators.idempotent_id('d4c533d4-194e-4d72-931d-a120cd3dd3b2')
def test_create_mac_learning_port(self): def test_create_mac_learning_port(self):
""" """
@ -148,7 +147,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest):
self._delete_port, port) self._delete_port, port)
self._check_mac_learning(port, mac_learn_state=True) 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') @decorators.idempotent_id('d5067c7e-127b-4676-8b33-c421dcc8d6ae')
def test_list_mac_learning_port(self): def test_list_mac_learning_port(self):
""" """
@ -177,7 +176,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest):
self.assertEqual(len(test_ports_in_body), 2, self.assertEqual(len(test_ports_in_body), 2,
'List ports does not match num of created ports') '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') @decorators.idempotent_id('d2eaadb2-52e3-42c1-8225-7380cd70a82c')
def test_show_mac_learning_port(self): def test_show_mac_learning_port(self):
""" """
@ -205,7 +204,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest):
'created_at', 'created_at',
'updated_at'])) 'updated_at']))
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('4d5844bb-88d4-4cdc-b545-6cd9160ae351') @decorators.idempotent_id('4d5844bb-88d4-4cdc-b545-6cd9160ae351')
def test_update_mac_learning_port(self): def test_update_mac_learning_port(self):
""" """
@ -231,7 +230,7 @@ class NSXv3MacLearningTest(base.BaseNetworkTest):
"MAC learning states do not match for %s" "MAC learning states do not match for %s"
% updated_nsx_port['display_name']) % updated_nsx_port['display_name'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('e2295017-b3c4-4cdd-b8e2-daa51aaf7590') @decorators.idempotent_id('e2295017-b3c4-4cdd-b8e2-daa51aaf7590')
def test_delete_mac_learning_port(self): 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']), self.assertIsNone(self.nsx.get_logical_port(test_port['name']),
"Port %s is not None" % 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') @decorators.idempotent_id('5105d8b5-5136-4789-9991-7e419d980169')
def test_create_enable_mac_learning_port_delete(self): 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']), self.assertIsNone(self.nsx.get_logical_port(updated_os_port['name']),
"Port %s is not None" % 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') @decorators.idempotent_id('b7ecc93d-6c9b-4958-9a08-bc85d2946c03')
def test_create_toggle_mac_learning_port_delete(self): 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']), self.assertIsNone(self.nsx.get_logical_port(ml_on_port['name']),
"Port %s is not None" % 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') @decorators.idempotent_id('262e844f-a033-4fcd-b5d0-4641d9efeccd')
def test_create_update_delete_mac_learning_port(self): 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']), self.assertIsNone(self.nsx.get_logical_port(updated_port['name']),
"Logical port %s is not None" % updated_port['name']) "Logical port %s is not None" % updated_port['name'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@test.attr(type='negative') @decorators.attr(type='negative')
@decorators.idempotent_id('e3465ea8-50fc-4070-88de-f4bd5df8ab86') @decorators.idempotent_id('e3465ea8-50fc-4070-88de-f4bd5df8ab86')
def test_create_mac_learning_port_enable_port_security_negative(self): def test_create_mac_learning_port_enable_port_security_negative(self):
""" """

View File

@ -14,7 +14,6 @@ from tempest.api.network import base
from tempest import config from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
from vmware_nsx_tempest.services import nsxv3_client from vmware_nsx_tempest.services import nsxv3_client
@ -37,7 +36,7 @@ class NSXv3NetworksTest(base.BaseNetworkTest):
CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_user,
CONF.nsxv3.nsx_password) CONF.nsxv3.nsx_password)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('63085723-23ae-4109-ac86-69f895097957') @decorators.idempotent_id('63085723-23ae-4109-ac86-69f895097957')
def test_create_update_delete_nsx_network(self): def test_create_update_delete_nsx_network(self):
# Create a network # Create a network

View File

@ -136,7 +136,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest):
secgroup_id = secgroup['id'] secgroup_id = secgroup['id']
return secgroup_id return secgroup_id
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('50203701-1cda-4f31-806d-7a51514b9664') @decorators.idempotent_id('50203701-1cda-4f31-806d-7a51514b9664')
def test_create_port_with_security_enabled_check_in_neutron_database(self): def test_create_port_with_security_enabled_check_in_neutron_database(self):
secgroup_id = self._create_security_group_and_return_id(self.cmgr_adm) 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) port_detail = port_client.show_port(port_id)
self.assertEqual(True, port_detail['port']["port_security_enabled"]) 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') @decorators.idempotent_id('4b765fa2-345f-4d2c-928f-ad4b347936fd')
def test_create_port_with_security_enabled_check_at_beckend(self): def test_create_port_with_security_enabled_check_at_beckend(self):
net_client = self.cmgr_adm.networks_client net_client = self.cmgr_adm.networks_client
@ -191,7 +191,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest):
corresponding_port_id) corresponding_port_id)
self.assertEqual(True, status) self.assertEqual(True, status)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('bcafeb10-fbf1-4c97-9e4f-50e56d32bdcf') @decorators.idempotent_id('bcafeb10-fbf1-4c97-9e4f-50e56d32bdcf')
def test_non_admin_cannot_update_admin_port_with_security(self): def test_non_admin_cannot_update_admin_port_with_security(self):
network_topo = self._create_network_topo(self.cmgr_adm) network_topo = self._create_network_topo(self.cmgr_adm)
@ -202,7 +202,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest):
network_topo['port']['port']['id'], network_topo['port']['port']['id'],
**kwargs) **kwargs)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('cf4b8d28-13c4-4339-993f-66070708e914') @decorators.idempotent_id('cf4b8d28-13c4-4339-993f-66070708e914')
def test_non_admin_cannot_delete_tenant_port_with_port_security(self): def test_non_admin_cannot_delete_tenant_port_with_port_security(self):
network_topo = self._create_network_topo(self.cmgr_pri) network_topo = self._create_network_topo(self.cmgr_pri)
@ -211,7 +211,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest):
tenant_port_client.delete_port, tenant_port_client.delete_port,
network_topo['port']['port']['id']) network_topo['port']['port']['id'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('ee6213ac-dfcd-401b-bbc6-03afd26f203a') @decorators.idempotent_id('ee6213ac-dfcd-401b-bbc6-03afd26f203a')
def test_tenant_port_security_at_beckend_after_enable_disable(self): def test_tenant_port_security_at_beckend_after_enable_disable(self):
secgroup_id = self._create_security_group_and_return_id(self.cmgr_alt) secgroup_id = self._create_security_group_and_return_id(self.cmgr_alt)
@ -243,7 +243,7 @@ class NSXv3PortSecurity(base.BaseAdminNetworkTest):
corresponding_port_id) corresponding_port_id)
self.assertEqual(False, status) self.assertEqual(False, status)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('c6f4c2f2-3fc9-4983-a05a-bb3a3dc35ad8') @decorators.idempotent_id('c6f4c2f2-3fc9-4983-a05a-bb3a3dc35ad8')
def test_admin_port_security_at_beckend_after_enable_disable(self): def test_admin_port_security_at_beckend_after_enable_disable(self):
secgroup_id = self._create_security_group_and_return_id(self.cmgr_adm) secgroup_id = self._create_security_group_and_return_id(self.cmgr_adm)

View File

@ -48,7 +48,7 @@ class NSXv3RoutersTest(base.BaseAdminNetworkTest):
CONF.nsxv3.nsx_user, CONF.nsxv3.nsx_user,
CONF.nsxv3.nsx_password) CONF.nsxv3.nsx_password)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('0e9938bc-d2a3-4a9a-a4f9-7a93ee8bb344') @decorators.idempotent_id('0e9938bc-d2a3-4a9a-a4f9-7a93ee8bb344')
def test_create_update_nsx_router(self): def test_create_update_nsx_router(self):
# Create a router # Create a router
@ -71,7 +71,7 @@ class NSXv3RoutersTest(base.BaseAdminNetworkTest):
self.assertEqual(updated_router['name'], updated_name) self.assertEqual(updated_router['name'], updated_name)
self.assertIsNotNone(nsx_router) self.assertIsNotNone(nsx_router)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('6f49b69c-0800-4c83-b1f8-595ae5bfeea7') @decorators.idempotent_id('6f49b69c-0800-4c83-b1f8-595ae5bfeea7')
def test_delete_nsx_router(self): def test_delete_nsx_router(self):
# Create a router # Create a router

View File

@ -101,7 +101,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest):
self.assertIsNotNone(nsx_dfw_section, dfw_error_msg) self.assertIsNotNone(nsx_dfw_section, dfw_error_msg)
return nsx_nsgroup, nsx_dfw_section return nsx_nsgroup, nsx_dfw_section
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('904ca2c1-a14d-448b-b723-a7366e613bf1') @decorators.idempotent_id('904ca2c1-a14d-448b-b723-a7366e613bf1')
def test_create_update_nsx_security_group(self): def test_create_update_nsx_security_group(self):
# Create a security group # Create a security group
@ -128,7 +128,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest):
updated_secgroup['name'] updated_secgroup['name']
self._wait_till_firewall_gets_realize(updated_secgroup, dfw_error_msg) 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') @decorators.idempotent_id('e637cc59-c5e6-49b5-a539-e517e780656e')
def test_delete_nsx_security_group(self): def test_delete_nsx_security_group(self):
# Create a security group # Create a security group
@ -147,7 +147,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest):
self.assertIsNone(nsx_nsgroup) self.assertIsNone(nsx_nsgroup)
self.assertIsNone(nsx_dfw_section) self.assertIsNone(nsx_dfw_section)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('91c298c0-fbbd-4597-b4c6-1a7ecfb8a2de') @decorators.idempotent_id('91c298c0-fbbd-4597-b4c6-1a7ecfb8a2de')
def test_create_nsx_security_group_rule(self): def test_create_nsx_security_group_rule(self):
# Create a security group # Create a security group
@ -205,7 +205,7 @@ class NSXv3SecGroupTest(base.BaseSecGroupTest):
self.assertEqual(value, nsx_dfw_rule[key], self.assertEqual(value, nsx_dfw_rule[key],
"%s does not match." % key) "%s does not match." % key)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('b6c424e5-3553-4b7d-bd95-8b1f0a860fb4') @decorators.idempotent_id('b6c424e5-3553-4b7d-bd95-8b1f0a860fb4')
def test_delete_nsx_security_group_rule(self): def test_delete_nsx_security_group_rule(self):
# Create a security group # Create a security group

View File

@ -125,7 +125,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
self.assertIsNotNone(nsx_dfw_section, dfw_error_msg) self.assertIsNotNone(nsx_dfw_section, dfw_error_msg)
return nsx_nsgroup, nsx_dfw_section return nsx_nsgroup, nsx_dfw_section
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('4fc39f02-4fb1-4e5c-bf64-b98dd7f514f7') @decorators.idempotent_id('4fc39f02-4fb1-4e5c-bf64-b98dd7f514f7')
def test_provider_security_group_at_beckend(self): def test_provider_security_group_at_beckend(self):
sg = self.create_security_provider_group(self.cmgr_adm, provider=True) 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) time.sleep(constants.NSX_BACKEND_TIME_INTERVAL)
self.assertNotEmpty(self.nsx.get_firewall_section(sg_name, sg_id)) 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') @decorators.idempotent_id('2c8d013d-4c0b-4d2b-b77c-779351a789ce')
def test_provider_security_group_crud(self): def test_provider_security_group_crud(self):
sg_desc = "crud provider-security-group" sg_desc = "crud provider-security-group"
@ -154,7 +154,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
sg_list = sg_list.get('security_groups', sg_list) sg_list = sg_list.get('security_groups', sg_list)
self.assertEqual(len(sg_list), 0) self.assertEqual(len(sg_list), 0)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('2bc5452f-5673-4dbe-afb3-fb40bf0916a5') @decorators.idempotent_id('2bc5452f-5673-4dbe-afb3-fb40bf0916a5')
def test_admin_can_create_provider_security_group_for_tenant(self): def test_admin_can_create_provider_security_group_for_tenant(self):
project_id = self.cmgr_alt.networks_client.tenant_id project_id = self.cmgr_alt.networks_client.tenant_id
@ -163,14 +163,14 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
provider=True) provider=True)
self.assertEqual(True, sg.get('provider')) self.assertEqual(True, sg.get('provider'))
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('6ff79516-1e94-4463-9b8c-a524aa806040') @decorators.idempotent_id('6ff79516-1e94-4463-9b8c-a524aa806040')
def test_tenant_provider_sec_group_with_no_rules(self): def test_tenant_provider_sec_group_with_no_rules(self):
sg = self.create_security_provider_group(self.cmgr_adm, sg = self.create_security_provider_group(self.cmgr_adm,
provider=True) provider=True)
self.assertEmpty(sg.get('security_group_rules')) self.assertEmpty(sg.get('security_group_rules'))
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('a92c8e1e-ce2c-40be-8449-d326690e078e') @decorators.idempotent_id('a92c8e1e-ce2c-40be-8449-d326690e078e')
def test_admin_can_create_security_group_rule(self): def test_admin_can_create_security_group_rule(self):
sg_client = self.cmgr_adm.security_groups_client sg_client = self.cmgr_adm.security_groups_client
@ -189,7 +189,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
['security_group_rules'] ['security_group_rules']
[0]['protocol']) [0]['protocol'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('8e43bd57-e478-490c-8064-4211f2c3eb6c') @decorators.idempotent_id('8e43bd57-e478-490c-8064-4211f2c3eb6c')
def test_provider_security_group_rule_at_beckend(self): def test_provider_security_group_rule_at_beckend(self):
sg = self.create_security_provider_group(self.cmgr_adm, provider=True) 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) output = self.nsx.get_firewall_section_rules(firewall_section)
self.assertEqual('DROP', output[0]['action']) self.assertEqual('DROP', output[0]['action'])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('cf754eba-304f-441c-8402-0dba706fcf62') @decorators.idempotent_id('cf754eba-304f-441c-8402-0dba706fcf62')
def test_provider_security_group_at_port_level(self): def test_provider_security_group_at_port_level(self):
sg = self.create_security_provider_group(self.cmgr_adm, sg = self.create_security_provider_group(self.cmgr_adm,
@ -234,7 +234,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
kwargs = {"provider_security_groups": []} kwargs = {"provider_security_groups": []}
port_client.update_port(port_id['port']['id'], **kwargs) 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') @decorators.idempotent_id('2c44a134-f013-46b7-a2ec-14c7c38a4d8c')
def test_multiple_provider_security_group_only_on_newton(self): def test_multiple_provider_security_group_only_on_newton(self):
sg = self.create_security_provider_group(self.cmgr_adm, provider=True) 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.create_security_provider_group,
self.cmgr_adm, provider=True) self.cmgr_adm, provider=True)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('f45fc910-db83-4e0c-8ab6-178783626ad3') @decorators.idempotent_id('f45fc910-db83-4e0c-8ab6-178783626ad3')
def test_multiple_provider_security_group_on_ocata_plus(self): def test_multiple_provider_security_group_on_ocata_plus(self):
# Ocata plus allows more than 1 provider security group # 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(sg1.get('id'), sg2.get('id'))
self.assertNotEqual(sg2.get('id'), sg3.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') @decorators.idempotent_id('275abe9f-4f01-46e5-bde0-0b6840290d3b')
def test_provider_sec_group_with_multiple_rules(self): def test_provider_sec_group_with_multiple_rules(self):
project_id = self.cmgr_adm.networks_client.tenant_id project_id = self.cmgr_adm.networks_client.tenant_id
@ -277,7 +277,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
sg_rule2_id = sg_rule2.get('id') sg_rule2_id = sg_rule2.get('id')
self.assertNotEqual(sg_rule1_id, sg_rule2_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') @decorators.idempotent_id('5d25370e-da6a-44a7-8565-7b1c2fc39fdc')
def test_clear_provider_sec_group_from_port(self): def test_clear_provider_sec_group_from_port(self):
project_id = self.cmgr_adm.networks_client.tenant_id project_id = self.cmgr_adm.networks_client.tenant_id
@ -308,7 +308,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
kwargs = {"provider_security_groups": []} kwargs = {"provider_security_groups": []}
port_client.update_port(port_id['port']['id'], **kwargs) 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') @decorators.idempotent_id('dfc6bb8e-ba7b-4ce5-b6ee-0d0830d7e152')
def test_check_security_group_precedence_at_beckend(self): def test_check_security_group_precedence_at_beckend(self):
project_id = self.cmgr_adm.networks_client.tenant_id project_id = self.cmgr_adm.networks_client.tenant_id
@ -346,7 +346,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
"over default security group" "over default security group"
self.assertIn(provider_sg_name, section['display_name'], msg) 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') @decorators.idempotent_id('37d8fbfc-eb3f-40c8-a146-70f5df937a2e')
def test_tenant_cannot_delete_admin_provider_security_group(self): def test_tenant_cannot_delete_admin_provider_security_group(self):
project_id = self.cmgr_adm.networks_client.tenant_id project_id = self.cmgr_adm.networks_client.tenant_id
@ -362,7 +362,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
"provider security group") "provider security group")
pass pass
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('1bbebba3-780c-4e95-a95a-e52f577a6c1d') @decorators.idempotent_id('1bbebba3-780c-4e95-a95a-e52f577a6c1d')
def test_tenant_cannot_create_provider_sec_group(self): def test_tenant_cannot_create_provider_sec_group(self):
project_id = self.cmgr_alt.networks_client.tenant_id project_id = self.cmgr_alt.networks_client.tenant_id
@ -372,7 +372,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
provider=True) provider=True)
LOG.info("Non-Admin Tenant cannot create provider sec group") 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') @decorators.idempotent_id('0d021bb2-9e21-422c-a509-6ac27803b2a2')
def test_update_port_with_psg(self): def test_update_port_with_psg(self):
net_client = self.cmgr_adm.networks_client net_client = self.cmgr_adm.networks_client
@ -410,7 +410,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
kwargs = {"provider_security_groups": []} kwargs = {"provider_security_groups": []}
port_client.update_port(port_id['port']['id'], **kwargs) 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') @decorators.idempotent_id('2922a7fb-75fb-4d9f-9fdb-4b017c191aba')
def test_update_port_with_psg_using_different_tenant(self): def test_update_port_with_psg_using_different_tenant(self):
net_client = self.cmgr_alt.networks_client net_client = self.cmgr_alt.networks_client
@ -447,7 +447,7 @@ class ProviderSecurityGroupTest(base.BaseAdminNetworkTest):
kwargs = {"provider_security_groups": []} kwargs = {"provider_security_groups": []}
port_client.update_port(port_id['port']['id'], **kwargs) 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') @decorators.idempotent_id('cef8d816-e5fa-45a5-a5a5-f1f2ed8fb49f')
def test_tenant_cannot_create_provider_sec_group_for_other_tenant(self): def test_tenant_cannot_create_provider_sec_group_for_other_tenant(self):
tenant_cmgr = self.cmgr_alt tenant_cmgr = self.cmgr_alt

View File

@ -19,7 +19,6 @@ from tempest.api.network import base
from tempest import config from tempest import config
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest import test
from vmware_nsx_tempest.services import nsxv3_client from vmware_nsx_tempest.services import nsxv3_client
@ -120,42 +119,42 @@ class NSXv3DHCPUniScaleTest(base.BaseNetworkTest):
dhcp_server['id']) dhcp_server['id'])
self.assertEqual(len(dhcp_bindings), scale) self.assertEqual(len(dhcp_bindings), scale)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('c5fa8d5d-3973-4d77-a0d4-f28b2ae92a2c') @decorators.idempotent_id('c5fa8d5d-3973-4d77-a0d4-f28b2ae92a2c')
def test_create_100_logical_dhcp_server(self): def test_create_100_logical_dhcp_server(self):
self._create_scale_logical_dhcp_server(100) self._create_scale_logical_dhcp_server(100)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('c2b264a2-daab-451f-ad3b-f0713a390f47') @decorators.idempotent_id('c2b264a2-daab-451f-ad3b-f0713a390f47')
def test_create_500_logical_dhcp_server(self): def test_create_500_logical_dhcp_server(self):
self._create_scale_logical_dhcp_server(500) self._create_scale_logical_dhcp_server(500)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('5ba22b0f-4593-4509-8998-a3002ce63406') @decorators.idempotent_id('5ba22b0f-4593-4509-8998-a3002ce63406')
def test_create_1k_logical_dhcp_server(self): def test_create_1k_logical_dhcp_server(self):
self._create_scale_logical_dhcp_server(1000) self._create_scale_logical_dhcp_server(1000)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('ddf3d789-838a-428a-b4fe-8fe214f0e956') @decorators.idempotent_id('ddf3d789-838a-428a-b4fe-8fe214f0e956')
def test_create_2k_logical_dhcp_server(self): def test_create_2k_logical_dhcp_server(self):
self._create_scale_logical_dhcp_server(2000) self._create_scale_logical_dhcp_server(2000)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('ed5441be-a700-45fa-bec1-b1d100acbb73') @decorators.idempotent_id('ed5441be-a700-45fa-bec1-b1d100acbb73')
def test_create_4k_logical_dhcp_server(self): def test_create_4k_logical_dhcp_server(self):
self._create_scale_logical_dhcp_server(4000) self._create_scale_logical_dhcp_server(4000)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('4a5484e3-f9b8-4562-8a4c-d8974a703767') @decorators.idempotent_id('4a5484e3-f9b8-4562-8a4c-d8974a703767')
def test_create_100_dhcp_bindings(self): def test_create_100_dhcp_bindings(self):
self._create_scale_dhcp_bindings(100) self._create_scale_dhcp_bindings(100)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('cbb8af8c-db3a-4ad2-8954-c41670956c52') @decorators.idempotent_id('cbb8af8c-db3a-4ad2-8954-c41670956c52')
def test_create_256_dhcp_bindings(self): def test_create_256_dhcp_bindings(self):
self._create_scale_dhcp_bindings(256) self._create_scale_dhcp_bindings(256)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('ffa5db0b-5922-494d-bcd3-9d5b0b10b684') @decorators.idempotent_id('ffa5db0b-5922-494d-bcd3-9d5b0b10b684')
def test_create_512_dhcp_bindings(self): def test_create_512_dhcp_bindings(self):
self._create_scale_dhcp_bindings(512) self._create_scale_dhcp_bindings(512)

View File

@ -22,7 +22,6 @@ from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest.scenario import manager from tempest.scenario import manager
from tempest import test
from vmware_nsx_tempest.services import nsxv3_client 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") cmd_out = ssh_source.exec_command("sudo ifconfig eth0:1")
self.assertIn(ip_address_vm1, cmd_out) self.assertIn(ip_address_vm1, cmd_out)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('c0f0f446-65f5-40fa-8b05-b5798e8dd676') @decorators.idempotent_id('c0f0f446-65f5-40fa-8b05-b5798e8dd676')
def test_allowed_adddress_pair_on_vms_with_single_ip(self): def test_allowed_adddress_pair_on_vms_with_single_ip(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_connectivity_between_allowed_adddress_pair_ports( self._test_connectivity_between_allowed_adddress_pair_ports(
self.network_topo) self.network_topo)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('92bba9d2-c7d1-42f8-a8a2-63b1c842112d') @decorators.idempotent_id('92bba9d2-c7d1-42f8-a8a2-63b1c842112d')
def test_allowed_adddress_pair_ports_attach_as_interface_on_vms(self): def test_allowed_adddress_pair_ports_attach_as_interface_on_vms(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_allowed_adddress_pair_ports_attach_as_interface_on_vms( self._test_allowed_adddress_pair_ports_attach_as_interface_on_vms(
self.network_topo) self.network_topo)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('ceb8a0db-8b5a-46de-a328-bf6093ea2102') @decorators.idempotent_id('ceb8a0db-8b5a-46de-a328-bf6093ea2102')
def test_allowed_adddress_with_ip_mac_attach_as_interface_on_vms(self): def test_allowed_adddress_with_ip_mac_attach_as_interface_on_vms(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_allowed_adddress_with_ip_mac_attach_as_interface_on_vms( self._test_allowed_adddress_with_ip_mac_attach_as_interface_on_vms(
self.network_topo) self.network_topo)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('735b9afb-2cb8-4e37-9603-2b918906a4df') @decorators.idempotent_id('735b9afb-2cb8-4e37-9603-2b918906a4df')
def test_allowed_address_pair_on_vms_with_multiple_ips(self): def test_allowed_address_pair_on_vms_with_multiple_ips(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_allowed_address_pair_on_vms_with_multiple_ips( self._test_allowed_address_pair_on_vms_with_multiple_ips(
self.network_topo) self.network_topo)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('4a0fb0e0-c801-4aed-94fe-6c57ff41c6f6') @decorators.idempotent_id('4a0fb0e0-c801-4aed-94fe-6c57ff41c6f6')
def test_vm_accessible_using_allowed_adddress_pair_port_fip(self): def test_vm_accessible_using_allowed_adddress_pair_port_fip(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()

View File

@ -145,7 +145,7 @@ class TestCertificateMgmt(manager.NetworkScenarioTest):
class TestCertificateMgmtOps(TestCertificateMgmt): class TestCertificateMgmtOps(TestCertificateMgmt):
openstack_tag = 'com.vmware.nsx.openstack' openstack_tag = 'com.vmware.nsx.openstack'
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('6cb32a2b-048a-47a3-b0ed-f6337b81377f') @decorators.idempotent_id('6cb32a2b-048a-47a3-b0ed-f6337b81377f')
def test_certificate_backend(self): def test_certificate_backend(self):
""" """
@ -154,7 +154,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt):
msg = 'Error: Openstack client certificate not registered with backend' msg = 'Error: Openstack client certificate not registered with backend'
self.assertIsNotNone(self.nsx.get_openstack_client_certificate(), msg) 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') @decorators.idempotent_id('25bb1af7-6190-42d5-a590-4df9fb5592f0')
def test_prevention_modification_openstack_network(self): def test_prevention_modification_openstack_network(self):
""" """
@ -183,7 +183,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt):
comp_id=data['id'], body=data) comp_id=data['id'], body=data)
self.parse_response(response) self.parse_response(response)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('3e9a4d5b-5a14-44a5-bf9f-8999148b9329') @decorators.idempotent_id('3e9a4d5b-5a14-44a5-bf9f-8999148b9329')
def test_prevention_modification_openstack_router(self): def test_prevention_modification_openstack_router(self):
""" """
@ -229,7 +229,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt):
comp_id=rtr_ports[0]['id']) comp_id=rtr_ports[0]['id'])
self.parse_response(response) self.parse_response(response)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('141af4cb-52f0-4764-b817-5b0529dbbc73') @decorators.idempotent_id('141af4cb-52f0-4764-b817-5b0529dbbc73')
def test_prevention_modification_qos_policy(self): def test_prevention_modification_qos_policy(self):
""" """
@ -268,7 +268,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt):
comp_id=data['id']) comp_id=data['id'])
self.parse_response(response) self.parse_response(response)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('2b232060-dc42-4b2d-8185-64bd12e46e55') @decorators.idempotent_id('2b232060-dc42-4b2d-8185-64bd12e46e55')
def test_prevention_modification_security_group(self): def test_prevention_modification_security_group(self):
""" """
@ -304,7 +304,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt):
comp_id=fw_rules[0]['id']) comp_id=fw_rules[0]['id'])
self.parse_response(response) self.parse_response(response)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('b10d5ede-d1c7-47a0-9d55-b9aabc8f0af1') @decorators.idempotent_id('b10d5ede-d1c7-47a0-9d55-b9aabc8f0af1')
def test_prevention_modification_port(self): def test_prevention_modification_port(self):
""" """
@ -328,7 +328,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt):
comp_id=data['id']) comp_id=data['id'])
self.parse_response(response) self.parse_response(response)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('280cdcc6-5bd0-472c-a8a9-954dd612a0a6') @decorators.idempotent_id('280cdcc6-5bd0-472c-a8a9-954dd612a0a6')
def test_port_modification_super_admin(self): def test_port_modification_super_admin(self):
""" """
@ -345,7 +345,7 @@ class TestCertificateMgmtOps(TestCertificateMgmt):
self.assertEqual(response.status_code, 200, self.assertEqual(response.status_code, 200,
"Superadmin unable to delete the logical port") "Superadmin unable to delete the logical port")
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('a874d78b-eb7a-4df6-a01b-dc0a22422dc2') @decorators.idempotent_id('a874d78b-eb7a-4df6-a01b-dc0a22422dc2')
def test_cert_removed_post_unstack(self): def test_cert_removed_post_unstack(self):
""" """

View File

@ -271,7 +271,7 @@ class TestMDProxy(manager.NetworkScenarioTest):
self.verify_md_proxy_logical_ports_on_backend() self.verify_md_proxy_logical_ports_on_backend()
@decorators.idempotent_id("cc8d2ab8-0bea-4e32-bf80-c9c46a7612b7") @decorators.idempotent_id("cc8d2ab8-0bea-4e32-bf80-c9c46a7612b7")
@test.attr(type=["negative"]) @decorators.attr(type=["negative"])
@test.services("compute", "network") @test.services("compute", "network")
def test_mdproxy_delete_when_ls_bounded(self): def test_mdproxy_delete_when_ls_bounded(self):
(network_id, _) = self._create_net_subnet_router_interface() (network_id, _) = self._create_net_subnet_router_interface()
@ -324,7 +324,7 @@ class TestMDProxy(manager.NetworkScenarioTest):
self.verify_metadata_in_detail(instance=instance2) self.verify_metadata_in_detail(instance=instance2)
@decorators.idempotent_id("29d44d7c-6ea1-4b30-a6c3-a2695c2486fe") @decorators.idempotent_id("29d44d7c-6ea1-4b30-a6c3-a2695c2486fe")
@test.attr(type=["negative"]) @decorators.attr(type=["negative"])
@test.services("compute", "network") @test.services("compute", "network")
def test_mdproxy_with_incorrect_password(self): def test_mdproxy_with_incorrect_password(self):
router = self._create_router( router = self._create_router(

View File

@ -158,7 +158,7 @@ class TestMultiHVNetworkOps(manager.NetworkScenarioTest):
{'dest': remote_ip, 'src': floating_ip}) {'dest': remote_ip, 'src': floating_ip})
raise raise
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('42373fef-cb05-47c9-bb67-32b7a3b48168') @decorators.idempotent_id('42373fef-cb05-47c9-bb67-32b7a3b48168')
def test_multi_hv_network_l2_ops(self): def test_multi_hv_network_l2_ops(self):
"""Test connectivity between ESX VM and KVM VM on same network """Test connectivity between ESX VM and KVM VM on same network

View File

@ -199,7 +199,7 @@ class TestMultiNetworksOps(manager.NetworkScenarioTest):
{'dest': remote_ip, 'src': floating_ip}) {'dest': remote_ip, 'src': floating_ip})
raise raise
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('d35d1301-bfa4-49ea-acdf-f67ba97b1937') @decorators.idempotent_id('d35d1301-bfa4-49ea-acdf-f67ba97b1937')
def test_multi_networks_ops(self): def test_multi_networks_ops(self):
"""Test connectivity between VMs on same and cross network """Test connectivity between VMs on same and cross network

View File

@ -22,7 +22,6 @@ from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import decorators from tempest.lib import decorators
from tempest.scenario import manager from tempest.scenario import manager
from tempest import test
from vmware_nsx_tempest.common import constants from vmware_nsx_tempest.common import constants
from vmware_nsx_tempest.services import nsxv3_client from vmware_nsx_tempest.services import nsxv3_client
@ -467,7 +466,7 @@ class TestNSXv3PortSecurityScenario(manager.NetworkScenarioTest):
private_address_server_1, private_address_server_1,
private_key_server_2) private_key_server_2)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('f1c1d9b8-2fbd-4e7c-9ba7-a1d85d8d77d3') @decorators.idempotent_id('f1c1d9b8-2fbd-4e7c-9ba7-a1d85d8d77d3')
def test_create_server_with_port_security_and_check_backend(self): def test_create_server_with_port_security_and_check_backend(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
@ -476,14 +475,14 @@ class TestNSXv3PortSecurityScenario(manager.NetworkScenarioTest):
self.assertEqual('True', status[0]) self.assertEqual('True', status[0])
self.assertEqual('False', status[1]) self.assertEqual('False', status[1])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('6853b492-8acd-4e2b-b3a0-75112cef7066') @decorators.idempotent_id('6853b492-8acd-4e2b-b3a0-75112cef7066')
def test_create_servers_with_port_security_and_check_traffic(self): def test_create_servers_with_port_security_and_check_traffic(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_create_servers_with_port_security_and_check_traffic( self._test_create_servers_with_port_security_and_check_traffic(
self.network_topo) self.network_topo)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('f5be118c-d9cd-4401-b559-de9ee6d0fdad') @decorators.idempotent_id('f5be118c-d9cd-4401-b559-de9ee6d0fdad')
def test_server_at_beckend_with_port_security(self): def test_server_at_beckend_with_port_security(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
@ -492,20 +491,20 @@ class TestNSXv3PortSecurityScenario(manager.NetworkScenarioTest):
self.assertEqual('True', status[0]) self.assertEqual('True', status[0])
self.assertEqual('False', status[1]) self.assertEqual('False', status[1])
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('a64da313-e5d7-4f57-98b6-9906c35332e7') @decorators.idempotent_id('a64da313-e5d7-4f57-98b6-9906c35332e7')
def test_connectivity_bw_port_sec_enable_port_sec_disable_server(self): def test_connectivity_bw_port_sec_enable_port_sec_disable_server(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_connectivity_bw_port_sec_enable_port_sec_disable_server( self._test_connectivity_bw_port_sec_enable_port_sec_disable_server(
self.network_topo) self.network_topo)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('520e7847-8103-41d0-90c8-6ba52306921d') @decorators.idempotent_id('520e7847-8103-41d0-90c8-6ba52306921d')
def test_connectivity_between_servers_with_router_on_same_network(self): def test_connectivity_between_servers_with_router_on_same_network(self):
self.network_topo = self.create_multi_network_topo() self.network_topo = self.create_multi_network_topo()
self._test_connectivity_between_servers_with_router(self.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') @decorators.idempotent_id('f621bbd9-c889-4c78-9ca1-7217e0df4e95')
def test_connectivity_between_servers_with_router_on_diff_networks(self): def test_connectivity_between_servers_with_router_on_diff_networks(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()

View File

@ -406,13 +406,13 @@ class TestProviderSecurityGroup(manager.NetworkScenarioTest):
private_ip_address_default_vm_2, private_ip_address_default_vm_2,
private_key_default_vm_1) private_key_default_vm_1)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('9d4192e9-b1b7-48c9-af04-67a82637c715') @decorators.idempotent_id('9d4192e9-b1b7-48c9-af04-67a82637c715')
def test_connectivity_between_default_psg_server(self): def test_connectivity_between_default_psg_server(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_connectivity_between_default_psg_server(self.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') @decorators.idempotent_id('a14b5c25-39ce-4641-bd51-f28c25e69440')
def test_vm_connectivity_port_update_with_psg(self): def test_vm_connectivity_port_update_with_psg(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
@ -420,19 +420,19 @@ class TestProviderSecurityGroup(manager.NetworkScenarioTest):
self._test_connectivity_between_vms_after_port_update( self._test_connectivity_between_vms_after_port_update(
self.network_topo, self.servers) self.network_topo, self.servers)
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('4a8eac6a-68ff-4392-bab9-70ea08132acb') @decorators.idempotent_id('4a8eac6a-68ff-4392-bab9-70ea08132acb')
def test_connectivity_between_default_psg_servers(self): def test_connectivity_between_default_psg_servers(self):
self.network_topo = self.create_network_topo() self.network_topo = self.create_network_topo()
self._test_build_up_topology_and_check_connectivity(self.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') @decorators.idempotent_id('8bae2101-4f74-4d61-a7a5-42420611cf86')
def test_connectivity_between_default_psg_server_with_multi_networks(self): def test_connectivity_between_default_psg_server_with_multi_networks(self):
self.network_topo = self.create_multi_network_topo() self.network_topo = self.create_multi_network_topo()
self._test_build_up_topology_and_check_connectivity(self.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') @decorators.idempotent_id('998789ce-8db7-4295-bce0-390fbbf0e489')
def test_ping_when_psg_enabled_disbaled_on_port(self): def test_ping_when_psg_enabled_disbaled_on_port(self):
self.network_topo = self.create_multi_network_topo() self.network_topo = self.create_multi_network_topo()

View File

@ -341,13 +341,13 @@ class TestRouterNoNATOps(manager.NetworkScenarioTest):
self._check_network_internal_connectivity(network=self.network) self._check_network_internal_connectivity(network=self.network)
self._check_network_vm_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') @decorators.idempotent_id('5e5bfdd4-0962-47d3-a89b-7ce64322b53e')
def test_router_nat_to_nonat_ops(self): def test_router_nat_to_nonat_ops(self):
"""Test update router from NATed to NoNAT scenario""" """Test update router from NATed to NoNAT scenario"""
self._test_router_nat_update_when_snat() self._test_router_nat_update_when_snat()
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('b951f7fb-f2b2-40eb-8bbd-b54bd76ffbe8') @decorators.idempotent_id('b951f7fb-f2b2-40eb-8bbd-b54bd76ffbe8')
def test_disable_nat_when_floating_ips_active_on_network(self): def test_disable_nat_when_floating_ips_active_on_network(self):
"""Expect raise condition when floating ips are active on """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() 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') @decorators.idempotent_id('a0274738-d3e7-49db-bf10-a5563610940d')
def test_router_nonat_to_nat_ops(self): def test_router_nonat_to_nat_ops(self):
"""Test update router from NoNAT to NATed scenario""" """Test update router from NoNAT to NATed scenario"""
self._test_router_nat_update_when_no_snat() self._test_router_nat_update_when_no_snat()
@test.attr(type='nsxv3') @decorators.attr(type='nsxv3')
@decorators.idempotent_id('971e8e8b-3cf2-47a9-ac24-5b19f586731c') @decorators.idempotent_id('971e8e8b-3cf2-47a9-ac24-5b19f586731c')
def test_only_admin_can_configure_snat(self): def test_only_admin_can_configure_snat(self):
"""Only admin can configure the SNAT""" """Only admin can configure the SNAT"""

View File

@ -270,7 +270,7 @@ class TestMicroSegmentationOps(manager.NetworkScenarioTest):
remote_ips, remote_ips,
should_connect) should_connect)
@test.attr(type='common') @decorators.attr(type='common')
@decorators.idempotent_id('91e1ee1f-10d9-4b19-8350-804aea7e57b4') @decorators.idempotent_id('91e1ee1f-10d9-4b19-8350-804aea7e57b4')
def test_micro_segmentation_ops(self): def test_micro_segmentation_ops(self):
"""Test micro-segmentation use case """Test micro-segmentation use case