Пример #1
0
        /// <summary>
        /// Handles a list tasks request
        /// </summary>
        internal async Task HandleListTasksRequest(
            ListTasksParams listTasksParams,
            RequestContext <ListTasksResponse> context)
        {
            Logger.Write(TraceEventType.Verbose, "HandleListTasksRequest");

            Func <Task <ListTasksResponse> > getAllTasks = () =>
            {
                Validate.IsNotNull(nameof(listTasksParams), listTasksParams);
                return(Task.Factory.StartNew(() =>
                {
                    ListTasksResponse response = new ListTasksResponse();
                    response.Tasks = TaskManager.Tasks.Select(x => x.ToTaskInfo()).ToArray();

                    return response;
                }));
            };

            await HandleRequestAsync(getAllTasks, context, "HandleListTasksRequest");
        }
        public async Task TaskListTaskShouldReturnAllTasks()
        {
            serviceHostMock.AddEventHandling(TaskCreatedNotification.Type, null);
            serviceHostMock.AddEventHandling(TaskStatusChangedNotification.Type, null);
            DatabaseOperationStub operation = new DatabaseOperationStub();
            SqlTask sqlTask = service.TaskManager.CreateTask(taskMetaData, operation.FunctionToRun);

            sqlTask.Run();
            ListTasksParams listParams = new ListTasksParams
            {
            };

            await RunAndVerify <ListTasksResponse>(
                test : (requestContext) => service.HandleListTasksRequest(listParams, requestContext),
                verify : ((result) =>
            {
                Assert.True(result.Tasks.Any(x => x.TaskId == sqlTask.TaskId.ToString()));
            }));

            operation.Stop();
        }