public static IServiceCollection ConfigureServices(this IServiceCollection serviceCollection, IConfiguration configuration) { serviceCollection.AddLogging(configure => configure.AddConsole()); serviceCollection.AddTransient <NativeProxyApplication>(); var appConfig = new CloudProxyApplicationConfiguration(); configuration.Bind(appConfig); serviceCollection.AddSingleton <IAppConfiguration>(appConfig); var queueConfig = RabbitMqDefaultConfigLoader.SetDefaults(new RabbitMqQueueConfiguration()); configuration.Bind(queueConfig); serviceCollection.AddSingleton <IQueueConfiguration>(queueConfig); var storeConfig = AdaptationStoreConfigLoader.SetDefaults(new AdaptationStoreConfiguration()); configuration.Bind(storeConfig); serviceCollection.AddSingleton <IStoreConfiguration>(storeConfig); var processingConfig = IcapProcessingConfigLoader.SetDefaults(new IcapProcessingConfiguration()); configuration.Bind(processingConfig); serviceCollection.AddSingleton <IProcessingConfiguration>(processingConfig); serviceCollection.AddTransient(typeof(IAdaptationServiceClient <>), typeof(RabbitMqClient <>)); serviceCollection.AddTransient <IResponseProcessor, AdaptationOutcomeProcessor>(); return(serviceCollection); }
public void CheckConfiguration_valid_configuration() { // Arrange var config = new CloudProxyApplicationConfiguration { OutputFilepath = TestOutputPath, InputFilepath = TestInputPath }; // Assert Assert.DoesNotThrow(delegate { checkerUnderTest.CheckConfiguration(config); }, "No exception expected with correct configuration"); }
public void CheckConfiguration_reports_missing_inputpath_configuration() { // Arrange var config = new CloudProxyApplicationConfiguration { OutputFilepath = TestOutputPath }; // Act var exception = Assert.Throws <InvalidApplicationConfigurationException>(delegate { checkerUnderTest.CheckConfiguration(config); }, "Expected an exception to be thrown due to missing configuration"); // Assert Assert.That(exception.Message.Contains("InputFilepath"), "Expected missing output filepath to be reported"); }
public static IServiceProvider ConfigureServices(this IServiceCollection serviceCollection, IConfiguration configuration) { serviceCollection.AddSingleton <CloudProxyApplication>(); serviceCollection.AddTransient <IUploader, StorageUploader>(); serviceCollection.AddTransient <IServiceQueueClient, ServiceBusQueueClient>(); var appConfig = new CloudProxyApplicationConfiguration(); configuration.Bind(appConfig); serviceCollection.AddSingleton <IAppConfiguration>(appConfig); var cloudConfig = new CloudProxyCloudConfiguration(); configuration.Bind(cloudConfig); serviceCollection.AddSingleton <ICloudConfiguration>(cloudConfig); return(serviceCollection.BuildServiceProvider(true)); }