public static ILambdaConfigurator UseCustomSerializer <TSerializer>(this ILambdaConfigurator configurator) where TSerializer : class, ISerializer { _ = configurator ?? throw new ArgumentNullException(nameof(configurator)); configurator.Services.AddSingleton <ISerializer, TSerializer>(); return(configurator); }
public void BuildConfiguratorShouldConfigureAwsServices( ServiceCollection serviceCollection, [Substitute] IConfigurationRoot configuration, [Substitute] ILambdaConfigurator configurator ) { serviceCollection.AddSingleton(configurator); serviceCollection.AddSingleton <IConfiguration>(configuration); var provider = serviceCollection.BuildServiceProvider(); TestLambdaHostBuilder.RunOptionsConfigurator(provider, serviceCollection); configurator.Received().ConfigureAwsServices(Arg.Is(serviceCollection)); }
public static ILambdaConfigurator <TMessage, THandler> UseParallelExecution <TMessage, THandler>(this ILambdaConfigurator <TMessage, THandler> configurator, int?maxDegreeOfParallelism = null) where TMessage : class where THandler : class, IMessageHandler <TMessage> { configurator.Services.AddTransient <IEventHandler <SQSEvent>, ParallelSqsEventHandler <TMessage> >(); if (maxDegreeOfParallelism.HasValue) { configurator.Services.Configure <ParallelSqsExecutionOptions>(option => option.MaxDegreeOfParallelism = maxDegreeOfParallelism.Value); } return(configurator); }