summaryrefslogtreecommitdiff
path: root/ironicclient/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ironicclient/tests')
-rw-r--r--ironicclient/tests/unit/common/test_utils.py13
-rw-r--r--ironicclient/tests/unit/v1/test_node.py17
2 files changed, 30 insertions, 0 deletions
diff --git a/ironicclient/tests/unit/common/test_utils.py b/ironicclient/tests/unit/common/test_utils.py
index a3c9972..c0ab067 100644
--- a/ironicclient/tests/unit/common/test_utils.py
+++ b/ironicclient/tests/unit/common/test_utils.py
@@ -413,3 +413,16 @@ class HandleJsonFileTest(test_utils.BaseTestCase):
"from file",
utils.handle_json_or_file_arg, f.name)
mock_open.assert_called_once_with(f.name, 'r')
+
+
+class GetJsonDataTest(test_utils.BaseTestCase):
+
+ def test_success(self):
+ result = utils.get_json_data(b'\n{"answer": 42}')
+ self.assertEqual({"answer": 42}, result)
+
+ def test_definitely_not_json(self):
+ self.assertIsNone(utils.get_json_data(b'0x010x020x03'))
+
+ def test_could_be_json(self):
+ self.assertIsNone(utils.get_json_data(b'{"hahaha, just kidding\x00'))
diff --git a/ironicclient/tests/unit/v1/test_node.py b/ironicclient/tests/unit/v1/test_node.py
index 83808d5..7cdde36 100644
--- a/ironicclient/tests/unit/v1/test_node.py
+++ b/ironicclient/tests/unit/v1/test_node.py
@@ -1599,6 +1599,23 @@ class NodeManagerTest(testtools.TestCase):
]
self.assertEqual(expect, self.api.calls)
+ def test_node_set_provision_state_with_configdrive_json_file(self):
+ target_state = 'active'
+ file_content = b'{"user_data": "foo bar"}'
+
+ with tempfile.NamedTemporaryFile() as f:
+ f.write(file_content)
+ f.flush()
+ self.mgr.set_provision_state(NODE1['uuid'], target_state,
+ configdrive=f.name)
+
+ body = {'target': target_state,
+ 'configdrive': {"user_data": "foo bar"}}
+ expect = [
+ ('PUT', '/v1/nodes/%s/states/provision' % NODE1['uuid'], {}, body),
+ ]
+ self.assertEqual(expect, self.api.calls)
+
@mock.patch.object(common_utils, 'make_configdrive', autospec=True)
def test_node_set_provision_state_with_configdrive_dir(self,
mock_configdrive):