summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-12-06 23:58:53 +0000
committerGerrit Code Review <review@openstack.org>2020-12-06 23:58:53 +0000
commit42bf964c8cf747a0b6b82243cbf15a3630aa3a6e (patch)
tree20a90909c32298015fac2a40571b9435614e552d
parent2c3b2ffd489d466b665379c480336440cf3d8df5 (diff)
parent32ab90b3b9727ddf8920feb56e01551065cb9581 (diff)
downloadironic-42bf964c8cf747a0b6b82243cbf15a3630aa3a6e.tar.gz
Merge "Test patching booleans with string values"
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_node.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/ironic/tests/unit/api/controllers/v1/test_node.py b/ironic/tests/unit/api/controllers/v1/test_node.py
index 4f863a3a1..d450d78ee 100644
--- a/ironic/tests/unit/api/controllers/v1/test_node.py
+++ b/ironic/tests/unit/api/controllers/v1/test_node.py
@@ -3384,6 +3384,38 @@ class TestPatch(test_api_base.BaseApiTest):
self.assertEqual('application/json', response.content_type)
self.assertEqual(http_client.OK, response.status_code)
+ def test_update_protected_string(self):
+ node = obj_utils.create_test_node(self.context,
+ uuid=uuidutils.generate_uuid(),
+ provision_state='active')
+ self.mock_update_node.return_value = node
+ headers = {api_base.Version.string: '1.48'}
+ # Patch with valid boolean string
+ response = self.patch_json('/nodes/%s' % node.uuid,
+ [{'path': '/protected',
+ 'value': "True",
+ 'op': 'replace'}],
+ headers=headers)
+ self.assertEqual('application/json', response.content_type)
+ self.assertEqual(http_client.OK, response.status_code)
+
+ def test_update_protected_string_invalid(self):
+ node = obj_utils.create_test_node(self.context,
+ uuid=uuidutils.generate_uuid(),
+ provision_state='active')
+ self.mock_update_node.return_value = node
+ headers = {api_base.Version.string: '1.48'}
+ # Patch with invalid boolean string
+ response = self.patch_json('/nodes/%s' % node.uuid,
+ [{'path': '/protected',
+ 'value': "YeahNahGood",
+ 'op': 'replace'}],
+ headers=headers,
+ expect_errors=True)
+ self.assertEqual(http_client.BAD_REQUEST, response.status_code)
+ self.assertIn("Invalid protected: Unrecognized value 'YeahNahGood'",
+ response.json['error_message'])
+
def test_update_protected_remove(self):
node = obj_utils.create_test_node(self.context,
uuid=uuidutils.generate_uuid(),