-
Notifications
You must be signed in to change notification settings - Fork 48
/
Copy pathBasicEndpointSetup.cs
32 lines (26 loc) · 1.32 KB
/
BasicEndpointSetup.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
namespace ServiceControl.Transport.Tests
{
using System;
using System.Threading.Tasks;
using NServiceBus;
using NServiceBus.AcceptanceTesting.Customization;
using NServiceBus.AcceptanceTesting.Support;
public class BasicEndpointSetup : IEndpointSetupTemplate
{
public async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor,
EndpointCustomizationConfiguration endpointCustomization,
Func<EndpointConfiguration, Task> configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomization.EndpointName);
endpointConfiguration.UseSerialization<SystemJsonSerializer>();
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
var recoverability = endpointConfiguration.Recoverability();
recoverability.Immediate(c => c.NumberOfRetries(3));
recoverability.Delayed(c => c.NumberOfRetries(0));
await configurationBuilderCustomization(endpointConfiguration);
// scan types at the end so that all types used by the configuration have been loaded into the AppDomain
endpointConfiguration.ScanTypesForTest(endpointCustomization);
return endpointConfiguration;
}
}
}