예제 #1
0
        public void GivenDynamicType_WhenWhen_ThenThen()
        {
            // Given
            var p           = new Faker().Person;
            var userCreated = new UserCreatedRecordDataContract
            {
                BirthDate = p.DateOfBirth,
                FirstName = p.FirstName,
                LastName  = p.LastName,
                Id        = p.Random.Guid()
            };

            var resolver = new InMemoryTypeResolver();

            resolver.RegisterType <UserCreatedRecordDataContract>();

            // serialize
            CloudEvent expected  = new CloudEvent <UserCreatedRecordDataContract>(userCreated);
            var        formatter = new JsonEventFormatter();
            var        bytes     = formatter.EncodeStructuredModeMessage(expected, out var ct);
            var        json      = Encoding.Default.GetString(bytes.ToArray());

            // When
            var e = formatter.DecodeStructuredModeMessage(bytes, ct, new CloudEventAttribute[0]);
예제 #2
0
        public void GivenASingleEventSerialized_WhenDeserialize_ThenResultIsEquivalentToSource()
        {
            // Given
            var p = new Faker().Person;
            var userCreatedDataContract = new UserCreatedRecordDataContract
            {
                BirthDate = p.DateOfBirth,
                FirstName = p.FirstName,
                LastName  = p.LastName,
                Id        = p.Random.Guid()
            };

            var expected = new CloudEventBuilder <UserCreatedRecordDataContract>().WithData(userCreatedDataContract)
                           .Build();
            var formatter = new JsonEventFormatter <UserCreatedRecordDataContract>();
            var bytes     = formatter.EncodeStructuredModeMessage(expected, out var ct);

            // When
            var e = formatter.DecodeStructuredModeMessage(bytes, ct, new List <CloudEventAttribute>());
            CloudEvent <UserCreatedRecordDataContract> actual = e;

            // Then
            actual.Should().BeEquivalentTo(expected);
        }