diff options
Diffstat (limited to 'ironic_python_agent/tests/unit/test_agent.py')
| -rw-r--r-- | ironic_python_agent/tests/unit/test_agent.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/ironic_python_agent/tests/unit/test_agent.py b/ironic_python_agent/tests/unit/test_agent.py index b51e6851..cd3009ff 100644 --- a/ironic_python_agent/tests/unit/test_agent.py +++ b/ironic_python_agent/tests/unit/test_agent.py @@ -232,6 +232,37 @@ class TestBaseAgent(test_base.BaseTestCase): self.agent.heartbeater.start.assert_called_once_with() + @mock.patch.object(time, 'sleep', autospec=True) + @mock.patch('wsgiref.simple_server.make_server', autospec=True) + @mock.patch.object(hardware.HardwareManager, 'list_hardware_info') + def test_run_with_sleep(self, mocked_list_hardware, wsgi_server_cls, + mocked_sleep): + CONF.set_override('inspection_callback_url', '', enforce_type=True) + wsgi_server = wsgi_server_cls.return_value + wsgi_server.start.side_effect = KeyboardInterrupt() + + self.agent.hardware_initialization_delay = 10 + self.agent.heartbeater = mock.Mock() + self.agent.api_client.lookup_node = mock.Mock() + self.agent.api_client.lookup_node.return_value = { + 'node': { + 'uuid': 'deadbeef-dabb-ad00-b105-f00d00bab10c' + }, + 'heartbeat_timeout': 300 + } + self.agent.run() + + listen_addr = ('192.0.2.1', 9999) + wsgi_server_cls.assert_called_once_with( + listen_addr[0], + listen_addr[1], + self.agent.api, + server_class=simple_server.WSGIServer) + wsgi_server.serve_forever.assert_called_once_with() + + self.agent.heartbeater.start.assert_called_once_with() + mocked_sleep.assert_called_once_with(10) + def test_async_command_success(self): result = base.AsyncCommandResult('foo_command', {'fail': False}, foo_execute) |
