forked from Particular/NServiceBus
/
Receiving.cs
79 lines (60 loc) · 2.07 KB
/
Receiving.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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
namespace NServiceBus.Unicast.Tests
{
using Contexts;
using NUnit.Framework;
using Rhino.Mocks;
using Transport;
[TestFixture]
public class When_receiving_a_regular_message : using_the_unicastbus
{
[Test]
public void Should_invoke_the_registered_message_handlers()
{
var receivedMessage = Helpers.Helpers.Serialize(new EventMessage());
RegisterMessageType<EventMessage>();
RegisterMessageHandlerType<Handler1>();
RegisterMessageHandlerType<Handler2>();
ReceiveMessage(receivedMessage);
Assert.True(Handler1.Called);
Assert.True(Handler2.Called);
}
}
[TestFixture]
public class When_sending_messages_from_a_messagehandler : using_the_unicastbus
{
[Test]
public void Should_set_the_correlation_id_to_the_current_message()
{
var receivedMessage = Helpers.Helpers.Serialize(new EventMessage());
RegisterMessageType<EventMessage>();
RegisterMessageType<CommandMessage>();
RegisterMessageHandlerType<HandlerThatSendsAMessage>();
ReceiveMessage(receivedMessage);
messageSender.AssertWasCalled(x => x.Send(Arg<TransportMessage>.Matches(m => m.CorrelationId == receivedMessage.IdForCorrelation), Arg<Address>.Is.Anything));
}
}
class HandlerThatSendsAMessage : IHandleMessages<EventMessage>
{
public IBus Bus { get; set; }
public void Handle(EventMessage message)
{
Bus.Send(new CommandMessage());
}
}
class Handler1:IHandleMessages<EventMessage>
{
public static bool Called;
public void Handle(EventMessage message)
{
Called = true;
}
}
class Handler2 : IHandleMessages<EventMessage>
{
public static bool Called;
public void Handle(EventMessage message)
{
Called = true;
}
}
}