Skip to content

Commit

Permalink
Merge pull request #49 from mauroservienti/capture-endpoint-name
Browse files Browse the repository at this point in the history
Capture the endpoint name
  • Loading branch information
mauroservienti authored Jun 1, 2020
2 parents ecce4b5 + 465da09 commit 5b7205d
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/MySystem.AcceptanceTests/When_sending_AMessage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ namespace NServiceBus.IntegrationTesting
{
class InterceptInvokedHandlers : Behavior<IInvokeHandlerContext>
{
readonly string endpointName;

public InterceptInvokedHandlers(string endpointName)
{
this.endpointName = endpointName;
}

public override async Task Invoke(IInvokeHandlerContext context, Func<Task> next)
{
Invocation invocation = null;
Expand All @@ -33,6 +40,7 @@ public override async Task Invoke(IInvokeHandlerContext context, Func<Task> next
});
}

invocation.EndpointName = endpointName;
invocation.Message = context.MessageBeingHandled;
invocation.MessageType = context.MessageMetadata.MessageType;
}
Expand Down
1 change: 1 addition & 0 deletions src/NServiceBus.IntegrationTesting/Invocations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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; }
Expand Down
8 changes: 6 additions & 2 deletions src/NServiceBus.IntegrationTesting/ServiceTemplate.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using NServiceBus.AcceptanceTesting.Support;
using NServiceBus.Configuration.AdvancedExtensibility;
using System;
using System.Threading.Tasks;

Expand All @@ -12,13 +13,16 @@ public Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor,
return OnGetConfiguration(runDescriptor, endpointConfiguration, configurationBuilderCustomization);
}

protected virtual Task<EndpointConfiguration> OnGetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, Action<EndpointConfiguration> configurationBuilderCustomization)
protected virtual Task<EndpointConfiguration> OnGetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action<EndpointConfiguration> 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<EndpointConfiguration>(configuration);
}
Expand Down

0 comments on commit 5b7205d

Please sign in to comment.