public void Configuration_Throws_If_Api_Key_Is_Missing() { _configuration.ApiKey = string.Empty; var createWithMissingApiKey = () => _validator.ValidateAndThrow(_configuration); createWithMissingApiKey.Should().Throw <ValidationException>(); }
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); }