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);
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
        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));
        }