Merge "Replace test.attr() with decorators.attr()"
diff --git a/neutron/tests/tempest/api/admin/test_extension_driver_port_security_admin.py b/neutron/tests/tempest/api/admin/test_extension_driver_port_security_admin.py
index 9e12179..e0bf179 100644
--- a/neutron/tests/tempest/api/admin/test_extension_driver_port_security_admin.py
+++ b/neutron/tests/tempest/api/admin/test_extension_driver_port_security_admin.py
@@ -15,7 +15,6 @@
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest.api import base_security_groups as base_security
@@ -26,7 +25,7 @@
required_extensions = ['port-security']
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('d39a96e2-2dea-4feb-8093-e7ac991ce6f8')
def test_create_port_security_false_on_shared_network(self):
network = self.create_shared_network()
diff --git a/neutron/tests/tempest/api/admin/test_floating_ips_admin_actions.py b/neutron/tests/tempest/api/admin/test_floating_ips_admin_actions.py
index e997380..e6184b3 100644
--- a/neutron/tests/tempest/api/admin/test_floating_ips_admin_actions.py
+++ b/neutron/tests/tempest/api/admin/test_floating_ips_admin_actions.py
@@ -16,7 +16,6 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
import testtools
from neutron.tests.tempest.api import base
@@ -42,7 +41,7 @@
cls.create_router_interface(cls.router['id'], cls.subnet['id'])
cls.port = cls.create_port(cls.network)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('11116ee9-4e99-5b15-b8e1-aa7df92ca589')
def test_associate_floating_ip_with_port_from_another_tenant(self):
if not CONF.identity_feature_enabled.api_v2_admin:
diff --git a/neutron/tests/tempest/api/admin/test_quotas.py b/neutron/tests/tempest/api/admin/test_quotas.py
index 5207069..85aecb9 100644
--- a/neutron/tests/tempest/api/admin/test_quotas.py
+++ b/neutron/tests/tempest/api/admin/test_quotas.py
@@ -16,7 +16,6 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
@@ -78,7 +77,7 @@
quota_driver = neutron.db.driver.DbQuotaDriver
"""
- @test.attr(type='gate')
+ @decorators.attr(type='gate')
@decorators.idempotent_id('2390f766-836d-40ef-9aeb-e810d78207fb')
def test_quotas(self):
tenant_id = self._create_tenant()['id']
diff --git a/neutron/tests/tempest/api/admin/test_quotas_negative.py b/neutron/tests/tempest/api/admin/test_quotas_negative.py
index 3887bea..84cd499 100644
--- a/neutron/tests/tempest/api/admin/test_quotas_negative.py
+++ b/neutron/tests/tempest/api/admin/test_quotas_negative.py
@@ -23,7 +23,7 @@
class QuotasAdminNegativeTestJSON(test_quotas.QuotasTestBase):
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('952f9b24-9156-4bdc-90f3-682a3d4302f0')
def test_create_network_when_quotas_is_full(self):
tenant_id = self._create_tenant()['id']
@@ -37,7 +37,7 @@
self.assertRaises(lib_exc.Conflict,
self.admin_client.create_network, **net_args)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('0b7f99e3-9f77-45ce-9a89-b39a184de618')
def test_create_subnet_when_quotas_is_full(self):
tenant_id = self._create_tenant()['id']
@@ -59,7 +59,7 @@
self.assertRaises(lib_exc.Conflict,
self.admin_client.create_subnet, **subnet_args)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('fe20d9f9-346c-4a20-bbfa-d9ca390f4dc6')
def test_create_port_when_quotas_is_full(self):
tenant_id = self._create_tenant()['id']
@@ -86,7 +86,7 @@
self.assertRaises(lib_exc.Conflict,
self.admin_client.create_port, **port_args)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('bb1e9c3c-7e6f-41f1-b579-63dbc655ecb7')
@test.requires_ext(extension="router", service="network")
def test_create_router_when_quotas_is_full(self):
@@ -104,7 +104,7 @@
self.admin_client.create_router,
name, True, **router_args)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('5c924ff7-b7a9-474f-92a3-dbe0f976ec13')
@test.requires_ext(extension="security-group", service="network")
def test_create_security_group_when_quotas_is_full(self):
@@ -125,7 +125,7 @@
self.assertRaises(lib_exc.Conflict,
self.admin_client.create_security_group, **sg_args)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('b7143480-6118-4ed4-be38-1b6f15f30d05')
@test.requires_ext(extension="security-group", service="network")
def test_create_security_group_rule_when_quotas_is_full(self):
@@ -157,7 +157,7 @@
self.admin_client.create_security_group_rule,
**sg_rule_args)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('d00fe5bb-9db8-4e1a-9c31-490f52897e6f')
@test.requires_ext(extension="router", service="network")
def test_create_floatingip_when_quotas_is_full(self):
diff --git a/neutron/tests/tempest/api/admin/test_shared_network_extension.py b/neutron/tests/tempest/api/admin/test_shared_network_extension.py
index 458a6f1..ab5900f 100644
--- a/neutron/tests/tempest/api/admin/test_shared_network_extension.py
+++ b/neutron/tests/tempest/api/admin/test_shared_network_extension.py
@@ -193,14 +193,14 @@
)['rbac_policy']
return {'network': net, 'subnet': subnet, 'policy': pol}
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('86c3529b-1231-40de-803c-bfffffff1eee')
def test_create_rbac_policy_with_target_tenant_none(self):
with testtools.ExpectedException(lib_exc.BadRequest):
self._make_admin_net_and_subnet_shared_to_tenant_id(
tenant_id=None)
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('86c3529b-1231-40de-803c-bfffffff1fff')
def test_create_rbac_policy_with_target_tenant_too_long_id(self):
with testtools.ExpectedException(lib_exc.BadRequest):
@@ -208,7 +208,7 @@
self._make_admin_net_and_subnet_shared_to_tenant_id(
tenant_id=target_tenant)
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('86c3529b-1231-40de-803c-afffffff1fff')
def test_network_only_visible_to_policy_target(self):
net = self._make_admin_net_and_subnet_shared_to_tenant_id(
diff --git a/neutron/tests/tempest/api/test_address_scopes_negative.py b/neutron/tests/tempest/api/test_address_scopes_negative.py
index ac8956d..2e95f59 100644
--- a/neutron/tests/tempest/api/test_address_scopes_negative.py
+++ b/neutron/tests/tempest/api/test_address_scopes_negative.py
@@ -15,39 +15,38 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import test_address_scopes
class AddressScopeTestNegative(test_address_scopes.AddressScopeTestBase):
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('9c92ec34-0c50-4104-aa47-9ce98d5088df')
def test_tenant_create_shared_address_scope(self):
self.assertRaises(lib_exc.Forbidden, self._create_address_scope,
shared=True, ip_version=4)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('a857b61e-bf53-4fab-b21a-b0daaf81b5bd')
def test_tenant_update_address_scope_shared_true(self):
self.assertRaises(lib_exc.Forbidden,
self._test_update_address_scope_helper, shared=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('a859ef2f-9c76-4e2e-ba0f-e0339a489e8c')
def test_tenant_update_address_scope_shared_false(self):
self.assertRaises(lib_exc.Forbidden,
self._test_update_address_scope_helper, shared=False)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('9b6dd7ad-cabb-4f55-bd5e-e61176ef41f6')
def test_get_non_existent_address_scope(self):
non_exist_id = data_utils.rand_name('address_scope')
self.assertRaises(lib_exc.NotFound, self.client.show_address_scope,
non_exist_id)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('ef213552-f2da-487d-bf4a-e1705d115ff1')
def test_tenant_get_not_shared_admin_address_scope(self):
address_scope = self._create_address_scope(is_admin=True,
@@ -56,21 +55,21 @@
self.assertRaises(lib_exc.NotFound, self.client.show_address_scope,
address_scope['id'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('5c25dc6a-1e92-467a-9cc7-cda74b6003db')
def test_delete_non_existent_address_scope(self):
non_exist_id = data_utils.rand_name('address_scope')
self.assertRaises(lib_exc.NotFound, self.client.delete_address_scope,
non_exist_id)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('47c25dc5-e886-4a84-88c3-ac5031969661')
def test_update_non_existent_address_scope(self):
non_exist_id = data_utils.rand_name('address_scope')
self.assertRaises(lib_exc.NotFound, self.client.update_address_scope,
non_exist_id, name='foo-name')
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('702d0515-82cb-4207-b0d9-703336e54665')
def test_update_shared_address_scope_to_unshare(self):
address_scope = self._create_address_scope(is_admin=True, shared=True,
@@ -79,7 +78,7 @@
self.admin_client.update_address_scope,
address_scope['id'], name='new-name', shared=False)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('1e471e5c-6f9c-437a-9257-fd9bc4b6f0fb')
def test_delete_address_scope_associated_with_subnetpool(self):
address_scope = self._create_address_scope(ip_version=4)
diff --git a/neutron/tests/tempest/api/test_extension_driver_port_security.py b/neutron/tests/tempest/api/test_extension_driver_port_security.py
index 381252a..bd7d801 100644
--- a/neutron/tests/tempest/api/test_extension_driver_port_security.py
+++ b/neutron/tests/tempest/api/test_extension_driver_port_security.py
@@ -69,7 +69,7 @@
self.assertFalse(port['port_security_enabled'])
self.assertEmpty(port['security_groups'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('ff11226c-a5ff-4ad4-8480-0840e36e47a9')
@test.requires_ext(extension='port-security', service='network')
def test_port_sec_update_port_failed(self):
@@ -133,7 +133,7 @@
self.assertTrue(
self.client.is_resource_deleted('network', network['id']))
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('ed93e453-3f8d-495e-8e7e-b0e268c2ebd9')
@test.requires_ext(extension='port-security', service='network')
@test.requires_ext(extension='allowed-address-pairs', service='network')
diff --git a/neutron/tests/tempest/api/test_floating_ips_negative.py b/neutron/tests/tempest/api/test_floating_ips_negative.py
index 53e1523..84cd2ec 100644
--- a/neutron/tests/tempest/api/test_floating_ips_negative.py
+++ b/neutron/tests/tempest/api/test_floating_ips_negative.py
@@ -17,7 +17,6 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
@@ -40,7 +39,7 @@
cls.create_router_interface(cls.router['id'], cls.subnet['id'])
cls.port = cls.create_port(cls.network)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('0b5b8797-6de7-4191-905c-a48b888eb429')
def test_associate_floatingip_with_port_with_floatingip(self):
net = self.create_network()
diff --git a/neutron/tests/tempest/api/test_metering_negative.py b/neutron/tests/tempest/api/test_metering_negative.py
index cbdf74d..4b70523 100644
--- a/neutron/tests/tempest/api/test_metering_negative.py
+++ b/neutron/tests/tempest/api/test_metering_negative.py
@@ -15,7 +15,6 @@
from neutron_lib.db import constants as db_const
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import base
@@ -26,7 +25,7 @@
required_extensions = ['metering']
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('8b3f7c84-9d37-4771-8681-bfd2c07f3c2d')
def test_create_metering_label_with_too_long_name(self):
self.assertRaises(lib_exc.BadRequest,
diff --git a/neutron/tests/tempest/api/test_network_ip_availability_negative.py b/neutron/tests/tempest/api/test_network_ip_availability_negative.py
index bb95ed0..7e9b42b 100644
--- a/neutron/tests/tempest/api/test_network_ip_availability_negative.py
+++ b/neutron/tests/tempest/api/test_network_ip_availability_negative.py
@@ -15,14 +15,13 @@
from oslo_utils import uuidutils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import test_network_ip_availability as net_ip
class NetworksIpAvailabilityNegativeTest(net_ip.NetworksIpAvailabilityTest):
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('3b8693eb-6c57-4ea1-ab84-3730c9ee9c84')
def test_network_availability_nonexistent_network_id(self):
self.assertRaises(lib_exc.NotFound,
diff --git a/neutron/tests/tempest/api/test_networks_negative.py b/neutron/tests/tempest/api/test_networks_negative.py
index 249ef5f..3aae948 100644
--- a/neutron/tests/tempest/api/test_networks_negative.py
+++ b/neutron/tests/tempest/api/test_networks_negative.py
@@ -12,7 +12,6 @@
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
import testtools
from neutron.tests.tempest.api import base
@@ -26,7 +25,7 @@
cls.network = cls.create_network()
cls.subnet = cls.create_subnet(cls.network)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('9f80f25b-5d1b-4f26-9f6b-774b9b270819')
def test_delete_network_in_use(self):
port = self.client.create_port(network_id=self.network['id'])
diff --git a/neutron/tests/tempest/api/test_qos_negative.py b/neutron/tests/tempest/api/test_qos_negative.py
index 3bc6088..275fe05 100644
--- a/neutron/tests/tempest/api/test_qos_negative.py
+++ b/neutron/tests/tempest/api/test_qos_negative.py
@@ -13,7 +13,6 @@
from neutron_lib.db import constants as db_const
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import base
@@ -26,21 +25,21 @@
required_extensions = ['qos']
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('b9dce555-d3b3-11e5-950a-54ee757c77da')
def test_add_policy_with_too_long_name(self):
self.assertRaises(lib_exc.BadRequest,
self.client.create_qos_policy,
LONG_NAME_NG, 'test policy desc1', False)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('b9dce444-d3b3-11e5-950a-54ee747c99db')
def test_add_policy_with_too_long_description(self):
self.assertRaises(lib_exc.BadRequest,
self.client.create_qos_policy,
'test-policy', LONG_DESCRIPTION_NG, False)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('b9dce444-d3b3-11e5-950a-54ee757c77dc')
def test_add_policy_with_too_long_tenant_id(self):
self.assertRaises(lib_exc.BadRequest,
diff --git a/neutron/tests/tempest/api/test_routers_negative.py b/neutron/tests/tempest/api/test_routers_negative.py
index 21b5a25..b2b198d 100644
--- a/neutron/tests/tempest/api/test_routers_negative.py
+++ b/neutron/tests/tempest/api/test_routers_negative.py
@@ -16,7 +16,6 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
import testtools
from neutron.tests.tempest.api import base_routers as base
@@ -36,7 +35,7 @@
class RoutersNegativeTest(RoutersNegativeTestBase):
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('e3e751af-15a2-49cc-b214-a7154579e94f')
def test_delete_router_in_use(self):
# This port is deleted after a test by remove_router_interface.
@@ -51,7 +50,7 @@
credentials = ['admin', 'primary', 'alt']
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('159f576d-a423-46b5-b501-622694c02f6b')
def test_add_interface_wrong_tenant(self):
client2 = self.os_alt.network_client
@@ -73,7 +72,7 @@
required_extensions = ['dvr']
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('4990b055-8fc7-48ab-bba7-aa28beaad0b9')
def test_router_create_tenant_distributed_returns_forbidden(self):
with testtools.ExpectedException(lib_exc.Forbidden):
@@ -85,7 +84,7 @@
required_extensions = ['l3-ha']
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('821b85b9-9c51-40f3-831f-bf223a7e0084')
def test_router_create_tenant_ha_returns_forbidden(self):
with testtools.ExpectedException(lib_exc.Forbidden):
diff --git a/neutron/tests/tempest/api/test_security_groups_negative.py b/neutron/tests/tempest/api/test_security_groups_negative.py
index c68e0b9..649f375 100644
--- a/neutron/tests/tempest/api/test_security_groups_negative.py
+++ b/neutron/tests/tempest/api/test_security_groups_negative.py
@@ -16,7 +16,6 @@
from neutron_lib.db import constants as db_const
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
from neutron.tests.tempest.api import base_security_groups as base
@@ -27,21 +26,21 @@
required_extensions = ['security-group']
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('594edfa8-9a5b-438e-9344-49aece337d49')
def test_create_security_group_with_too_long_name(self):
self.assertRaises(lib_exc.BadRequest,
self.client.create_security_group,
name=LONG_NAME_NG)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('b6b79838-7430-4d3f-8e07-51dfb61802c2')
def test_create_security_group_with_boolean_type_name(self):
self.assertRaises(lib_exc.BadRequest,
self.client.create_security_group,
name=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('55100aa8-b24f-333c-0bef-64eefd85f15c')
def test_update_default_security_group_name(self):
sg_list = self.client.list_security_groups(name='default')
@@ -49,7 +48,7 @@
self.assertRaises(lib_exc.Conflict, self.client.update_security_group,
sg['id'], name='test')
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('c8510dd8-c3a8-4df9-ae44-24354db50960')
def test_update_security_group_with_too_long_name(self):
sg_list = self.client.list_security_groups(name='default')
@@ -58,7 +57,7 @@
self.client.update_security_group,
sg['id'], name=LONG_NAME_NG)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('d9a14917-f66f-4eca-ab72-018563917f1b')
def test_update_security_group_with_boolean_type_name(self):
sg_list = self.client.list_security_groups(name='default')
diff --git a/neutron/tests/tempest/api/test_subnetpools_negative.py b/neutron/tests/tempest/api/test_subnetpools_negative.py
index 017eca4..5467664 100644
--- a/neutron/tests/tempest/api/test_subnetpools_negative.py
+++ b/neutron/tests/tempest/api/test_subnetpools_negative.py
@@ -30,14 +30,14 @@
smaller_prefix = u'10.11.12.0/26'
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('0212a042-603a-4f46-99e0-e37de9374d30')
def test_get_non_existent_subnetpool(self):
non_exist_id = data_utils.rand_name('subnetpool')
self.assertRaises(lib_exc.NotFound, self.client.show_subnetpool,
non_exist_id)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('dc9336e5-f28f-4658-a0b0-cc79e607007d')
def test_tenant_get_not_shared_admin_subnetpool(self):
created_subnetpool = self._create_subnetpool(is_admin=True)
@@ -45,21 +45,21 @@
self.assertRaises(lib_exc.NotFound, self.client.show_subnetpool,
created_subnetpool['id'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('5e1f2f86-d81a-498c-82ed-32a49f4dc4d3')
def test_delete_non_existent_subnetpool(self):
non_exist_id = data_utils.rand_name('subnetpool')
self.assertRaises(lib_exc.NotFound, self.client.delete_subnetpool,
non_exist_id)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('d1143fe2-212b-4e23-a308-d18f7d8d78d6')
def test_tenant_create_shared_subnetpool(self):
# 'shared' subnetpool can only be created by admin.
self.assertRaises(lib_exc.Forbidden, self._create_subnetpool,
is_admin=False, shared=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('6ae09d8f-95be-40ed-b1cf-8b850d45bab5')
@test.requires_ext(extension='default-subnetpools', service='network')
def test_tenant_create_default_subnetpool(self):
@@ -67,14 +67,14 @@
self.assertRaises(lib_exc.Forbidden, self._create_subnetpool,
is_admin=False, is_default=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('4be84d30-60ca-4bd3-8512-db5b36ce1378')
def test_update_non_existent_subnetpool(self):
non_exist_id = data_utils.rand_name('subnetpool')
self.assertRaises(lib_exc.NotFound, self.client.update_subnetpool,
non_exist_id, name='foo-name')
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('e6cd6d87-6173-45dd-bf04-c18ea7ec7537')
def test_update_subnetpool_not_modifiable_shared(self):
# 'shared' attributes can be specified during creation.
@@ -84,7 +84,7 @@
self.assertRaises(lib_exc.BadRequest, self.client.update_subnetpool,
pool_id, shared=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('62f7c43b-bff1-4def-8bb7-4754b840aaad')
def test_update_subnetpool_prefixes_shrink(self):
# Shrink current subnetpool prefixes is not supported
@@ -94,7 +94,7 @@
created_subnetpool['id'],
prefixes=[self.smaller_prefix])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('fc011824-153e-4469-97ad-9808eb88cae1')
def test_create_subnet_different_pools_same_network(self):
network = self.create_network(network_name='smoke-network')
@@ -111,21 +111,21 @@
subnetpool_id=created_subnetpool['id'],
client=self.admin_client)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('9589e332-638e-476e-81bd-013d964aa3cb')
@test.requires_ext(extension='address-scope', service='network')
def test_create_subnetpool_associate_invalid_address_scope(self):
self.assertRaises(lib_exc.BadRequest, self._create_subnetpool,
address_scope_id='foo-addr-scope')
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('3b6c5942-485d-4964-a560-55608af020b5')
@test.requires_ext(extension='address-scope', service='network')
def test_create_subnetpool_associate_non_exist_address_scope(self):
self.assertRaises(lib_exc.NotFound, self._create_subnetpool,
address_scope_id=uuidutils.generate_uuid())
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('2dfb4269-8657-485a-a053-b022e911456e')
@test.requires_ext(extension='address-scope', service='network')
def test_create_subnetpool_associate_address_scope_prefix_intersect(self):
@@ -141,7 +141,7 @@
self.assertRaises(lib_exc.Conflict, self._create_subnetpool,
**subnetpool_data)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('83a19a13-5384-42e2-b579-43fc69c80914')
@test.requires_ext(extension='address-scope', service='network')
def test_create_sp_associate_address_scope_multiple_prefix_intersect(self):
@@ -159,7 +159,7 @@
self.assertRaises(lib_exc.Conflict, self._create_subnetpool,
**subnetpool_data)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('f06d8e7b-908b-4e94-b570-8156be6a4bf1')
@test.requires_ext(extension='address-scope', service='network')
def test_create_subnetpool_associate_address_scope_of_other_owner(self):
@@ -169,7 +169,7 @@
self.assertRaises(lib_exc.NotFound, self._create_subnetpool,
address_scope_id=address_scope['id'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('3396ec6c-cb80-4ebe-b897-84e904580bdf')
@test.requires_ext(extension='address-scope', service='network')
def test_tenant_create_subnetpool_associate_shared_address_scope(self):
@@ -179,7 +179,7 @@
self.assertRaises(lib_exc.BadRequest, self._create_subnetpool,
address_scope_id=address_scope['id'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('6d3d9ad5-32d4-4d63-aa00-8c62f73e2881')
@test.requires_ext(extension='address-scope', service='network')
def test_update_subnetpool_associate_address_scope_of_other_owner(self):
@@ -212,7 +212,7 @@
self.assertRaises(lib_exc.Conflict, self.client.update_subnetpool,
pool_id_1, prefixes=pool_1_updated_prefixes)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('96006292-7214-40e0-a471-153fb76e6b31')
@test.requires_ext(extension='address-scope', service='network')
def test_update_subnetpool_prefix_intersect(self):
@@ -222,7 +222,7 @@
self._test_update_subnetpool_prefix_intersect_helper(
pool_1_prefix, pool_2_prefix, pool_1_updated_prefix)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('4d3f8a79-c530-4e59-9acf-6c05968adbfe')
@test.requires_ext(extension='address-scope', service='network')
def test_update_subnetpool_multiple_prefix_intersect(self):
@@ -233,7 +233,7 @@
self._test_update_subnetpool_prefix_intersect_helper(
pool_1_prefixes, pool_2_prefixes, pool_1_updated_prefixes)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('7438e49e-1351-45d8-937b-892059fb97f5')
@test.requires_ext(extension='address-scope', service='network')
def test_tenant_update_sp_prefix_associated_with_shared_addr_scope(self):
@@ -264,7 +264,7 @@
self.assertEqual(update_prefixes,
body['subnetpool']['prefixes'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('648fee7d-a909-4ced-bad3-3a169444c0a8')
@test.requires_ext(extension='address-scope', service='network')
def test_update_subnetpool_associate_address_scope_wrong_ip_version(self):
@@ -276,7 +276,7 @@
created_subnetpool['id'],
address_scope_id=address_scope['id'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('2f66dc2f-cc32-4caa-91ec-0c0cd7c46d70')
def test_update_subnetpool_tenant_id(self):
subnetpool = self._create_subnetpool()
diff --git a/neutron/tests/tempest/api/test_tag.py b/neutron/tests/tempest/api/test_tag.py
index f819671..0819951 100644
--- a/neutron/tests/tempest/api/test_tag.py
+++ b/neutron/tests/tempest/api/test_tag.py
@@ -83,7 +83,7 @@
network = cls.create_network()
return network['id']
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('5621062d-fbfb-4437-9d69-138c78ea4188')
def test_network_tags(self):
self._test_tag_operations()
@@ -98,7 +98,7 @@
subnet = cls.create_subnet(network)
return subnet['id']
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('2805aabf-a94c-4e70-a0b2-9814f06beb03')
@test.requires_ext(extension="tag-ext", service="network")
def test_subnet_tags(self):
@@ -114,7 +114,7 @@
port = cls.create_port(network)
return port['id']
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('c7c44f2c-edb0-4ebd-a386-d37cec155c34')
@test.requires_ext(extension="tag-ext", service="network")
def test_port_tags(self):
@@ -130,7 +130,7 @@
prefixes=['10.0.0.0/8'])
return subnetpool['id']
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('bdc1c24b-c0b5-4835-953c-8f67dc11edfe')
@test.requires_ext(extension="tag-ext", service="network")
def test_subnetpool_tags(self):
@@ -145,7 +145,7 @@
router = cls.create_router(router_name='test')
return router['id']
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('b898ff92-dc33-4232-8ab9-2c6158c80d28')
@test.requires_ext(extension="router", service="network")
@test.requires_ext(extension="tag-ext", service="network")
@@ -237,7 +237,7 @@
res = self.client.list_networks(**filters)
return res[self.resource]
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('a66b5cca-7db2-40f5-a33d-8ac9f864e53e')
def test_filter_network_tags(self):
self._test_filter_tags()
@@ -256,7 +256,7 @@
res = self.client.list_subnets(**filters)
return res[self.resource]
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('dd8f9ba7-bcf6-496f-bead-714bd3daac10')
@test.requires_ext(extension="tag-ext", service="network")
def test_filter_subnet_tags(self):
@@ -276,7 +276,7 @@
res = self.client.list_ports(**filters)
return res[self.resource]
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('09c036b8-c8d0-4bee-b776-7f4601512898')
@test.requires_ext(extension="tag-ext", service="network")
def test_filter_port_tags(self):
@@ -296,7 +296,7 @@
res = self.client.list_subnetpools(**filters)
return res[self.resource]
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('16ae7ad2-55c2-4821-9195-bfd04ab245b7')
@test.requires_ext(extension="tag-ext", service="network")
def test_filter_subnetpool_tags(self):
@@ -315,7 +315,7 @@
res = self.client.list_routers(**filters)
return res[self.resource]
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('cdd3f3ea-073d-4435-a6cb-826a4064193d')
@test.requires_ext(extension="tag-ext", service="network")
def test_filter_router_tags(self):
@@ -332,7 +332,7 @@
res_body = self.client.get_tags('networks', res_id)
self.assertItemsEqual(tags, res_body['tags'])
- @test.attr(type='smoke')
+ @decorators.attr(type='smoke')
@decorators.idempotent_id('74c56fb1-a3b1-4a62-a8d2-d04dca6bd4cd')
def test_update_tags_affects_only_updated_resource(self):
res1 = self.create_network()
diff --git a/neutron/tests/tempest/api/test_trunk_negative.py b/neutron/tests/tempest/api/test_trunk_negative.py
index f3497bb..b34b5fd 100644
--- a/neutron/tests/tempest/api/test_trunk_negative.py
+++ b/neutron/tests/tempest/api/test_trunk_negative.py
@@ -15,7 +15,6 @@
from oslo_utils import uuidutils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
-from tempest import test
import testtools
from neutron.tests.tempest.api import test_trunk
@@ -23,13 +22,13 @@
class TrunkTestJSON(test_trunk.TrunkTestJSONBase):
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('1b5cf87a-1d3a-4a94-ba64-647153d54f32')
def test_create_trunk_nonexistent_port_id(self):
self.assertRaises(lib_exc.NotFound, self.client.create_trunk,
uuidutils.generate_uuid(), [])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('980bca3b-b0be-45ac-8067-b401e445b796')
def test_create_trunk_nonexistent_subport_port_id(self):
network = self.create_network()
@@ -40,7 +39,7 @@
'segmentation_type': 'vlan',
'segmentation_id': 2}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('a5c5200a-72a0-43c5-a11a-52f808490344')
def test_create_subport_nonexistent_port_id(self):
trunk = self._create_trunk_with_network_and_parent([])
@@ -50,7 +49,7 @@
'segmentation_type': 'vlan',
'segmentation_id': 2}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('80deb6a9-da2a-48db-b7fd-bcef5b14edc1')
def test_create_subport_nonexistent_trunk(self):
network = self.create_network()
@@ -61,7 +60,7 @@
'segmentation_type': 'vlan',
'segmentation_id': 2}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('7e0f99ab-fe37-408b-a889-9e44ef300084')
def test_create_subport_missing_segmentation_id(self):
trunk = self._create_trunk_with_network_and_parent([])
@@ -72,7 +71,7 @@
[{'port_id': parent_port['id'],
'segmentation_type': 'vlan'}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('a315d78b-2f43-4efa-89ae-166044c568aa')
def test_create_trunk_with_subport_missing_segmentation_id(self):
subport_network = self.create_network()
@@ -82,7 +81,7 @@
[{'port_id': uuidutils.generate_uuid(),
'segmentation_type': 'vlan'}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('33498618-f75a-4796-8ae6-93d4fd203fa4')
def test_create_trunk_with_subport_missing_segmentation_type(self):
subport_network = self.create_network()
@@ -92,7 +91,7 @@
[{'port_id': uuidutils.generate_uuid(),
'segmentation_id': 3}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('a717691c-4e07-4d81-a98d-6f1c18c5d183')
def test_create_trunk_with_subport_missing_port_id(self):
subport_network = self.create_network()
@@ -102,7 +101,7 @@
[{'segmentation_type': 'vlan',
'segmentation_id': 3}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('40aed9be-e976-47d0-dada-bde2c7e74e57')
def test_create_subport_invalid_inherit_network_segmentation_type(self):
trunk = self._create_trunk_with_network_and_parent([])
@@ -114,7 +113,7 @@
'segmentation_type': 'inherit',
'segmentation_id': -1}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('40aed9be-e976-47d0-a555-bde2c7e74e57')
def test_create_trunk_duplicate_subport_segmentation_ids(self):
trunk = self._create_trunk_with_network_and_parent([])
@@ -131,7 +130,7 @@
'segmentation_id': 2,
'segmentation_type': 'vlan'}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('6f132ccc-1380-42d8-9c44-50411612bd01')
def test_add_subport_port_id_uses_trunk_port_id(self):
trunk = self._create_trunk_with_network_and_parent(None)
@@ -141,7 +140,7 @@
'segmentation_type': 'vlan',
'segmentation_id': 2}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('7f132ccc-1380-42d8-9c44-50411612bd01')
def test_add_subport_port_id_disabled_trunk(self):
trunk = self._create_trunk_with_network_and_parent(
@@ -155,7 +154,7 @@
self.client.update_trunk(
trunk['trunk']['id'], admin_state_up=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('8f132ccc-1380-42d8-9c44-50411612bd01')
def test_remove_subport_port_id_disabled_trunk(self):
trunk = self._create_trunk_with_network_and_parent(
@@ -169,7 +168,7 @@
self.client.update_trunk(
trunk['trunk']['id'], admin_state_up=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('9f132ccc-1380-42d8-9c44-50411612bd01')
def test_delete_trunk_disabled_trunk(self):
trunk = self._create_trunk_with_network_and_parent(
@@ -180,7 +179,7 @@
self.client.update_trunk(
trunk['trunk']['id'], admin_state_up=True)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('00cb40bb-1593-44c8-808c-72b47e64252f')
def test_add_subport_duplicate_segmentation_details(self):
trunk = self._create_trunk_with_network_and_parent(None)
@@ -197,7 +196,7 @@
'segmentation_type': 'vlan',
'segmentation_id': 2}])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('4eac8c25-83ee-4051-9620-34774f565730')
def test_add_subport_passing_dict(self):
trunk = self._create_trunk_with_network_and_parent(None)
@@ -207,7 +206,7 @@
'segmentation_type': 'vlan',
'segmentation_id': 2})
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('17ca7dd7-96a8-445a-941e-53c0c86c2fe2')
def test_remove_subport_passing_dict(self):
network = self.create_network()
@@ -219,7 +218,7 @@
self.assertRaises(lib_exc.BadRequest, self.client.remove_subports,
trunk['trunk']['id'], subport_data)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('aaca7dd7-96b8-445a-931e-63f0d86d2fe2')
def test_remove_subport_not_found(self):
network = self.create_network()
@@ -231,14 +230,14 @@
self.assertRaises(lib_exc.NotFound, self.client.remove_subports,
trunk['trunk']['id'], [subport_data])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('6c9c5126-4f61-11e6-8248-40a8f063c891')
def test_delete_port_in_use_by_trunk(self):
trunk = self._create_trunk_with_network_and_parent(None)
self.assertRaises(lib_exc.Conflict, self.client.delete_port,
trunk['trunk']['port_id'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('343a03d0-4f7c-11e6-97fa-40a8f063c891')
def test_delete_port_in_use_by_subport(self):
network = self.create_network()
@@ -256,7 +255,7 @@
required_extensions = (
['net-mtu'] + test_trunk.TrunkTestMtusJSONBase.required_extensions)
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('228380ef-1b7a-495e-b759-5b1f08e3e858')
def test_create_trunk_with_mtu_smaller_than_subport(self):
subports = [{'port_id': self.larger_mtu_port['id'],
@@ -268,7 +267,7 @@
subports)
self.trunks.append(trunk['trunk'])
- @test.attr(type='negative')
+ @decorators.attr(type='negative')
@decorators.idempotent_id('3b32bf77-8002-403e-ad01-6f4cf018daa5')
def test_add_subport_with_mtu_greater_than_trunk(self):
subports = [{'port_id': self.larger_mtu_port['id'],