public ComicVineApiClientConfigurationTests() { var fixture = new Fixture(); _validator = new ComicVineApiClientConfigurationValidator(); _configuration = fixture.Create <ComicVineApiClientConfiguration>(); }
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); }