@@ -17,39 +17,31 @@ namespace Cnblogs.Architecture.IntegrationTests;
17
17
public class IntegrationEventHandlerTests
18
18
{
19
19
private readonly IntegrationTestFactory _factory ;
20
+ private readonly ITestOutputHelper _testOutputHelper ;
20
21
21
- public IntegrationEventHandlerTests ( IntegrationTestFactory factory )
22
+ public IntegrationEventHandlerTests ( IntegrationTestFactory factory , ITestOutputHelper testOutputHelper )
22
23
{
23
24
_factory = factory ;
25
+ _factory . TestOutputHelper = testOutputHelper ;
26
+ _testOutputHelper = testOutputHelper ;
24
27
}
25
28
26
29
[ Fact ]
27
30
public async Task IntegrationEventHandler_TestIntegrationEvent_SuccessAsync ( )
28
31
{
29
32
// Arrange
30
33
var client = _factory . CreateClient ( ) ;
34
+ var @event = new TestIntegrationEvent ( Guid . NewGuid ( ) , DateTimeOffset . Now , "Hello World!" ) ;
31
35
32
36
// Act
33
37
var subscriptions = await client . GetFromJsonAsync < Subscription [ ] > ( "/dapr/subscribe" ) ;
34
-
35
- // Assert
36
- subscriptions . Should ( ) . NotBeNullOrEmpty ( ) ;
37
-
38
- // Act
39
- var sub = subscriptions . FirstOrDefault ( s => s . Route . Contains ( nameof ( TestIntegrationEvent ) ) ) ;
40
-
41
- // Assert
42
- sub . Should ( ) . NotBeNull ( ) ;
43
-
44
- Debug . WriteLine ( "Subscription Route: " + sub . Route ) ;
45
-
46
- // Act
47
- var @event = new TestIntegrationEvent ( Guid . NewGuid ( ) , DateTimeOffset . Now , "Hello World!" ) ;
38
+ var sub = subscriptions . First ( x => x . Route . Contains ( nameof ( TestIntegrationEvent ) ) ) ;
48
39
var response = await client . PostAsJsonAsync ( sub . Route , @event ) ;
40
+ _testOutputHelper . WriteLine ( "Subscription Route: " + sub . Route ) ;
49
41
50
42
// Assert
51
43
response . Should ( ) . BeSuccessful ( ) ;
52
- Assert . True ( response . Headers . TryGetValues ( Constants . IntegrationEventIdHeaderName , out var values ) ) ;
53
- values . First ( ) . Should ( ) . Be ( @event . Id . ToString ( ) ) ;
44
+ response . Headers . Should ( ) . ContainKey ( Constants . IntegrationEventIdHeaderName )
45
+ . WhoseValue . First ( ) . Should ( ) . Be ( @event . Id . ToString ( ) ) ;
54
46
}
55
47
}
0 commit comments