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);
        }
Beispiel #2
0
        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);
        }