Esempio n. 1
0
        public void Configuration_Throws_If_Api_Key_Is_Missing()
        {
            _configuration.ApiKey = string.Empty;

            var createWithMissingApiKey = () => _validator.ValidateAndThrow(_configuration);

            createWithMissingApiKey.Should().Throw <ValidationException>();
        }
Esempio n. 2
0
        public static IServiceCollection AddComicVineProvider(this IServiceCollection services, IConfiguration configuration)
        {
            var comicVineSettings          = configuration.GetSection("ComicVineSettings").Get <ComicVineApiClientConfiguration>();
            var comicVineSettingsValidator = new ComicVineApiClientConfigurationValidator();

            comicVineSettingsValidator.ValidateAndThrow(comicVineSettings);

            services.AddSingleton <IComicVineApiClientConfiguration>(comicVineSettings);

            var restClientOptions = new RestClientOptions(comicVineSettings.BaseUrl);
            var restClient        = new RestClient(restClientOptions);

            services.AddScoped <IComicVineApiClient, ComicVineApiClient>(_ => new ComicVineApiClient(comicVineSettings, restClient));
            services.AddScoped <IComicVineProvider, ComicVineProvider>();

            return(services);
        }