diff --git a/src/MySystem.AcceptanceTests/When_sending_AMessage.cs b/src/MySystem.AcceptanceTests/When_sending_AMessage.cs index d9467b46..daef26c5 100644 --- a/src/MySystem.AcceptanceTests/When_sending_AMessage.cs +++ b/src/MySystem.AcceptanceTests/When_sending_AMessage.cs @@ -36,6 +36,7 @@ public async Task AReplyMessage_is_received_and_ASaga_is_started() Assert.True(invokedSaga.IsNew); + Assert.AreEqual("MyService", invokedSaga.EndpointName); Assert.True(((ASagaData)invokedSaga.SagaData).SomeId == theExpectedSagaId); Assert.False(context.HasFailedMessages()); Assert.False(context.HasHandlingErrors()); diff --git a/src/NServiceBus.IntegrationTesting/InterceptInvokedHandlers.cs b/src/NServiceBus.IntegrationTesting/InterceptInvokedHandlers.cs index c75cf829..85cae427 100644 --- a/src/NServiceBus.IntegrationTesting/InterceptInvokedHandlers.cs +++ b/src/NServiceBus.IntegrationTesting/InterceptInvokedHandlers.cs @@ -7,6 +7,13 @@ namespace NServiceBus.IntegrationTesting { class InterceptInvokedHandlers : Behavior { + readonly string endpointName; + + public InterceptInvokedHandlers(string endpointName) + { + this.endpointName = endpointName; + } + public override async Task Invoke(IInvokeHandlerContext context, Func next) { Invocation invocation = null; @@ -33,6 +40,7 @@ public override async Task Invoke(IInvokeHandlerContext context, Func next }); } + invocation.EndpointName = endpointName; invocation.Message = context.MessageBeingHandled; invocation.MessageType = context.MessageMetadata.MessageType; } diff --git a/src/NServiceBus.IntegrationTesting/Invocations.cs b/src/NServiceBus.IntegrationTesting/Invocations.cs index e8bd3e19..3836198d 100644 --- a/src/NServiceBus.IntegrationTesting/Invocations.cs +++ b/src/NServiceBus.IntegrationTesting/Invocations.cs @@ -4,6 +4,7 @@ namespace NServiceBus.IntegrationTesting { public abstract class Invocation { + public string EndpointName { get; internal set; } public object Message { get; internal set; } public Type MessageType { get; internal set; } public Exception HandlingError { get; internal set; } diff --git a/src/NServiceBus.IntegrationTesting/ServiceTemplate.cs b/src/NServiceBus.IntegrationTesting/ServiceTemplate.cs index 8e70f266..4f58e3d6 100644 --- a/src/NServiceBus.IntegrationTesting/ServiceTemplate.cs +++ b/src/NServiceBus.IntegrationTesting/ServiceTemplate.cs @@ -1,4 +1,5 @@ using NServiceBus.AcceptanceTesting.Support; +using NServiceBus.Configuration.AdvancedExtensibility; using System; using System.Threading.Tasks; @@ -12,13 +13,16 @@ public Task GetConfiguration(RunDescriptor runDescriptor, return OnGetConfiguration(runDescriptor, endpointConfiguration, configurationBuilderCustomization); } - protected virtual Task OnGetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action configurationBuilderCustomization) + protected virtual Task OnGetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization) { var configuration = new T(); + var settings = configuration.GetSettings(); + endpointCustomizationConfiguration.EndpointName = settings.EndpointName(); + configurationBuilderCustomization(configuration); - configuration.Pipeline.Register(typeof(InterceptInvokedHandlers), "Intercept invoked Message Handlers"); + configuration.Pipeline.Register(new InterceptInvokedHandlers(endpointCustomizationConfiguration.EndpointName), "Intercept invoked Message Handlers"); return Task.FromResult(configuration); }