import unittest
from unittest.mock import patch, MagicMock
from taskd.api.taskd_manager_api import init_taskd_manager, start_taskd_manager
from taskd.python.framework.manager.manager import Manager
class TestTaskdManagerAPI(unittest.TestCase):
@patch('taskd.api.taskd_manager_api.Manager')
def test_init_taskd_manager_success(self, mock_manager):
mock_manager_instance = MagicMock()
mock_manager_instance.init_taskd_manager.return_value = True
mock_manager.return_value = mock_manager_instance
config = {}
result = init_taskd_manager(config)
mock_manager.assert_called_once()
mock_manager_instance.init_taskd_manager.assert_called_once_with(config)
self.assertEqual(result, True)
@patch('taskd.api.taskd_manager_api.Manager')
def test_init_taskd_manager_failure(self, mock_manager):
mock_manager_instance = MagicMock()
mock_manager_instance.init_taskd_manager.return_value = False
mock_manager.return_value = mock_manager_instance
config = {}
result = init_taskd_manager(config)
mock_manager.assert_called_once()
mock_manager_instance.init_taskd_manager.assert_called_once_with(config)
self.assertEqual(result, False)
@patch('taskd.api.taskd_manager_api.taskd_manager')
def test_start_taskd_manager_success(self, mock_taskd_manager):
mock_taskd_manager.start_taskd_manager.return_value = True
result = start_taskd_manager()
mock_taskd_manager.start_taskd_manager.assert_called_once()
self.assertEqual(result, True)
@patch('taskd.api.taskd_manager_api.taskd_manager', None)
def test_start_taskd_manager_uninitialized(self):
result = start_taskd_manager()
self.assertEqual(result, False)
if __name__ == '__main__':
unittest.main()