summaryrefslogtreecommitdiff
path: root/ironic/tests/unit/api/controllers/v1/test_ramdisk.py
diff options
context:
space:
mode:
Diffstat (limited to 'ironic/tests/unit/api/controllers/v1/test_ramdisk.py')
-rw-r--r--ironic/tests/unit/api/controllers/v1/test_ramdisk.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/ironic/tests/unit/api/controllers/v1/test_ramdisk.py b/ironic/tests/unit/api/controllers/v1/test_ramdisk.py
index d49d7dbed..0c9e77419 100644
--- a/ironic/tests/unit/api/controllers/v1/test_ramdisk.py
+++ b/ironic/tests/unit/api/controllers/v1/test_ramdisk.py
@@ -185,5 +185,30 @@ class TestHeartbeat(test_api_base.BaseApiTest):
self.assertEqual(http_client.ACCEPTED, response.status_int)
self.assertEqual(b'', response.body)
mock_heartbeat.assert_called_once_with(mock.ANY, mock.ANY,
- node.uuid, 'url',
+ node.uuid, 'url', None,
topic='test-topic')
+
+ @mock.patch.object(rpcapi.ConductorAPI, 'heartbeat', autospec=True)
+ def test_ok_agent_version(self, mock_heartbeat):
+ node = obj_utils.create_test_node(self.context)
+ response = self.post_json(
+ '/heartbeat/%s' % node.uuid,
+ {'callback_url': 'url',
+ 'agent_version': '1.4.1'},
+ headers={api_base.Version.string: str(api_v1.max_version())})
+ self.assertEqual(http_client.ACCEPTED, response.status_int)
+ self.assertEqual(b'', response.body)
+ mock_heartbeat.assert_called_once_with(mock.ANY, mock.ANY,
+ node.uuid, 'url', '1.4.1',
+ topic='test-topic')
+
+ @mock.patch.object(rpcapi.ConductorAPI, 'heartbeat', autospec=True)
+ def test_old_API_agent_version_error(self, mock_heartbeat):
+ node = obj_utils.create_test_node(self.context)
+ response = self.post_json(
+ '/heartbeat/%s' % node.uuid,
+ {'callback_url': 'url',
+ 'agent_version': '1.4.1'},
+ headers={api_base.Version.string: '1.35'},
+ expect_errors=True)
+ self.assertEqual(http_client.BAD_REQUEST, response.status_int)