Merge "Testing bad microversions on v1/nodes/{uuid}/firmware"
diff --git a/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py b/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py
index 8461ebf..182cacc 100644
--- a/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py
+++ b/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py
@@ -1032,3 +1032,11 @@
extra_headers, headers = self._get_headers(api_version)
return self._list_request('shards', headers=headers,
extra_headers=extra_headers)
+
+ @base.handle_errors
+ def list_node_firmware(self, node_uuid):
+ """List firmware for a node.
+
+ :param node_uuid: The unique identifier of the node.
+ """
+ return self._list_request('/nodes/%s/firmware' % node_uuid)
diff --git a/ironic_tempest_plugin/tests/api/admin/test_microversion_enforcement.py b/ironic_tempest_plugin/tests/api/admin/test_microversion_enforcement.py
index caf520f..ebd7451 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_microversion_enforcement.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_microversion_enforcement.py
@@ -137,3 +137,22 @@
"allocation_ident": allocation['uuid']
}
)
+
+
+class TestNodeFirmwarenMicroversions(
+ BaseTestMicroversionEnforcement,
+ MicroversionTestMixin):
+
+ min_microversion = "1.86"
+
+ def setUp(self):
+ super(TestNodeFirmwarenMicroversions, self).setUp()
+ _, self.chassis = self.create_chassis()
+ _, self.node = self.create_node(self.chassis['uuid'])
+
+ @decorators.idempotent_id('f50e9098-1870-46b1-b05c-660d0f8c534d')
+ def test_list_node_firmware(self):
+ self._microversion_test(
+ BaremetalClient.list_node_firmware, "1.86",
+ lib_exc.NotFound, {"node_uuid": self.node['uuid']}
+ )