public async Task CreateTaskAsync_ReturnsTesCreateTaskResponse() { // Arrange var mockRepo = new Mock <IRepository <TesTask> >(); var tesTask = new TesTask() { Executors = new List <TesExecutor> { new TesExecutor { Image = "ubuntu" } } }; var controller = new TaskServiceApiController(mockRepo.Object, new NullLogger <TaskServiceApiController>()); // Act var result = await controller.CreateTaskAsync(tesTask) as ObjectResult; // Assert Assert.IsNotNull(result); mockRepo.Verify(x => x.CreateItemAsync(tesTask)); Assert.AreEqual(32, tesTask.Id.Length); Assert.AreEqual(TesState.QUEUEDEnum, tesTask.State); Assert.AreEqual(200, result.StatusCode); }
public async Task CreateTaskAsync_ReturnsBadRequest_ForMissingDockerImage() { // Arrange var mockRepo = new Mock <IRepository <TesTask> >(); var tesTask = new TesTask(); var controller = new TaskServiceApiController(mockRepo.Object, new NullLogger <TaskServiceApiController>()); // Act var result = await controller.CreateTaskAsync(tesTask) as ObjectResult; // Assert Assert.IsNotNull(result); Assert.AreEqual(400, result.StatusCode); }
public async Task CreateTaskAsync_CromwellJobIdIsUsedAsTaskIdPrefix() { var mockRepo = new Mock <IRepository <TesTask> >(); var cromwellJobId = Guid.NewGuid().ToString(); var taskDescription = $"{cromwellJobId}:BackendJobDescriptorKey_CommandCallNode_wf_hello.hello:-1:1"; var tesTask = new TesTask() { Description = taskDescription, Executors = new List <TesExecutor> { new TesExecutor { Image = "ubuntu" } } }; var controller = new TaskServiceApiController(mockRepo.Object, new NullLogger <TaskServiceApiController>()); await controller.CreateTaskAsync(tesTask); Assert.AreEqual(41, tesTask.Id.Length); // First eight characters of Cromwell's job id + underscore + GUID without dashes Assert.IsTrue(tesTask.Id.StartsWith(cromwellJobId.Substring(0, 8) + "_")); }
public async Task CreateTaskAsync_ReturnsBadRequest_ForInvalidId() { // Arrange var mockRepo = new Mock <IRepository <TesTask> >(); var tesTask = new TesTask { Id = "ClientProvidedId", Executors = new List <TesExecutor> { new TesExecutor { Image = "ubuntu" } } }; var controller = new TaskServiceApiController(mockRepo.Object, new NullLogger <TaskServiceApiController>()); // Act var result = await controller.CreateTaskAsync(tesTask) as BadRequestObjectResult; // Assert Assert.IsNotNull(result); Assert.AreEqual(400, result.StatusCode); }