public Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action<EndpointConfiguration> configurationBuilderCustomization) { var types = GetTypesScopedByTestClass(endpointConfiguration); typesToInclude.AddRange(types); var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); builder.TypesToIncludeInScan(typesToInclude); builder.CustomConfigurationSource(configSource); builder.EnableInstallers(); builder.DisableFeature<TimeoutManager>(); builder.Recoverability() .Delayed(delayed => delayed.NumberOfRetries(0)) .Immediate(immediate => immediate.NumberOfRetries(0)); builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); }); builder.UsePersistence<InMemoryPersistence>(); configurationBuilderCustomization(builder); return Task.FromResult(builder); }
public Task <EndpointConfiguration> GetConfiguration( RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var configuration = new EndpointConfiguration(endpointConfiguration.EndpointName); configuration.TypesToIncludeInScan(endpointConfiguration.GetTypesScopedByTestClass()); configuration.EnableInstallers(); configuration.DisableFeature <TimeoutManager>(); configuration.RegisterComponents(c => c .RegisterSingleton(runDescriptor.ScenarioContext.GetType(), runDescriptor.ScenarioContext)); var recoverability = configuration.Recoverability(); recoverability.Delayed(delayed => delayed.NumberOfRetries(0)); recoverability.Immediate(immediate => immediate.NumberOfRetries(0)); configuration.SendFailedMessagesTo("error"); var transport = configuration.UseTransport <AzureStorageQueueTransport>(); transport.ConnectionString(Environment.GetEnvironmentVariable(StorageQueueTriggeredEndpointConfiguration.DefaultStorageConnectionString)); configuration.UseSerialization <NewtonsoftSerializer>(); configurationBuilderCustomization(configuration); return(Task.FromResult(configuration)); }
public async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action<EndpointConfiguration> configurationBuilderCustomization) { var settings = runDescriptor.Settings; var types = endpointConfiguration.GetTypesScopedByTestClass(); typesToInclude.AddRange(types); var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); builder.TypesToIncludeInScan(typesToInclude); builder.CustomConfigurationSource(configSource); builder.EnableInstallers(); builder.DisableFeature<TimeoutManager>(); builder.Recoverability().Delayed(cfg => cfg.NumberOfRetries(0)); builder.Recoverability().Immediate(cfg => cfg.NumberOfRetries(0)); await builder.DefineTransport(settings, endpointConfiguration.EndpointName).ConfigureAwait(false); builder.DefineBuilder(settings); builder.RegisterComponentsAndInheritanceHierarchy(runDescriptor); Type serializerType; if (settings.TryGet("Serializer", out serializerType)) { builder.UseSerialization((SerializationDefinition) Activator.CreateInstance(serializerType)); } await builder.DefinePersistence(settings, endpointConfiguration.EndpointName).ConfigureAwait(false); builder.GetSettings().SetDefault("ScaleOut.UseSingleBrokerQueue", true); configurationBuilderCustomization(builder); return builder; }
public async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action<EndpointConfiguration> configurationBuilderCustomization) { var settings = runDescriptor.Settings; var types = endpointConfiguration.GetTypesScopedByTestClass(); typesToInclude.AddRange(types); var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); builder.TypesToIncludeInScan(typesToInclude); builder.CustomConfigurationSource(configSource); builder.EnableInstallers(); builder.DisableFeature<TimeoutManager>(); builder.Recoverability() .Delayed(delayed => delayed.NumberOfRetries(0)) .Immediate(immediate => immediate.NumberOfRetries(0)); await builder.DefineTransport(settings, endpointConfiguration.EndpointName).ConfigureAwait(false); builder.RegisterComponentsAndInheritanceHierarchy(runDescriptor); configurationBuilderCustomization(builder); return builder; }
protected override Task <EndpointConfiguration> OnGetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var factory = new ConfigurationFactory(); return(Task.FromResult(factory.CreateConfiguration())); }
public static IEnumerable <Type> GetTypesScopedByTestClass(this EndpointCustomizationConfiguration endpointConfiguration) { var types = endpointConfiguration.BuilderType.GetTypesScopedByTestClass(); types = types.Union(endpointConfiguration.TypesToInclude); return(types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList()); }
public async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action<EndpointConfiguration> configurationBuilderCustomization) { var settings = runDescriptor.Settings; var types = endpointConfiguration.GetTypesScopedByTestClass(); typesToInclude.AddRange(types); var configuration = new EndpointConfiguration(endpointConfiguration.EndpointName); configuration.TypesToIncludeInScan(typesToInclude); configuration.CustomConfigurationSource(configSource); configuration.EnableInstallers(); configuration.DisableFeature<TimeoutManager>(); var recoverability = configuration.Recoverability(); recoverability.Delayed(delayed => delayed.NumberOfRetries(0)); recoverability.Immediate(immediate => immediate.NumberOfRetries(0)); await configuration.DefineTransport(settings, endpointConfiguration.EndpointName).ConfigureAwait(false); configuration.DefineBuilder(settings); configuration.RegisterComponentsAndInheritanceHierarchy(runDescriptor); configuration.UseSerialization<WireSerializer>(); await configuration.DefinePersistence(settings, endpointConfiguration.EndpointName).ConfigureAwait(false); configuration.GetSettings().SetDefault("ScaleOut.UseSingleBrokerQueue", true); configurationBuilderCustomization(configuration); return configuration; }
public static Task DefinePersistence(this EndpointConfiguration config, RunSettings settings, EndpointCustomizationConfiguration endpointCustomizationConfiguration) { Type persistenceType; if (!settings.TryGet("Persistence", out persistenceType)) { settings.Merge(Persistence.Default.Settings); } return ConfigureTestExecution(TestDependencyType.Persistence, config, settings, endpointCustomizationConfiguration.EndpointName, endpointCustomizationConfiguration.PublisherMetadata); }
public static Task DefineTransport(this EndpointConfiguration config, RunSettings settings, EndpointCustomizationConfiguration endpointCustomizationConfiguration) { Type transportType; if (!settings.TryGet("Transport", out transportType)) { settings.Merge(Transports.Default.Settings); } return ConfigureTestExecution(TestDependencyType.Transport, config, settings, endpointCustomizationConfiguration.EndpointName, endpointCustomizationConfiguration.PublisherMetadata); }
public static IEnumerable <Type> GetTypesScopedByTestClass(this EndpointCustomizationConfiguration endpointConfiguration) { var assemblies = new AssemblyScanner().GetScannableAssemblies(); var types = assemblies.Assemblies //exclude all test types by default .Where(a => !a.GetName().Name.EndsWith("AcceptanceTests")) .SelectMany(a => a.GetTypes()); types = types.Union(GetNestedTypeRecursive(endpointConfiguration.BuilderType.DeclaringType, endpointConfiguration.BuilderType)); types = types.Union(endpointConfiguration.TypesToInclude); return(types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList()); }
public async Task <EndpointConfiguration> GetConfiguration( RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Func <EndpointConfiguration, Task> configurationBuilderCustomization) { var configuration = new EndpointConfiguration(endpointConfiguration.EndpointName); configuration.TypesToIncludeInScan(endpointConfiguration.GetTypesScopedByTestClass()); configuration.EnableInstallers(); configuration.RegisterComponents(c => c .AddSingleton(runDescriptor.ScenarioContext.GetType(), runDescriptor.ScenarioContext)); var recoverability = configuration.Recoverability(); recoverability.Delayed(delayed => delayed.NumberOfRetries(0)); recoverability.Immediate(immediate => immediate.NumberOfRetries(0)); configuration.SendFailedMessagesTo("error"); var connectionString = Environment.GetEnvironmentVariable(ServiceBusTriggeredEndpointConfiguration .DefaultServiceBusConnectionName); var azureServiceBusTransport = new AzureServiceBusTransport(connectionString) { SubscriptionRuleNamingConvention = type => { if (type.FullName.Length <= 50) { return(type.FullName); } return(type.Name); } }; var transport = configuration.UseTransport(azureServiceBusTransport); configuration.Pipeline.Register("TestIndependenceBehavior", b => new TestIndependenceSkipBehavior(runDescriptor.ScenarioContext), "Skips messages not created during the current test."); configuration.UseSerialization <NewtonsoftSerializer>(); await configurationBuilderCustomization(configuration); return(configuration); }
public static IEnumerable <Type> GetTypesScopedByTestClass(this EndpointCustomizationConfiguration endpointConfiguration) { var assemblies = new AssemblyScanner().GetScannableAssemblies(); var assembliesToScan = assemblies.Assemblies //exclude acceptance tests by default .Where(a => a != Assembly.GetExecutingAssembly() && a != typeof(Bootstrapper).Assembly) .Where(a => a.FullName.StartsWith("ServiceControl") == false) .ToList(); var types = assembliesToScan .SelectMany(a => a.GetTypes()); types = types.Union(GetNestedTypeRecursive(endpointConfiguration.BuilderType.DeclaringType, endpointConfiguration.BuilderType)); types = types.Union(endpointConfiguration.TypesToInclude); return(types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList()); }
public static IEnumerable <Type> GetTypesScopedByTestClass(this EndpointCustomizationConfiguration endpointConfiguration) { var assemblies = new AssemblyScanner().GetScannableAssemblies(); var types = assemblies.Assemblies //exclude all test types by default .Where(a => { var references = a.GetReferencedAssemblies(); return(references.All(an => an.Name != "nunit.framework")); }) .SelectMany(a => a.GetTypes()); types = types.Union(GetNestedTypeRecursive(endpointConfiguration.BuilderType.DeclaringType, endpointConfiguration.BuilderType)); types = types.Union(endpointConfiguration.TypesToInclude); return(types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList()); }
static IEnumerable<Type> GetTypesScopedByTestClass(EndpointCustomizationConfiguration endpointConfiguration) { var assemblies = new AssemblyScanner().GetScannableAssemblies(); var types = assemblies.Assemblies //exclude all test types by default .Where(a => { var references = a.GetReferencedAssemblies(); return references.All(an => an.Name != "nunit.framework"); }) .SelectMany(a => a.GetTypes()); types = types.Union(GetNestedTypeRecursive(endpointConfiguration.BuilderType.DeclaringType, endpointConfiguration.BuilderType)); types = types.Union(endpointConfiguration.TypesToInclude); return types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList(); }
#pragma warning disable CS0618 public async Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action <EndpointConfiguration> configurationBuilderCustomization) #pragma warning restore CS0618 { var types = endpointConfiguration.GetTypesScopedByTestClass(); typesToInclude.AddRange(types); var configuration = new EndpointConfiguration(endpointConfiguration.EndpointName); configuration.TypesToIncludeInScan(typesToInclude); configuration.CustomConfigurationSource(configSource); configuration.EnableInstallers(); configuration.DisableFeature <TimeoutManager>(); var recoverability = configuration.Recoverability(); recoverability.Delayed(delayed => delayed.NumberOfRetries(0)); recoverability.Immediate(immediate => immediate.NumberOfRetries(0)); configuration.SendFailedMessagesTo("error"); await configuration.DefineTransport(runDescriptor, endpointConfiguration).ConfigureAwait(false); configuration.RegisterComponentsAndInheritanceHierarchy(runDescriptor); configuration.UseSerialization <MessagePackSerializer>(); await configuration.DefinePersistence(runDescriptor, endpointConfiguration).ConfigureAwait(false); configuration.GetSettings().SetDefault("ScaleOut.UseSingleBrokerQueue", true); configurationBuilderCustomization(configuration); return(configuration); }
#pragma warning disable CS0618 public async Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action <EndpointConfiguration> configurationBuilderCustomization) #pragma warning restore CS0618 { var settings = runDescriptor.Settings; var types = endpointConfiguration.GetTypesScopedByTestClass(); typesToInclude.AddRange(types); var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); builder.TypesToIncludeInScan(typesToInclude); builder.CustomConfigurationSource(configSource); builder.EnableInstallers(); builder.DisableFeature <TimeoutManager>(); builder.Recoverability() .Delayed(delayed => delayed.NumberOfRetries(0)) .Immediate(immediate => immediate.NumberOfRetries(0)); builder.SendFailedMessagesTo("error"); await builder.DefineTransport(settings, endpointConfiguration).ConfigureAwait(false); builder.RegisterComponentsAndInheritanceHierarchy(runDescriptor); configurationBuilderCustomization(builder); return(builder); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action <EndpointConfiguration> configurationBuilderCustomization) { var types = GetTypesScopedByTestClass(endpointConfiguration); typesToInclude.AddRange(types); var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); builder.TypesToIncludeInScan(typesToInclude); builder.CustomConfigurationSource(configSource); builder.EnableInstallers(); builder.DisableFeature <TimeoutManager>(); builder.Recoverability() .Delayed(delayed => delayed.NumberOfRetries(0)) .Immediate(immediate => immediate.NumberOfRetries(0)); builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); }); builder.UsePersistence <InMemoryPersistence>(); configurationBuilderCustomization(builder); return(Task.FromResult(builder)); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); var types = GetTypesScopedByTestClass(endpointConfiguration); builder.TypesToIncludeInScan(types); var transportConfig = builder.UseTransport <AzureServiceBusTransport>(); transportConfig.ConnectionString(ConnectionString); var topology = GetEnvironmentVariable("AzureServiceBusTransport.Topology"); if (topology == "ForwardingTopology") { transportConfig.UseForwardingTopology(); } else { var endpointOrientedTopology = transportConfig.UseEndpointOrientedTopology(); foreach (var publisher in endpointConfiguration.PublisherMetadata.Publishers) { foreach (var eventType in publisher.Events) { endpointOrientedTopology.RegisterPublisher(eventType, publisher.PublisherName); } } } builder.UseSerialization <NewtonsoftSerializer>(); builder.EnableInstallers(); transportConfig.Sanitization() .UseStrategy <ValidateAndHashIfNeeded>(); // w/o retries ASB will move attempted messages to the error queue right away, which will cause false failure. // ScenarioRunner.PerformScenarios() verifies by default no messages are moved into error queue. If it finds any, it fails the test. builder.Recoverability().Immediate(retriesSettings => retriesSettings.NumberOfRetries(3)); builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); }); configurationBuilderCustomization(builder); return(Task.FromResult(builder)); }
protected override Task <EndpointConfiguration> OnGetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var config = MyOtherServiceConfigurationBuilder.Build( "MyOtherService", "host=localhost;username=guest;password=guest"); return(Task.FromResult(config)); }
public virtual async Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var configuration = new EndpointConfiguration(endpointConfiguration.EndpointName); configuration.TypesToIncludeInScan(endpointConfiguration.GetTypesScopedByTestClass()); configuration.EnableInstallers(); var recoverability = configuration.Recoverability(); recoverability.Delayed(delayed => delayed.NumberOfRetries(0)); recoverability.Immediate(immediate => immediate.NumberOfRetries(0)); configuration.SendFailedMessagesTo("error"); await configuration.DefineTransport(TransportConfiguration, runDescriptor, endpointConfiguration).ConfigureAwait(false); configuration.RegisterComponentsAndInheritanceHierarchy(runDescriptor); await configuration.DefinePersistence(PersistenceConfiguration, runDescriptor, endpointConfiguration).ConfigureAwait(false); configurationBuilderCustomization(configuration); return(configuration); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action <EndpointConfiguration> configurationBuilderCustomization) { return(new DefaultServer().GetConfiguration(runDescriptor, endpointConfiguration, configSource, configurationBuilderCustomization)); }
public static async Task DefinePersistence(this EndpointConfiguration config, RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration) { var persistenceConfiguration = new ConfigureEndpointInMemoryPersistence(); await persistenceConfiguration.Configure(endpointCustomizationConfiguration.EndpointName, config, runDescriptor.Settings, endpointCustomizationConfiguration.PublisherMetadata); runDescriptor.OnTestCompleted(_ => persistenceConfiguration.Cleanup()); }
public static Task DefineTransport(this EndpointConfiguration config, RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration) { //var transportConfiguration = new ConfigureEndpointMsmqTransport(); //await transportConfiguration.Configure(endpointCustomizationConfiguration.EndpointName, config, runDescriptor.Settings, endpointCustomizationConfiguration.PublisherMetadata); //runDescriptor.OnTestCompleted(_ => transportConfiguration.Cleanup()); return(Task.CompletedTask); }
public override Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { return(base.GetConfiguration(runDescriptor, endpointCustomizationConfiguration, endpointConfiguration => { // property injection working OOTB endpointConfiguration.UseContainer(new WindsorServiceProviderFactory()); configurationBuilderCustomization(endpointConfiguration); })); }
// Disable obsolete warning until MessageEndpointMappings has been removed from config and we can remove the parameter completetely #pragma warning disable CS0618 public async Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action <EndpointConfiguration> configurationBuilderCustomization) #pragma warning restore CS0618 { var config = await new DefaultServer(new List <Type> { typeof(FakeReadyMessageProcessor) }).GetConfiguration(runDescriptor, endpointConfiguration, configSource, configurationBuilderCustomization); config.EnableFeature <TimeoutManager>(); config.EnableFeature <FakeReadyMessageProcessor>(); return(config); }
public static Task DefinePersistence(this EndpointConfiguration config, RunSettings settings, EndpointCustomizationConfiguration endpointCustomizationConfiguration) { Type persistenceType; if (!settings.TryGet("Persistence", out persistenceType)) { settings.Merge(Persistence.Default.Settings); } return(ConfigureTestExecution(TestDependencyType.Persistence, config, settings, endpointCustomizationConfiguration.EndpointName, endpointCustomizationConfiguration.PublisherMetadata)); }
public async Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var types = endpointConfiguration.GetTypesScopedByTestClass(); typesToInclude.AddRange(types); var configuration = new EndpointConfiguration(endpointConfiguration.EndpointName); configuration.TypesToIncludeInScan(typesToInclude); configuration.EnableInstallers(); var recoverability = configuration.Recoverability(); recoverability.Delayed(delayed => delayed.NumberOfRetries(0)); recoverability.Immediate(immediate => immediate.NumberOfRetries(0)); await configuration.DefineTransport(runDescriptor, endpointConfiguration).ConfigureAwait(false); configuration.RegisterComponentsAndInheritanceHierarchy(runDescriptor); await configuration.DefinePersistence(runDescriptor, endpointConfiguration).ConfigureAwait(false); configuration.GetSettings().SetDefault("ScaleOut.UseSingleBrokerQueue", true); configurationBuilderCustomization(configuration); return(configuration); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action <EndpointConfiguration> configurationBuilderCustomization) { var config = new EndpointConfiguration(endpointConfiguration.EndpointName); config.UseTransport <MsmqTransport>(); config.PurgeOnStartup(true); config.UsePersistence <InMemoryPersistence>(); config.SendFailedMessagesTo("error"); config.EnableInstallers(); config.RegisterComponents(r => r.ConfigureComponent <ScenarioContext>(() => runDescriptor.ScenarioContext, DependencyLifecycle.SingleInstance)); config.TypesToIncludeInScan(new Type[] { typeof(ContextCop), // why is that needed? typeof(WhenUsingMessageContextInHandler.IncomingMessage), typeof(WhenUsingMessageContextInHandler.OutgoingMessage), typeof(WhenUsingMessageContextInHandler.Endpoint.OutgoingMessageHandler), typeof(WhenUsingMessageContextInHandler.Endpoint.IncomingMessageHandler) }); config.DisableFeature <FirstLevelRetries>(); config.DisableFeature <Features.SecondLevelRetries>(); return(Task.FromResult(config)); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { return(new DefaultServerWithAudit().GetConfiguration(runDescriptor, endpointConfiguration, b => { b.DisableFeature <Audit>(); configurationBuilderCustomization(b); })); }
public Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action<EndpointConfiguration> configurationBuilderCustomization) { return new DefaultServer().GetConfiguration(runDescriptor, endpointConfiguration, configSource, configurationBuilderCustomization); }
public virtual Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName); endpointConfiguration.TypesToIncludeInScan(endpointCustomizationConfiguration.GetTypesScopedByTestClass()); endpointConfiguration.Recoverability() .Delayed(delayed => delayed.NumberOfRetries(0)) .Immediate(immediate => immediate.NumberOfRetries(0)); endpointConfiguration.EnableInstallers(); var transport = endpointConfiguration.UseTransport <RabbitMQTransport>(); transport.UseConventionalRoutingTopology(); endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor); configurationBuilderCustomization(endpointConfiguration); return(Task.FromResult(endpointConfiguration)); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var types = GetTypesScopedByTestClass(endpointConfiguration); _typesToInclude.AddRange(types); var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); builder.TypesToIncludeInScan(_typesToInclude); builder.EnableInstallers(); builder.UseTransport <LearningTransport>(); builder.DisableFeature <TimeoutManager>(); builder.UsePersistence <InMemoryPersistence>(); if (_services != null) { builder.UseContainer <ServicesBuilder>(c => c.ExistingServices(_services)); } else { builder.UseContainer <ServicesBuilder>(); } builder.Recoverability().Immediate(immediateRetries => immediateRetries.NumberOfRetries(0)); builder.Recoverability().Delayed(delayedRetires => delayedRetires.NumberOfRetries(0)); builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); }); configurationBuilderCustomization(builder); return(Task.FromResult(builder)); }
public virtual Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName); endpointConfiguration.TypesToIncludeInScan(endpointCustomizationConfiguration.GetTypesScopedByTestClass()); endpointConfiguration.Recoverability() .Delayed(delayed => delayed.NumberOfRetries(0)) .Immediate(immediate => immediate.NumberOfRetries(0)); var storageDir = Path.Combine(NServiceBusAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID); endpointConfiguration.EnableInstallers(); endpointConfiguration.UseTransport(new LearningTransport { StorageDirectory = storageDir }); endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor); configurationBuilderCustomization(endpointConfiguration); return(Task.FromResult(endpointConfiguration)); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { return(new DefaultServerWithAudit().GetConfiguration(runDescriptor, endpointConfiguration, b => { b.UseSerialization <NewtonsoftSerializer>(); configurationBuilderCustomization(b); })); }
public static Task DefineTransport(this EndpointConfiguration config, RunSettings settings, EndpointCustomizationConfiguration endpointCustomizationConfiguration) { Type transportType; if (!settings.TryGet("Transport", out transportType)) { settings.Merge(Transports.Default.Settings); } return(ConfigureTestExecution(TestDependencyType.Transport, config, settings, endpointCustomizationConfiguration.EndpointName, endpointCustomizationConfiguration.PublisherMetadata)); }
public virtual Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName); endpointConfiguration.TypesToIncludeInScan(endpointCustomizationConfiguration.GetTypesScopedByTestClass()); endpointConfiguration.Recoverability() .Delayed(delayed => delayed.NumberOfRetries(0)) .Immediate(immediate => immediate.NumberOfRetries(0)); var storageDir = Path.Combine(RavenDBAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID); endpointConfiguration.EnableInstallers(); var transport = endpointConfiguration.UseTransport <AcceptanceTestingTransport>(); transport.StorageDirectory(storageDir); transport.UseNativeDelayedDelivery(false); endpointConfiguration.EnableFeature <TimeoutManager>(); endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor); configurationBuilderCustomization(endpointConfiguration); return(Task.FromResult(endpointConfiguration)); }
public async Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { ServicePointManager.DefaultConnectionLimit = 100; var typesToInclude = new List <Type>(); var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); typesToInclude.AddRange(endpointConfiguration.GetTypesScopedByTestClass <TBootstrapper>().Concat(new[] { typeof(TraceIncomingBehavior), typeof(TraceOutgoingBehavior) })); builder.Pipeline.Register(new StampDispatchBehavior(runDescriptor.ScenarioContext), "Stamps outgoing messages with session ID"); builder.Pipeline.Register(new DiscardMessagesBehavior(runDescriptor.ScenarioContext), "Discards messages based on session ID"); builder.SendFailedMessagesTo("error"); builder.TypesToIncludeInScan(typesToInclude); builder.EnableInstallers(); await builder.DefineTransport(runDescriptor, endpointConfiguration).ConfigureAwait(false); builder.RegisterComponentsAndInheritanceHierarchy(runDescriptor); await builder.DefinePersistence(runDescriptor, endpointConfiguration).ConfigureAwait(false); typeof(ScenarioContext).GetProperty("CurrentEndpoint", BindingFlags.Static | BindingFlags.NonPublic).SetValue(runDescriptor.ScenarioContext, endpointConfiguration.EndpointName); builder.UseSerialization <NewtonsoftSerializer>(); builder.Pipeline.Register <TraceIncomingBehavior.Registration>(); builder.Pipeline.Register <TraceOutgoingBehavior.Registration>(); builder.Conventions().DefiningEventsAs(t => typeof(IEvent).IsAssignableFrom(t) || IsExternalContract(t)); builder.RegisterComponents(r => { builder.GetSettings().Set("SC.ConfigureComponent", r); }); builder.GetSettings().Set("SC.ScenarioContext", runDescriptor.ScenarioContext); builder.DisableFeature <AutoSubscribe>(); configurationBuilderCustomization(builder); return(builder); }
public Task <EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action <EndpointConfiguration> configurationBuilderCustomization) { var builder = new EndpointConfiguration(endpointConfiguration.EndpointName); var types = GetTypesScopedByTestClass(endpointConfiguration); builder.TypesToIncludeInScan(types); var transport = builder.UseTransport <Transports.AmazonSQS.ServiceControlSqsTransport>() .ConnectionString(ConnectionString); var routingConfig = transport.Routing(); foreach (var publisher in endpointConfiguration.PublisherMetadata.Publishers) { foreach (var eventType in publisher.Events) { routingConfig.RegisterPublisher(eventType, publisher.PublisherName); } } builder.EnableInstallers(); builder.UsePersistence <InMemoryPersistence>(); builder.Recoverability().Delayed(delayedRetries => delayedRetries.NumberOfRetries(0)); builder.Recoverability().Immediate(immediateRetries => immediateRetries.NumberOfRetries(0)); builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); }); configurationBuilderCustomization(builder); return(Task.FromResult(builder)); }