Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9e1b3ee

Browse files
committedMar 14, 2025·
test updates
1 parent 75cd1f8 commit 9e1b3ee

File tree

1 file changed

+32
-10
lines changed

1 file changed

+32
-10
lines changed
 

‎test/AWS.Messaging.UnitTests/SerializationTests/EnvelopeSerializerTests.cs

+32-10
Original file line numberDiff line numberDiff line change
@@ -478,42 +478,64 @@ public async Task SerializeAsync_DataMessageLogging_NoError(bool dataMessageLogg
478478
[InlineData(true)]
479479
public async Task SerializeAsync_DataMessageLogging_WithError(bool dataMessageLogging)
480480
{
481+
// ARRANGE
481482
var logger = new Mock<ILogger<EnvelopeSerializer>>();
482483
var messageConfiguration = new MessageConfiguration { LogMessageContent = dataMessageLogging };
483484
var messageSerializer = new Mock<IMessageSerializer>();
484485
var dateTimeHandler = new Mock<IDateTimeHandler>();
485486
var messageIdGenerator = new Mock<IMessageIdGenerator>();
486487
var messageSourceHandler = new Mock<IMessageSourceHandler>();
487-
var envelopeSerializer = new EnvelopeSerializer(logger.Object, messageConfiguration, messageSerializer.Object, dateTimeHandler.Object, messageIdGenerator.Object, messageSourceHandler.Object);
488-
var messageEnvelope = new MessageEnvelope<MessageEnvelope>
488+
var envelopeSerializer = new EnvelopeSerializer(
489+
logger.Object,
490+
messageConfiguration,
491+
messageSerializer.Object,
492+
dateTimeHandler.Object,
493+
messageIdGenerator.Object,
494+
messageSourceHandler.Object);
495+
496+
var messageEnvelope = new MessageEnvelope<AddressInfo>
489497
{
490498
Id = "123",
491499
Source = new Uri("/aws/messaging", UriKind.Relative),
492500
Version = "1.0",
493501
MessageTypeIdentifier = "addressInfo",
494502
TimeStamp = _testdate,
495-
Message = new MessageEnvelope<MessageEnvelope>
503+
Message = new AddressInfo
496504
{
497-
Id = "123",
498-
Source = new Uri("/aws/messaging", UriKind.Relative),
499-
Version = "1.0",
500-
MessageTypeIdentifier = "addressInfo",
501-
TimeStamp = _testdate
505+
Street = "Prince St",
506+
Unit = 123,
507+
ZipCode = "00001"
502508
}
503509
};
504-
messageSerializer.Setup(x => x.Serialize(It.IsAny<object>())).Throws(new JsonException("Test exception"));
505510

506-
var exception = await Assert.ThrowsAsync<FailedToSerializeMessageEnvelopeException>(async () => await envelopeSerializer.SerializeAsync(messageEnvelope));
511+
// Setup the serializer to throw when trying to serialize the message
512+
messageSerializer.Setup(x => x.Serialize(It.IsAny<object>()))
513+
.Throws(new JsonException("Test exception"));
514+
515+
// ACT & ASSERT
516+
var exception = await Assert.ThrowsAsync<FailedToSerializeMessageEnvelopeException>(
517+
async () => await envelopeSerializer.SerializeAsync(messageEnvelope));
507518

508519
Assert.Equal("Failed to serialize the MessageEnvelope into a raw string", exception.Message);
520+
509521
if (dataMessageLogging)
510522
{
511523
Assert.NotNull(exception.InnerException);
524+
Assert.IsType<JsonException>(exception.InnerException);
525+
Assert.Equal("Test exception", exception.InnerException.Message);
512526
}
513527
else
514528
{
515529
Assert.Null(exception.InnerException);
516530
}
531+
532+
// Verify logging behavior
533+
logger.Verify(
534+
x => x.LogError(
535+
It.Is<string>(msg => msg == "Failed to serialize the MessageEnvelope into a raw string"),
536+
It.IsAny<object[]>()
537+
),
538+
Times.Once);
517539
}
518540

519541
[Theory]

0 commit comments

Comments
 (0)
Please sign in to comment.