Dreamine.FullKit.Tests 1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
JsonMessageSerializerTests.cs
이 파일의 문서화 페이지로 가기
1using System.Text;
2using Dreamine.Communication.Abstractions.Models;
3using Dreamine.Communication.Core.Serialization;
4
6
15public sealed class JsonMessageSerializerTests
16{
25 [Fact]
27 {
28 var serializer = new JsonMessageSerializer();
29 var envelope = new MessageEnvelope
30 {
31 MessageId = "message-1",
32 Name = "Telemetry",
33 Route = "/machine/1",
34 Payload = Encoding.UTF8.GetBytes("payload"),
35 Headers = new Dictionary<string, string>
36 {
37 ["Content-Type"] = "text/plain"
38 },
39 CreatedAt = new DateTimeOffset(2026, 6, 7, 1, 2, 3, TimeSpan.Zero)
40 };
41
42 var data = serializer.Serialize(envelope);
43 var result = serializer.Deserialize(data);
44
45 Assert.Equal(envelope.MessageId, result.MessageId);
46 Assert.Equal(envelope.Name, result.Name);
47 Assert.Equal(envelope.Route, result.Route);
48 Assert.Equal(envelope.Payload, result.Payload);
49 Assert.Equal(envelope.Headers, result.Headers);
50 Assert.Equal(envelope.CreatedAt, result.CreatedAt);
51 }
52
61 [Fact]
63 {
64 var json = """
65 {
66 "messageid": "lower-case",
67 "name": "Ping",
68 "route": "/ping",
69 "payload": "AQID",
70 "headers": { "A": "B" },
71 "createdat": "2026-06-07T00:00:00+00:00"
72 }
73 """;
74
75 var result = new JsonMessageSerializer().Deserialize(Encoding.UTF8.GetBytes(json));
76
77 Assert.Equal("lower-case", result.MessageId);
78 Assert.Equal(new byte[] { 1, 2, 3 }, result.Payload);
79 Assert.Equal("B", result.Headers["A"]);
80 }
81}