Example #1
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddOptions();
            var appConfiguration = new ConfigurationBuilder()
                                   .AddEnvironmentVariables()
                                   .Build();
            var pokemonConfig = new BaseConfiguration();
            var shakespeareTransformProvider = new ShakespeareTextTransformProvider();
            var pokemonProvider = new PokemonProvider();

            pokemonConfig.SetEnvironmentConfiguration(appConfiguration);

            services.AddSingleton(pokemonConfig);
            services.AddSingleton <IPokemonProvider>(pokemonProvider);
            services.AddSingleton <ITextTransformProvider>(shakespeareTransformProvider);

            services.AddLogging(
                builder =>
            {
                builder
                .AddFilter("Microsoft", LogLevel.Information)
                .AddFilter("System", LogLevel.Information)
                .AddConsole();
            });
        }
Example #2
0
        public async void Should_return_NOT_FOUND_for_non_ASCII_invalid_name(string name)
        {
            var logger            = PokemonControllerTests.GetMockLogger();
            var config            = Options.Create(new BaseConfiguration());
            var transformProvider = new ShakespeareTextTransformProvider();
            var pokemonProvider   = new PokemonProvider();
            var pokemonController = new PokemonController(logger, config, pokemonProvider, transformProvider);

            ContentResult response = (await pokemonController.Get(name)) as ContentResult;

            Assert.NotNull(response);
            Assert.Equal(response.StatusCode, (int)HttpStatusCode.NotFound);
        }
Example #3
0
        public async void Should_handle_Shakespeare_endpoint_not_available(string name, string shakespeareEndpoint)
        {
            var logger = PokemonControllerTests.GetMockLogger();
            var config = Options.Create(new BaseConfiguration());

            config.Value.TextTransformConfiguration.EndpointBaseUrl = shakespeareEndpoint;
            var transformProvider = new ShakespeareTextTransformProvider();
            var pokemonProvider   = new PokemonProvider();
            var pokemonController = new PokemonController(logger, config, pokemonProvider, transformProvider);

            ContentResult response = (await pokemonController.Get(name)) as ContentResult;

            Assert.NotNull(response);
            Assert.Equal(response.StatusCode, (int)HttpStatusCode.RequestTimeout);
        }
Example #4
0
        public async void Should_return_a_description_and_the_correct_name(string name)
        {
            var logger            = PokemonControllerTests.GetMockLogger();
            var config            = Options.Create(new BaseConfiguration());
            var transformProvider = new ShakespeareTextTransformProvider();
            var pokemonProvider   = new PokemonProvider();
            var pokemonController = new PokemonController(logger, config, pokemonProvider, transformProvider);
            var response          = (await pokemonController.Get(name)) as OkObjectResult;

            Assert.NotNull(response);
            Assert.Equal(response.StatusCode, (int)HttpStatusCode.OK);

            PokemonResponseDTO content = response.Value as PokemonResponseDTO;

            Assert.Equal(name, content.Name);
        }