示例#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 Dogfeed_DogfeedPrefixedEnvironmentVariable_MovesEnvironmentVariableIntoCurrentEnvironmentVariables()
        {
            //Arrange
            Environment.SetEnvironmentVariable("DOGFEED_FOO", "some-value");

            var configurationBuilder = new ConfigurationBuilder();

            //Act
            DogfeedService.MoveDogfeedPrefixedEnvironmentVariableIntoConfiguration(configurationBuilder);

            //Assert
            var configuration = configurationBuilder.Build();
            var value         = configuration["FOO"];

            Assert.AreEqual("some-value", value);
        }
示例#5
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)));
        }
示例#6
0
        private static IConfigurationRoot BuildConfiguration(string[] args)
        {
            var configurationBuilder = new ConfigurationBuilder();

            if (DogfeedService.IsInDogfeedMode)
            {
                DogfeedService.MoveDogfeedPrefixedEnvironmentVariableIntoConfiguration(configurationBuilder);
            }

            configurationBuilder.AddJsonFile("appsettings.json");
            configurationBuilder.AddEnvironmentVariables();
            configurationBuilder.AddCommandLine(args);

            if (Debugger.IsAttached)
            {
                configurationBuilder.AddJsonFile("appsettings.Development.json");
                configurationBuilder.AddUserSecrets("be404feb-b81c-425a-b355-029dbd854c3d");
            }

            var configuration = configurationBuilder.Build();

            return(configuration);
        }