public async void CheckJob_ReturnsSuccess() { _jobQueueService.Setup(s => s.GetFirstUnassignedQueuedJob(It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync((string engineName, CancellationToken cancellationToken) => new JobQueue { CatapultEngineId = engineName }); var httpContext = new DefaultHttpContext() { User = new ClaimsPrincipal(new[] { new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "Engine01"), new Claim(ClaimTypes.Role, UserRole.Engine) }) }), }; var controller = new JobQueueController(_jobQueueService.Object, _catapultEngineService.Object, _mapper, _logger.Object) { ControllerContext = new ControllerContext { HttpContext = httpContext } }; var result = await controller.CheckJob(); Assert.IsType <OkObjectResult>(result); _catapultEngineService.Verify(s => s.UpdateLastSeen("Engine01", null, It.IsAny <CancellationToken>()), Times.Once); }
public async void CheckJob_UnregisteredEngine_ReturnsUnauthorized() { _catapultEngineService.Setup(s => s.GetCatapultEngine(It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync((CatapultEngine)null); var httpContext = new DefaultHttpContext() { User = new ClaimsPrincipal(new[] { new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "Engine01"), new Claim(ClaimTypes.Role, UserRole.Engine) }) }), }; var controller = new JobQueueController(_jobQueueService.Object, _catapultEngineService.Object, _mapper, _logger.Object) { ControllerContext = new ControllerContext { HttpContext = httpContext } }; var result = await controller.CheckJob(); Assert.IsType <UnauthorizedResult>(result); }