示例#1
0
        public async Task <IActionResult> Logs(string clusterId)
        {
            if (DogfeedService.IsProtectedResourceName(clusterId))
            {
                return(Unauthorized("Can't get logs for reserved instances."));
            }

            var instance = await this.mediator.Send(new GetInstanceByNameQuery(clusterId));

            if (instance == null)
            {
                return(NotFound("Instance not found."));
            }

            var logResponses = await this.mediator.Send(new GetContainerLogsQuery(clusterId) {
                LinesToReturnPerContainer = 8
            });

            var responses = this.mapper
                            .ProjectTo <LogsResponse>(
                logResponses.AsQueryable())
                            .ToArray();

            return(Ok(responses));
        }
示例#2
0
        public async Task IsProtectedResourceName_JustProtectedNamePrefixGiven_ReturnsTrue()
        {
            //Arrange
            var name = "main-";

            //Act
            var result = DogfeedService.IsProtectedResourceName(name);

            //Assert
            Assert.IsTrue(result);
        }
示例#3
0
        public async Task IsProtectedResourceName_ProtectedNameWithTrailingWhitespace_ReturnsTrue()
        {
            //Arrange
            var name = "main- ";

            //Act
            var result = DogfeedService.IsProtectedResourceName(name);

            //Assert
            Assert.IsTrue(result);
        }
示例#4
0
        public async Task <IActionResult> ConnectionDetails(string clusterId)
        {
            if (DogfeedService.IsProtectedResourceName(clusterId))
            {
                return(Unauthorized("Can't get connection details for reserved instances."));
            }

            var connectionDetails = await this.mediator.Send(new GetConnectionDetailsQuery(clusterId));

            if (connectionDetails == null)
            {
                return(NotFound("Instance not found."));
            }

            return(Ok(mapper.Map <ConnectionDetailsResponse>(connectionDetails)));
        }