Dreamine.FullKit.Tests
1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
InMemoryMessageBusTests.cs
이 파일의 문서화 페이지로 가기
1
using
Dreamine.Communication.Abstractions.Enums;
2
using
Dreamine.Communication.Abstractions.Models;
3
using
Dreamine.Communication.Core.Buses;
4
5
namespace
Dreamine.FullKit.Tests.Communication
;
6
15
public
sealed
class
InMemoryMessageBusTests
16
{
33
[Fact]
34
public
async Task
PublishAsync_DispatchesToMatchingRouteWhenConnected
()
35
{
36
var bus =
new
InMemoryMessageBus();
37
var received =
new
List<string>();
38
await bus.SubscribeAsync(
"route.a"
, (message, _) =>
39
{
40
received.Add(message.Name);
41
return
Task.CompletedTask;
42
});
43
44
await bus.ConnectAsync();
45
await bus.PublishAsync(
new
MessageEnvelope { Route =
"route.a"
, Name =
"Ping"
});
46
await bus.PublishAsync(
new
MessageEnvelope { Route =
"route.b"
, Name =
"Ignored"
});
47
48
Assert.Equal(ConnectionState.Connected, bus.State);
49
Assert.Equal(
new
[] {
"Ping"
}, received);
50
}
51
68
[Fact]
69
public
async Task
PublishAsync_ThrowsWhenDisconnected
()
70
{
71
var bus =
new
InMemoryMessageBus();
72
73
await Assert.ThrowsAsync<InvalidOperationException>(
74
() => bus.PublishAsync(
new
MessageEnvelope { Route =
"route"
}));
75
}
76
93
[Fact]
94
public
async Task
DisposeAsync_ClearsSubscriptionsAndDisconnects
()
95
{
96
var bus =
new
InMemoryMessageBus();
97
var count = 0;
98
await bus.SubscribeAsync(
"route"
, (_, _) =>
99
{
100
count++;
101
return
Task.CompletedTask;
102
});
103
104
await bus.ConnectAsync();
105
await bus.DisposeAsync();
106
await bus.ConnectAsync();
107
await bus.PublishAsync(
new
MessageEnvelope { Route =
"route"
});
108
109
Assert.Equal(0, count);
110
}
111
}
Dreamine.FullKit.Tests.Communication
Definition
CommunicationAbstractionsTests.cs:5
Dreamine.FullKit.Tests.Communication.InMemoryMessageBusTests
Definition
InMemoryMessageBusTests.cs:16
Dreamine.FullKit.Tests.Communication.InMemoryMessageBusTests.PublishAsync_DispatchesToMatchingRouteWhenConnected
async Task PublishAsync_DispatchesToMatchingRouteWhenConnected()
Definition
InMemoryMessageBusTests.cs:34
Dreamine.FullKit.Tests.Communication.InMemoryMessageBusTests.PublishAsync_ThrowsWhenDisconnected
async Task PublishAsync_ThrowsWhenDisconnected()
Definition
InMemoryMessageBusTests.cs:69
Dreamine.FullKit.Tests.Communication.InMemoryMessageBusTests.DisposeAsync_ClearsSubscriptionsAndDisconnects
async Task DisposeAsync_ClearsSubscriptionsAndDisconnects()
Definition
InMemoryMessageBusTests.cs:94
Communication
InMemoryMessageBusTests.cs
다음에 의해 생성됨 :
1.17.0