tests for node description

Adds API tests for node description to verify the its availability,
set and unset.

Change-Id: Id3f129a3b7c32d7d95cdf3bb1d2f5d309da21813
Story: 2003089
Task: 23178
This commit is contained in:
Kaifeng Wang 2019-02-18 16:11:50 +08:00
parent 06ff9cb3d1
commit c34f9b7372
2 changed files with 40 additions and 2 deletions

View File

@ -248,7 +248,7 @@ class BaremetalClient(base.BaremetalClient):
"""
node = {}
for field in ('resource_class', 'name'):
for field in ('resource_class', 'name', 'description'):
if kwargs.get(field):
node[field] = kwargs[field]
@ -475,7 +475,8 @@ class BaremetalClient(base.BaremetalClient):
'protected_reason',
# TODO(dtantsur): maintenance is set differently
# in newer API versions.
'maintenance')
'maintenance',
'description')
if not patch:
patch = self._make_patch(node_attributes, **kwargs)

View File

@ -175,6 +175,11 @@ class TestNodes(base.BaseBaremetalTest):
_, loaded_node = self.client.show_node(self.node['uuid'])
self.assertNotIn('conductor', loaded_node)
@decorators.idempotent_id('5e7f4c54-8216-42d3-83cc-7bd776ffd16f')
def test_description_hidden(self):
_, loaded_node = self.client.show_node(self.node['uuid'])
self.assertNotIn('description', loaded_node)
class TestNodesResourceClass(base.BaseBaremetalTest):
@ -975,3 +980,35 @@ class TestNodeConductor(base.BaseBaremetalTest):
_, nodes = self.client.list_nodes(conductor=hostname)
self.assertIn(self.node['uuid'],
[n['uuid'] for n in nodes['nodes']])
class TestNodeDescription(base.BaseBaremetalTest):
"""Tests for the description field."""
min_microversion = '1.51'
def setUp(self):
super(TestNodeDescription, self).setUp()
_, self.chassis = self.create_chassis()
_, self.node = self.create_node(self.chassis['uuid'])
@decorators.idempotent_id('66d0da49-e5ac-4f49-b065-9d2207d8a3af')
def test_description_exposed(self):
_, loaded_node = self.client.show_node(self.node['uuid'])
self.assertIn('description', loaded_node)
@decorators.idempotent_id('85b4a4b5-37e5-4b60-8dc7-f5a26dfa78a3')
def test_node_description_set_unset(self):
self.client.update_node(self.node['uuid'], description='meow')
_, self.node = self.client.show_node(self.node['uuid'])
self.assertEqual('meow', self.node['description'])
self.client.update_node(self.node['uuid'], description=None)
_, self.node = self.client.show_node(self.node['uuid'])
self.assertIsNone(self.node['description'])
@decorators.idempotent_id('3d649bb3-a58b-4b9e-8dfa-41ab634b1153')
def test_create_node_with_description(self):
_, body = self.create_node(self.chassis['uuid'], description='meow')
self.assertEqual('meow', body['description'])