public DiscogsApiClientConfigurationTests() { var fixture = new Fixture(); _validator = new DiscogsApiClientConfigurationValidator(); _configuration = fixture.Create <DiscogsApiClientConfiguration>(); }
public static IServiceCollection AddDiscogsProvider(this IServiceCollection services, IConfiguration configuration) { var discogsSettings = configuration.GetSection("DiscogsSettings").Get <DiscogsApiClientConfiguration>(); var discogsSettingsValidator = new DiscogsApiClientConfigurationValidator(); discogsSettingsValidator.ValidateAndThrow(discogsSettings); services.AddSingleton <IDiscogsApiClientConfiguration>(_ => discogsSettings); var restClientOptions = new RestClientOptions(discogsSettings.BaseUrl); var restClient = new RestClient(restClientOptions); services.AddScoped <IDiscogsApiClient, DiscogsApiClient>(_ => new DiscogsApiClient(discogsSettings, restClient)); services.AddScoped <IDiscogsProvider, DiscogsProvider>(); return(services); }