Switch to decorators.idempotent_id
test.idempotent_id is being kept temporary to migrate
to new lib interface. Now idempotent_id is available as Tempest stable
interface decorators and all plugins tests using the old decorator
should be switched to new interface.
In future, Once all plugins are switched to new decorator Tempest
will remove the test.idempotent_id
Change-Id: I249d55fe2ce3f3b51e21ad013f0bfb9c7834da5f
Related-Bug: 1616913
diff --git a/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py b/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py
index 2931127..de2dada 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py
@@ -10,7 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-from tempest import test
+from tempest.lib import decorators
from ironic_tempest_plugin.tests.api.admin import base
@@ -18,7 +18,7 @@
class TestApiDiscovery(base.BaseBaremetalTest):
"""Tests for API discovery features."""
- @test.idempotent_id('a3c27e94-f56c-42c4-8600-d6790650b9c5')
+ @decorators.idempotent_id('a3c27e94-f56c-42c4-8600-d6790650b9c5')
def test_api_versions(self):
_, descr = self.client.get_api_description()
expected_versions = ('v1',)
@@ -27,13 +27,13 @@
for v in expected_versions:
self.assertIn(v, versions)
- @test.idempotent_id('896283a6-488e-4f31-af78-6614286cbe0d')
+ @decorators.idempotent_id('896283a6-488e-4f31-af78-6614286cbe0d')
def test_default_version(self):
_, descr = self.client.get_api_description()
default_version = descr['default_version']
self.assertEqual('v1', default_version['id'])
- @test.idempotent_id('abc0b34d-e684-4546-9728-ab7a9ad9f174')
+ @decorators.idempotent_id('abc0b34d-e684-4546-9728-ab7a9ad9f174')
def test_version_1_resources(self):
_, descr = self.client.get_version_description(version='v1')
expected_resources = ('nodes', 'chassis',
diff --git a/ironic_tempest_plugin/tests/api/admin/test_chassis.py b/ironic_tempest_plugin/tests/api/admin/test_chassis.py
index fc313fc..52109e0 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_chassis.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_chassis.py
@@ -12,8 +12,8 @@
# under the License.
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 ironic_tempest_plugin.tests.api.admin import base
@@ -33,13 +33,13 @@
self.assertIn(key, actual)
self.assertEqual(value, actual[key])
- @test.idempotent_id('7c5a2e09-699c-44be-89ed-2bc189992d42')
+ @decorators.idempotent_id('7c5a2e09-699c-44be-89ed-2bc189992d42')
def test_create_chassis(self):
descr = data_utils.rand_name('test-chassis')
_, chassis = self.create_chassis(description=descr)
self.assertEqual(descr, chassis['description'])
- @test.idempotent_id('cabe9c6f-dc16-41a7-b6b9-0a90c212edd5')
+ @decorators.idempotent_id('cabe9c6f-dc16-41a7-b6b9-0a90c212edd5')
def test_create_chassis_unicode_description(self):
# Use a unicode string for testing:
# 'We ♡ OpenStack in Ukraine'
@@ -47,18 +47,18 @@
_, chassis = self.create_chassis(description=descr)
self.assertEqual(descr, chassis['description'])
- @test.idempotent_id('c84644df-31c4-49db-a307-8942881f41c0')
+ @decorators.idempotent_id('c84644df-31c4-49db-a307-8942881f41c0')
def test_show_chassis(self):
_, chassis = self.client.show_chassis(self.chassis['uuid'])
self._assertExpected(self.chassis, chassis)
- @test.idempotent_id('29c9cd3f-19b5-417b-9864-99512c3b33b3')
+ @decorators.idempotent_id('29c9cd3f-19b5-417b-9864-99512c3b33b3')
def test_list_chassis(self):
_, body = self.client.list_chassis()
self.assertIn(self.chassis['uuid'],
[i['uuid'] for i in body['chassis']])
- @test.idempotent_id('5ae649ad-22d1-4fe1-bbc6-97227d199fb3')
+ @decorators.idempotent_id('5ae649ad-22d1-4fe1-bbc6-97227d199fb3')
def test_delete_chassis(self):
_, body = self.create_chassis()
uuid = body['uuid']
@@ -66,7 +66,7 @@
self.delete_chassis(uuid)
self.assertRaises(lib_exc.NotFound, self.client.show_chassis, uuid)
- @test.idempotent_id('cda8a41f-6be2-4cbf-840c-994b00a89b44')
+ @decorators.idempotent_id('cda8a41f-6be2-4cbf-840c-994b00a89b44')
def test_update_chassis(self):
_, body = self.create_chassis()
uuid = body['uuid']
@@ -77,7 +77,7 @@
_, chassis = self.client.show_chassis(uuid)
self.assertEqual(new_description, chassis['description'])
- @test.idempotent_id('76305e22-a4e2-4ab3-855c-f4e2368b9335')
+ @decorators.idempotent_id('76305e22-a4e2-4ab3-855c-f4e2368b9335')
def test_chassis_node_list(self):
_, node = self.create_node(self.chassis['uuid'])
_, body = self.client.list_chassis_nodes(self.chassis['uuid'])
diff --git a/ironic_tempest_plugin/tests/api/admin/test_drivers.py b/ironic_tempest_plugin/tests/api/admin/test_drivers.py
index c9319b6..c3d1973 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_drivers.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_drivers.py
@@ -13,7 +13,7 @@
# under the License.
from tempest import config
-from tempest import test
+from tempest.lib import decorators
from ironic_tempest_plugin.tests.api.admin import base
@@ -27,13 +27,13 @@
super(TestDrivers, cls).resource_setup()
cls.driver_name = CONF.baremetal.driver
- @test.idempotent_id('5aed2790-7592-4655-9b16-99abcc2e6ec5')
+ @decorators.idempotent_id('5aed2790-7592-4655-9b16-99abcc2e6ec5')
def test_list_drivers(self):
_, drivers = self.client.list_drivers()
self.assertIn(self.driver_name,
[d['name'] for d in drivers['drivers']])
- @test.idempotent_id('fb3287a3-c4d7-44bf-ae9d-1eef906d78ce')
+ @decorators.idempotent_id('fb3287a3-c4d7-44bf-ae9d-1eef906d78ce')
def test_show_driver(self):
_, driver = self.client.show_driver(self.driver_name)
self.assertEqual(self.driver_name, driver['name'])
diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodes.py b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
index bf37ca8..8f1b0da 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_nodes.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_nodes.py
@@ -12,8 +12,8 @@
import six
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 ironic_tempest_plugin.common import waiters
from ironic_tempest_plugin.tests.api.admin import api_microversion_fixture
@@ -47,7 +47,7 @@
uuid=self.node['uuid'], instance_uuid=None)
return instance_uuid
- @test.idempotent_id('4e939eb2-8a69-4e84-8652-6fffcbc9db8f')
+ @decorators.idempotent_id('4e939eb2-8a69-4e84-8652-6fffcbc9db8f')
def test_create_node(self):
params = {'cpu_arch': 'x86_64',
'cpus': '12',
@@ -57,7 +57,7 @@
_, body = self.create_node(self.chassis['uuid'], **params)
self._assertExpected(params, body['properties'])
- @test.idempotent_id('9ade60a4-505e-4259-9ec4-71352cbbaf47')
+ @decorators.idempotent_id('9ade60a4-505e-4259-9ec4-71352cbbaf47')
def test_delete_node(self):
_, node = self.create_node(self.chassis['uuid'])
@@ -66,18 +66,18 @@
self.assertRaises(lib_exc.NotFound, self.client.show_node,
node['uuid'])
- @test.idempotent_id('55451300-057c-4ecf-8255-ba42a83d3a03')
+ @decorators.idempotent_id('55451300-057c-4ecf-8255-ba42a83d3a03')
def test_show_node(self):
_, loaded_node = self.client.show_node(self.node['uuid'])
self._assertExpected(self.node, loaded_node)
- @test.idempotent_id('4ca123c4-160d-4d8d-a3f7-15feda812263')
+ @decorators.idempotent_id('4ca123c4-160d-4d8d-a3f7-15feda812263')
def test_list_nodes(self):
_, body = self.client.list_nodes()
self.assertIn(self.node['uuid'],
[i['uuid'] for i in body['nodes']])
- @test.idempotent_id('85b1f6e0-57fd-424c-aeff-c3422920556f')
+ @decorators.idempotent_id('85b1f6e0-57fd-424c-aeff-c3422920556f')
def test_list_nodes_association(self):
_, body = self.client.list_nodes(associated=True)
self.assertNotIn(self.node['uuid'],
@@ -91,7 +91,7 @@
_, body = self.client.list_nodes(associated=False)
self.assertNotIn(self.node['uuid'], [n['uuid'] for n in body['nodes']])
- @test.idempotent_id('18c4ebd8-f83a-4df7-9653-9fb33a329730')
+ @decorators.idempotent_id('18c4ebd8-f83a-4df7-9653-9fb33a329730')
def test_node_port_list(self):
_, port = self.create_port(self.node['uuid'],
data_utils.rand_mac_address())
@@ -99,13 +99,13 @@
self.assertIn(port['uuid'],
[p['uuid'] for p in body['ports']])
- @test.idempotent_id('72591acb-f215-49db-8395-710d14eb86ab')
+ @decorators.idempotent_id('72591acb-f215-49db-8395-710d14eb86ab')
def test_node_port_list_no_ports(self):
_, node = self.create_node(self.chassis['uuid'])
_, body = self.client.list_node_ports(node['uuid'])
self.assertEmpty(body['ports'])
- @test.idempotent_id('4fed270a-677a-4d19-be87-fd38ae490320')
+ @decorators.idempotent_id('4fed270a-677a-4d19-be87-fd38ae490320')
def test_update_node(self):
props = {'cpu_arch': 'x86_64',
'cpus': '12',
@@ -123,18 +123,18 @@
_, node = self.client.show_node(node['uuid'])
self._assertExpected(new_p, node['properties'])
- @test.idempotent_id('cbf1f515-5f4b-4e49-945c-86bcaccfeb1d')
+ @decorators.idempotent_id('cbf1f515-5f4b-4e49-945c-86bcaccfeb1d')
def test_validate_driver_interface(self):
_, body = self.client.validate_driver_interface(self.node['uuid'])
core_interfaces = ['power', 'deploy']
for interface in core_interfaces:
self.assertIn(interface, body)
- @test.idempotent_id('5519371c-26a2-46e9-aa1a-f74226e9d71f')
+ @decorators.idempotent_id('5519371c-26a2-46e9-aa1a-f74226e9d71f')
def test_set_node_boot_device(self):
self.client.set_node_boot_device(self.node['uuid'], 'pxe')
- @test.idempotent_id('9ea73775-f578-40b9-bc34-efc639c4f21f')
+ @decorators.idempotent_id('9ea73775-f578-40b9-bc34-efc639c4f21f')
def test_get_node_boot_device(self):
body = self.client.get_node_boot_device(self.node['uuid'])
self.assertIn('boot_device', body)
@@ -142,26 +142,26 @@
self.assertIsInstance(body['boot_device'], six.string_types)
self.assertIsInstance(body['persistent'], bool)
- @test.idempotent_id('3622bc6f-3589-4bc2-89f3-50419c66b133')
+ @decorators.idempotent_id('3622bc6f-3589-4bc2-89f3-50419c66b133')
def test_get_node_supported_boot_devices(self):
body = self.client.get_node_supported_boot_devices(self.node['uuid'])
self.assertIn('supported_boot_devices', body)
self.assertIsInstance(body['supported_boot_devices'], list)
- @test.idempotent_id('f63b6288-1137-4426-8cfe-0d5b7eb87c06')
+ @decorators.idempotent_id('f63b6288-1137-4426-8cfe-0d5b7eb87c06')
def test_get_console(self):
_, body = self.client.get_console(self.node['uuid'])
con_info = ['console_enabled', 'console_info']
for key in con_info:
self.assertIn(key, body)
- @test.idempotent_id('80504575-9b21-4670-92d1-143b948f9437')
+ @decorators.idempotent_id('80504575-9b21-4670-92d1-143b948f9437')
def test_set_console_mode(self):
self.client.set_console_mode(self.node['uuid'], True)
waiters.wait_for_bm_node_status(self.client, self.node['uuid'],
'console_enabled', True)
- @test.idempotent_id('b02a4f38-5e8b-44b2-aed2-a69a36ecfd69')
+ @decorators.idempotent_id('b02a4f38-5e8b-44b2-aed2-a69a36ecfd69')
def test_get_node_by_instance_uuid(self):
instance_uuid = self._associate_node_with_instance()
_, body = self.client.show_node_by_instance_uuid(instance_uuid)
@@ -179,7 +179,7 @@
_, self.chassis = self.create_chassis()
_, self.node = self.create_node(self.chassis['uuid'])
- @test.idempotent_id('a3d319d0-cacb-4e55-a3dc-3fa8b74880f1')
+ @decorators.idempotent_id('a3d319d0-cacb-4e55-a3dc-3fa8b74880f1')
def test_vifs(self):
self.useFixture(
api_microversion_fixture.APIMicroversionFixture('1.28'))
@@ -190,7 +190,7 @@
self.assertEqual(body, {'vifs': [{'id': 'test-vif'}]})
self.client.vif_detach(self.node['uuid'], 'test-vif')
- @test.idempotent_id('a3d319d0-cacb-4e55-a3dc-3fa8b74880f2')
+ @decorators.idempotent_id('a3d319d0-cacb-4e55-a3dc-3fa8b74880f2')
def test_vif_already_set_on_extra(self):
self.useFixture(
api_microversion_fixture.APIMicroversionFixture('1.28'))
diff --git a/ironic_tempest_plugin/tests/api/admin/test_nodestates.py b/ironic_tempest_plugin/tests/api/admin/test_nodestates.py
index a491f6f..f2a33eb 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_nodestates.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_nodestates.py
@@ -13,8 +13,8 @@
# under the License.
from oslo_utils import timeutils
+from tempest.lib import decorators
from tempest.lib import exceptions
-from tempest import test
from ironic_tempest_plugin.tests.api.admin import api_microversion_fixture
from ironic_tempest_plugin.tests.api.admin import base
@@ -56,14 +56,14 @@
'timeout': self.unprovision_timeout})
raise exceptions.TimeoutException(message)
- @test.idempotent_id('cd8afa5e-3f57-4e43-8185-beb83d3c9015')
+ @decorators.idempotent_id('cd8afa5e-3f57-4e43-8185-beb83d3c9015')
def test_list_nodestates(self):
_, node = self.create_node(self.chassis['uuid'])
_, nodestates = self.client.list_nodestates(node['uuid'])
for key in nodestates:
self.assertEqual(nodestates[key], node[key])
- @test.idempotent_id('fc5b9320-0c98-4e5a-8848-877fe5a0322c')
+ @decorators.idempotent_id('fc5b9320-0c98-4e5a-8848-877fe5a0322c')
def test_set_node_power_state(self):
_, node = self.create_node(self.chassis['uuid'])
states = ["power on", "rebooting", "power off"]
@@ -76,7 +76,7 @@
class TestNodeStatesV1_1(TestNodeStatesMixin, base.BaseBaremetalTest):
- @test.idempotent_id('ccb8fca9-2ba0-480c-a037-34c3bd09dc74')
+ @decorators.idempotent_id('ccb8fca9-2ba0-480c-a037-34c3bd09dc74')
def test_set_node_provision_state(self):
_, node = self.create_node(self.chassis['uuid'])
# Nodes appear in NONE state by default until v1.1
@@ -95,7 +95,7 @@
super(TestNodeStatesV1_2, self).setUp()
self.useFixture(api_microversion_fixture.APIMicroversionFixture('1.2'))
- @test.idempotent_id('9c414984-f3b6-4b3d-81da-93b60d4662fb')
+ @decorators.idempotent_id('9c414984-f3b6-4b3d-81da-93b60d4662fb')
def test_set_node_provision_state(self):
_, node = self.create_node(self.chassis['uuid'])
# Nodes appear in AVAILABLE state by default from v1.2 to v1.10
@@ -114,7 +114,7 @@
super(TestNodeStatesV1_4, self).setUp()
self.useFixture(api_microversion_fixture.APIMicroversionFixture('1.4'))
- @test.idempotent_id('3d606003-05ce-4b5a-964d-bdee382fafe9')
+ @decorators.idempotent_id('3d606003-05ce-4b5a-964d-bdee382fafe9')
def test_set_node_provision_state(self):
_, node = self.create_node(self.chassis['uuid'])
# Nodes appear in AVAILABLE state by default from v1.2 to v1.10
@@ -136,7 +136,7 @@
super(TestNodeStatesV1_6, self).setUp()
self.useFixture(api_microversion_fixture.APIMicroversionFixture('1.6'))
- @test.idempotent_id('6c9ce4a3-713b-4c76-91af-18c48d01f1bb')
+ @decorators.idempotent_id('6c9ce4a3-713b-4c76-91af-18c48d01f1bb')
def test_set_node_provision_state(self):
_, node = self.create_node(self.chassis['uuid'])
# Nodes appear in AVAILABLE state by default from v1.2 to v1.10
@@ -160,7 +160,7 @@
api_microversion_fixture.APIMicroversionFixture('1.11')
)
- @test.idempotent_id('31f53828-b83d-40c7-98e5-843e28a1b6b9')
+ @decorators.idempotent_id('31f53828-b83d-40c7-98e5-843e28a1b6b9')
def test_set_node_provision_state(self):
_, node = self.create_node(self.chassis['uuid'])
# Nodes appear in ENROLL state by default from v1.11
@@ -183,7 +183,7 @@
api_microversion_fixture.APIMicroversionFixture('1.12')
)
- @test.idempotent_id('4427b1ca-8e79-4139-83d6-77dfac03e61e')
+ @decorators.idempotent_id('4427b1ca-8e79-4139-83d6-77dfac03e61e')
def test_set_node_raid_config(self):
_, node = self.create_node(self.chassis['uuid'])
target_raid_config = {'logical_disks': [{'size_gb': 100,
diff --git a/ironic_tempest_plugin/tests/api/admin/test_ports.py b/ironic_tempest_plugin/tests/api/admin/test_ports.py
index 599e41b..ed2e911 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_ports.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_ports.py
@@ -11,8 +11,8 @@
# under the License.
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 ironic_tempest_plugin.tests.api.admin import base
@@ -35,7 +35,7 @@
self.assertIn(key, actual)
self.assertEqual(value, actual[key])
- @test.idempotent_id('83975898-2e50-42ed-b5f0-e510e36a0b56')
+ @decorators.idempotent_id('83975898-2e50-42ed-b5f0-e510e36a0b56')
def test_create_port(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -46,7 +46,7 @@
self._assertExpected(port, body)
- @test.idempotent_id('d1f6b249-4cf6-4fe6-9ed6-a6e84b1bf67b')
+ @decorators.idempotent_id('d1f6b249-4cf6-4fe6-9ed6-a6e84b1bf67b')
def test_create_port_specifying_uuid(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -58,7 +58,7 @@
_, body = self.client.show_port(uuid)
self._assertExpected(port, body)
- @test.idempotent_id('4a02c4b0-6573-42a4-a513-2e36ad485b62')
+ @decorators.idempotent_id('4a02c4b0-6573-42a4-a513-2e36ad485b62')
def test_create_port_with_extra(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -71,7 +71,7 @@
_, body = self.client.show_port(port['uuid'])
self._assertExpected(port, body)
- @test.idempotent_id('1bf257a9-aea3-494e-89c0-63f657ab4fdd')
+ @decorators.idempotent_id('1bf257a9-aea3-494e-89c0-63f657ab4fdd')
def test_delete_port(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -82,24 +82,24 @@
self.assertRaises(lib_exc.NotFound, self.client.show_port,
port['uuid'])
- @test.idempotent_id('9fa77ab5-ce59-4f05-baac-148904ba1597')
+ @decorators.idempotent_id('9fa77ab5-ce59-4f05-baac-148904ba1597')
def test_show_port(self):
_, port = self.client.show_port(self.port['uuid'])
self._assertExpected(self.port, port)
- @test.idempotent_id('7c1114ff-fc3f-47bb-bc2f-68f61620ba8b')
+ @decorators.idempotent_id('7c1114ff-fc3f-47bb-bc2f-68f61620ba8b')
def test_show_port_by_address(self):
_, port = self.client.show_port_by_address(self.port['address'])
self._assertExpected(self.port, port['ports'][0])
- @test.idempotent_id('bd773405-aea5-465d-b576-0ab1780069e5')
+ @decorators.idempotent_id('bd773405-aea5-465d-b576-0ab1780069e5')
def test_show_port_with_links(self):
_, port = self.client.show_port(self.port['uuid'])
self.assertIn('links', port.keys())
self.assertEqual(2, len(port['links']))
self.assertIn(port['uuid'], port['links'][0]['href'])
- @test.idempotent_id('b5e91854-5cd7-4a8e-bb35-3e0a1314606d')
+ @decorators.idempotent_id('b5e91854-5cd7-4a8e-bb35-3e0a1314606d')
def test_list_ports(self):
_, body = self.client.list_ports()
self.assertIn(self.port['uuid'],
@@ -109,14 +109,14 @@
self.validate_self_link('ports', port['uuid'],
port['links'][0]['href'])
- @test.idempotent_id('324a910e-2f80-4258-9087-062b5ae06240')
+ @decorators.idempotent_id('324a910e-2f80-4258-9087-062b5ae06240')
def test_list_with_limit(self):
_, body = self.client.list_ports(limit=3)
next_marker = body['ports'][-1]['uuid']
self.assertIn(next_marker, body['next'])
- @test.idempotent_id('8a94b50f-9895-4a63-a574-7ecff86e5875')
+ @decorators.idempotent_id('8a94b50f-9895-4a63-a574-7ecff86e5875')
def test_list_ports_details(self):
node_id = self.node['uuid']
@@ -141,7 +141,7 @@
self.validate_self_link('ports', port['uuid'],
port['links'][0]['href'])
- @test.idempotent_id('8a03f688-7d75-4ecd-8cbc-e06b8f346738')
+ @decorators.idempotent_id('8a03f688-7d75-4ecd-8cbc-e06b8f346738')
def test_list_ports_details_with_address(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -154,7 +154,7 @@
self.assertEqual(1, len(body['ports']))
self.assertEqual(address, body['ports'][0]['address'])
- @test.idempotent_id('9c26298b-1bcb-47b7-9b9e-8bdd6e3c4aba')
+ @decorators.idempotent_id('9c26298b-1bcb-47b7-9b9e-8bdd6e3c4aba')
def test_update_port_replace(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -186,7 +186,7 @@
self.assertEqual(new_address, body['address'])
self.assertEqual(new_extra, body['extra'])
- @test.idempotent_id('d7e7fece-6ed9-460a-9ebe-9267217e8580')
+ @decorators.idempotent_id('d7e7fece-6ed9-460a-9ebe-9267217e8580')
def test_update_port_remove(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -213,7 +213,7 @@
self.assertEqual(node_id, body['node_uuid'])
self.assertEqual(address, body['address'])
- @test.idempotent_id('241288b3-e98a-400f-a4d7-d1f716146361')
+ @decorators.idempotent_id('241288b3-e98a-400f-a4d7-d1f716146361')
def test_update_port_add(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -234,7 +234,7 @@
_, body = self.client.show_port(port['uuid'])
self.assertEqual(extra, body['extra'])
- @test.idempotent_id('5309e897-0799-4649-a982-0179b04c3876')
+ @decorators.idempotent_id('5309e897-0799-4649-a982-0179b04c3876')
def test_update_port_mixed_ops(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
diff --git a/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py b/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py
index ffac7d3..f9fa746 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py
@@ -11,6 +11,7 @@
# under the License.
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
@@ -27,7 +28,7 @@
_, self.node = self.create_node(self.chassis['uuid'])
@test.attr(type=['negative'])
- @test.idempotent_id('0a6ee1f7-d0d9-4069-8778-37f3aa07303a')
+ @decorators.idempotent_id('0a6ee1f7-d0d9-4069-8778-37f3aa07303a')
def test_create_port_malformed_mac(self):
node_id = self.node['uuid']
address = 'malformed:mac'
@@ -36,7 +37,7 @@
self.create_port, node_id=node_id, address=address)
@test.attr(type=['negative'])
- @test.idempotent_id('30277ee8-0c60-4f1d-b125-0e51c2f43369')
+ @decorators.idempotent_id('30277ee8-0c60-4f1d-b125-0e51c2f43369')
def test_create_port_nonexsistent_node_id(self):
node_id = str(data_utils.rand_uuid())
address = data_utils.rand_mac_address()
@@ -44,25 +45,25 @@
node_id=node_id, address=address)
@test.attr(type=['negative'])
- @test.idempotent_id('029190f6-43e1-40a3-b64a-65173ba653a3')
+ @decorators.idempotent_id('029190f6-43e1-40a3-b64a-65173ba653a3')
def test_show_port_malformed_uuid(self):
self.assertRaises(lib_exc.BadRequest, self.client.show_port,
'malformed:uuid')
@test.attr(type=['negative'])
- @test.idempotent_id('0d00e13d-e2e0-45b1-bcbc-55a6d90ca793')
+ @decorators.idempotent_id('0d00e13d-e2e0-45b1-bcbc-55a6d90ca793')
def test_show_port_nonexistent_uuid(self):
self.assertRaises(lib_exc.NotFound, self.client.show_port,
data_utils.rand_uuid())
@test.attr(type=['negative'])
- @test.idempotent_id('4ad85266-31e9-4942-99ac-751897dc9e23')
+ @decorators.idempotent_id('4ad85266-31e9-4942-99ac-751897dc9e23')
def test_show_port_by_mac_not_allowed(self):
self.assertRaises(lib_exc.BadRequest, self.client.show_port,
data_utils.rand_mac_address())
@test.attr(type=['negative'])
- @test.idempotent_id('89a34380-3c61-4c32-955c-2cd9ce94da21')
+ @decorators.idempotent_id('89a34380-3c61-4c32-955c-2cd9ce94da21')
def test_create_port_duplicated_port_uuid(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -73,7 +74,7 @@
address=address, uuid=uuid)
@test.attr(type=['negative'])
- @test.idempotent_id('65e84917-733c-40ae-ae4b-96a4adff931c')
+ @decorators.idempotent_id('65e84917-733c-40ae-ae4b-96a4adff931c')
def test_create_port_no_mandatory_field_node_id(self):
address = data_utils.rand_mac_address()
@@ -81,7 +82,7 @@
address=address)
@test.attr(type=['negative'])
- @test.idempotent_id('bcea3476-7033-4183-acfe-e56a30809b46')
+ @decorators.idempotent_id('bcea3476-7033-4183-acfe-e56a30809b46')
def test_create_port_no_mandatory_field_mac(self):
node_id = self.node['uuid']
@@ -89,7 +90,7 @@
node_id=node_id, address=None)
@test.attr(type=['negative'])
- @test.idempotent_id('2b51cd18-fb95-458b-9780-e6257787b649')
+ @decorators.idempotent_id('2b51cd18-fb95-458b-9780-e6257787b649')
def test_create_port_malformed_port_uuid(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -99,14 +100,14 @@
node_id=node_id, address=address, uuid=uuid)
@test.attr(type=['negative'])
- @test.idempotent_id('583a6856-6a30-4ac4-889f-14e2adff8105')
+ @decorators.idempotent_id('583a6856-6a30-4ac4-889f-14e2adff8105')
def test_create_port_malformed_node_id(self):
address = data_utils.rand_mac_address()
self.assertRaises(lib_exc.BadRequest, self.create_port,
node_id='malformed:nodeid', address=address)
@test.attr(type=['negative'])
- @test.idempotent_id('e27f8b2e-42c6-4a43-a3cd-accff716bc5c')
+ @decorators.idempotent_id('e27f8b2e-42c6-4a43-a3cd-accff716bc5c')
def test_create_port_duplicated_mac(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -116,7 +117,7 @@
address=address)
@test.attr(type=['negative'])
- @test.idempotent_id('8907082d-ac5e-4be3-b05f-d072ede82020')
+ @decorators.idempotent_id('8907082d-ac5e-4be3-b05f-d072ede82020')
def test_update_port_by_mac_not_allowed(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -133,7 +134,7 @@
patch)
@test.attr(type=['negative'])
- @test.idempotent_id('df1ac70c-db9f-41d9-90f1-78cd6b905718')
+ @decorators.idempotent_id('df1ac70c-db9f-41d9-90f1-78cd6b905718')
def test_update_port_nonexistent(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -152,7 +153,7 @@
self.client.update_port, port_id, patch)
@test.attr(type=['negative'])
- @test.idempotent_id('c701e315-aa52-41ea-817c-65c5ca8ca2a8')
+ @decorators.idempotent_id('c701e315-aa52-41ea-817c-65c5ca8ca2a8')
def test_update_port_malformed_port_uuid(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -166,7 +167,7 @@
'value': new_address}])
@test.attr(type=['negative'])
- @test.idempotent_id('f8f15803-34d6-45dc-b06f-e5e04bf1b38b')
+ @decorators.idempotent_id('f8f15803-34d6-45dc-b06f-e5e04bf1b38b')
def test_update_port_add_nonexistent_property(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -179,7 +180,7 @@
'value': 'value'}])
@test.attr(type=['negative'])
- @test.idempotent_id('898ec904-38b1-4fcb-9584-1187d4263a2a')
+ @decorators.idempotent_id('898ec904-38b1-4fcb-9584-1187d4263a2a')
def test_update_port_replace_node_id_with_malformed(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -194,7 +195,7 @@
self.client.update_port, port_id, patch)
@test.attr(type=['negative'])
- @test.idempotent_id('2949f30f-5f59-43fa-a6d9-4eac578afab4')
+ @decorators.idempotent_id('2949f30f-5f59-43fa-a6d9-4eac578afab4')
def test_update_port_replace_mac_with_duplicated(self):
node_id = self.node['uuid']
address1 = data_utils.rand_mac_address()
@@ -212,7 +213,7 @@
self.client.update_port, port_id, patch)
@test.attr(type=['negative'])
- @test.idempotent_id('97f6e048-6e4f-4eba-a09d-fbbc78b77a77')
+ @decorators.idempotent_id('97f6e048-6e4f-4eba-a09d-fbbc78b77a77')
def test_update_port_replace_node_id_with_nonexistent(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -227,7 +228,7 @@
self.client.update_port, port_id, patch)
@test.attr(type=['negative'])
- @test.idempotent_id('375022c5-9e9e-4b11-9ca4-656729c0c9b2')
+ @decorators.idempotent_id('375022c5-9e9e-4b11-9ca4-656729c0c9b2')
def test_update_port_replace_mac_with_malformed(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -243,7 +244,7 @@
self.client.update_port, port_id, patch)
@test.attr(type=['negative'])
- @test.idempotent_id('5722b853-03fc-4854-8308-2036a1b67d85')
+ @decorators.idempotent_id('5722b853-03fc-4854-8308-2036a1b67d85')
def test_update_port_replace_nonexistent_property(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -257,7 +258,7 @@
self.client.update_port, port_id, patch)
@test.attr(type=['negative'])
- @test.idempotent_id('ae2696ca-930a-4a7f-918f-30ae97c60f56')
+ @decorators.idempotent_id('ae2696ca-930a-4a7f-918f-30ae97c60f56')
def test_update_port_remove_mandatory_field_mac(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -269,7 +270,7 @@
[{'path': '/address', 'op': 'remove'}])
@test.attr(type=['negative'])
- @test.idempotent_id('5392c1f0-2071-4697-9064-ec2d63019018')
+ @decorators.idempotent_id('5392c1f0-2071-4697-9064-ec2d63019018')
def test_update_port_remove_mandatory_field_port_uuid(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -281,7 +282,7 @@
[{'path': '/uuid', 'op': 'remove'}])
@test.attr(type=['negative'])
- @test.idempotent_id('06b50d82-802a-47ef-b079-0a3311cf85a2')
+ @decorators.idempotent_id('06b50d82-802a-47ef-b079-0a3311cf85a2')
def test_update_port_remove_nonexistent_property(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -293,7 +294,7 @@
[{'path': '/nonexistent', 'op': 'remove'}])
@test.attr(type=['negative'])
- @test.idempotent_id('03d42391-2145-4a6c-95bf-63fe55eb64fd')
+ @decorators.idempotent_id('03d42391-2145-4a6c-95bf-63fe55eb64fd')
def test_delete_port_by_mac_not_allowed(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
@@ -302,7 +303,7 @@
self.assertRaises(lib_exc.BadRequest, self.client.delete_port, address)
@test.attr(type=['negative'])
- @test.idempotent_id('0629e002-818e-4763-b25b-ae5e07b1cb23')
+ @decorators.idempotent_id('0629e002-818e-4763-b25b-ae5e07b1cb23')
def test_update_port_mixed_ops_integrity(self):
node_id = self.node['uuid']
address = data_utils.rand_mac_address()
diff --git a/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py b/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
index a17efc6..63108c7 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py
@@ -17,6 +17,7 @@
from tempest.common import waiters
from tempest import config
from tempest.lib.common import api_version_request
+from tempest.lib import decorators
from tempest import test
from ironic_tempest_plugin.tests.scenario import baremetal_manager
@@ -123,7 +124,7 @@
self.assertEqual(n_port['device_id'], self.instance['id'])
self.assertIn(n_port['mac_address'], ir_ports_addresses)
- @test.idempotent_id('549173a5-38ec-42bb-b0e2-c8b9f4a08943')
+ @decorators.idempotent_id('549173a5-38ec-42bb-b0e2-c8b9f4a08943')
@test.services('compute', 'image', 'network')
def test_baremetal_server_ops(self):
self.add_keypair()
diff --git a/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py b/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py
index 45ad79f..497e809 100644
--- a/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py
+++ b/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py
@@ -16,6 +16,7 @@
from ironic_tempest_plugin.tests.scenario import baremetal_manager
from tempest import config
from tempest.lib.common.utils import data_utils
+from tempest.lib import decorators
from tempest.scenario import manager
from tempest import test
@@ -79,7 +80,7 @@
else:
self.assertNotIn(success_substring, output)
- @test.idempotent_id('26e2f145-2a8e-4dc7-8457-7f2eb2c6749d')
+ @decorators.idempotent_id('26e2f145-2a8e-4dc7-8457-7f2eb2c6749d')
@test.services('compute', 'image', 'network')
def test_baremetal_multitenancy(self):