def test_delete_task_that_is_pending(self, mock_get_executing_task_id, mock__cancel_task_from_queue): task_manager = TaskManager() task_id = 'test_task_id' mock_get_executing_task_id.return_value = 'test_task_id_123' task_manager.delete_task(task_id) mock__cancel_task_from_queue.assert_called_once()
def test_delete_task_that_is_executing(self, mock_get_executing_task_id, mock__abort_executing_task): task_manager = TaskManager() task_id = 'test_task_id' mock_get_executing_task_id.return_value = 'test_task_id' task_manager.delete_task(task_id) mock__abort_executing_task.assert_called_once()
def test_get_all_tasks(self, mock_get_all_tasks, mock_executing_task, mock_get_executing_task_status): task = { 'emulation_task_id': datetime.datetime.now().strftime('%Y%m%d%Y%H%M%S'), 'emulation_time': 11111, 'dasl_filename': 'dsal1.yaml', 'data_setting': '', 'report_name': 'report1.json' } executing_task = { 'emulation_task_id': datetime.datetime.now().strftime('%Y%m%d%Y%H%M%S'), 'emulation_time': 10, 'dasl_filename': 'dsal1.yaml', 'data_setting': '', 'report_name': 'report1.json' } mock_get_all_tasks.return_value = [task] mock_executing_task.return_value = executing_task mock_get_executing_task_status.return_value = EmulationStatus.INIT task_manager = TaskManager() executing_task.update({'emulation_status': EmulationStatus.INIT}) correct = [executing_task, task] self.assertEqual(task_manager.get_all_tasks(), correct)
def test_get_task_size(self): task_manager = TaskManager() task = { 'emulationTaskId': datetime.datetime.now().strftime('%Y%m%d%Y%H%M%S'), 'emulationTime': 10, 'daslFilename': 'dsal1.yaml', 'dataSetting': '', 'reportName': 'report1.json' } task_manager.task_queue.queue.put(task) self.assertEqual(task_manager.get_task_size(), 1)
def test_add_task_into_queue(self): task_manager = TaskManager() task = { 'emulationTaskId': datetime.datetime.now().strftime('%Y%m%d%Y%H%M%S'), 'emulationTime': 10, 'daslFilename': 'dsal1.yaml', 'dataSetting': '', 'reportName': 'report1.json' } new_task = task_manager.add_task_into_queue(task) self.assertEqual(new_task, task)
def test__exectue_task(self, mock_wait_task, mock__manager_is_running, mock_get_pending_task_size, mock_get_first_task, mock_execute_task, mock_sleep): mock_wait_task.side_effect = None mock__manager_is_running.side_effect = [True, False] mock_get_pending_task_size.return_value = 1 mock_get_first_task.side_effect = None mock_execute_task.side_effect = None mock_sleep.side_effect = None task_manager = TaskManager() task_manager._exectue_task() mock_get_first_task.assert_called_once() mock_execute_task.assert_called_once()
def test_get_available_device(self, mock_time_sleep, mock_redic_StrictRedis): # Remove sleep function mock_time_sleep.return_value = MagicMock() def scan_iter(ip): return ['ip:10.52.52.106', 'ip:10.52.52.107'] mock_redic_StrictRedis.return_value.scan_iter.side_effect = scan_iter current_time = datetime.datetime.now() current_time_plus_one_second = current_time + datetime.timedelta( seconds=1) mock_redic_StrictRedis.return_value.time.return_value = [ time.mktime(current_time.timetuple()) ] mock_redic_StrictRedis.return_value.hget.return_value = time.mktime( current_time_plus_one_second.timetuple()) task_manager = TaskManager() expect = task_manager.get_available_device() correct = ['ip:10.52.52.106', 'ip:10.52.52.107'] self.assertEqual(expect, correct)
from rest_framework import generics, viewsets from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from .models import Dsal, Report from .serializers import ( UserSerializer, DsalSerializer, EmulationSerializer, ReportSerializer ) from api.emulation.task_manager import TaskManager from .dsal import convert_dsal_to_datasetting task_manager = TaskManager() class UserViewSet(generics.ListAPIView): """ API endpoint that allows users to be viewed or edited. """ queryset = User.objects.all().order_by('-date_joined') serializer_class = UserSerializer # permission_classes = (IsAuthenticated,) class DsalList(generics.ListCreateAPIView): queryset = Dsal.objects.all() serializer_class = DsalSerializer permission_classes = (IsAuthenticated,)
def test_get_executing_task_status(self, mock_get_executing_task_status): task_manager = TaskManager() task_manager.get_executing_task_status() mock_get_executing_task_status.assert_called_once()
def test_get_executing_task(self, mock_executing_task): task_manager = TaskManager() task_manager.get_executing_task() mock_executing_task.assert_called_once()
def test__cancel_task_from_queue(self, mock_cancel_pending_task): task_manager = TaskManager() task_manager._cancel_task_from_queue(task_id='123') mock_cancel_pending_task.assert_called_once()