Exemple #1
0
        public void Should_set_and_get_commit_id()
        {
            var commitId = Guid.NewGuid();

            sut.SetCommitId(commitId);

            Assert.Equal(commitId, sut.Headers.CommitId());
            Assert.Equal(commitId, sut.Headers.GetGuid("CommitId"));
        }
        public EventData ToEventData(Envelope <IEvent> envelope, Guid commitId, bool migrate = true)
        {
            var eventPayload = envelope.Payload;

            if (migrate && eventPayload is IMigratedEvent migratedEvent)
            {
                eventPayload = migratedEvent.Migrate();
            }

            var payloadType = typeNameRegistry.GetName(eventPayload.GetType());
            var payloadJson = serializer.Serialize(envelope.Payload);

            envelope.SetCommitId(commitId);

            return(new EventData(payloadType, envelope.Headers, payloadJson));
        }
        public EventData ToEventData(Envelope <IEvent> envelope, Guid commitId, bool migrate = true)
        {
            var eventPayload = envelope.Payload;

            if (migrate && eventPayload is IMigratedEvent migratedEvent)
            {
                eventPayload = migratedEvent.Migrate();
            }

            var eventType = typeNameRegistry.GetName(eventPayload.GetType());

            envelope.SetCommitId(commitId);

            var headers = JToken.FromObject(envelope.Headers, serializer);
            var content = JToken.FromObject(envelope.Payload, serializer);

            return(new EventData {
                Type = eventType, Payload = content, Metadata = headers
            });
        }
        public EventData ToEventData(Envelope <IEvent> envelope, Guid commitId, bool migrate = true)
        {
            var eventPayload = envelope.Payload;

            if (migrate && eventPayload is IMigratedEvent migratedEvent)
            {
                eventPayload = migratedEvent.Migrate();
            }

            var eventType = typeNameRegistry.GetName(eventPayload.GetType());

            envelope.SetCommitId(commitId);

            var headers = WriteJson(envelope.Headers);
            var content = WriteJson(envelope.Payload);

            return(new EventData {
                EventId = envelope.Headers.EventId(), Type = eventType, Payload = content, Metadata = headers
            });
        }
Exemple #5
0
        public EventData ToEventData(Envelope <IEvent> envelope, Guid commitId, bool migrate = true)
        {
            var eventPayload = envelope.Payload;

            if (migrate && eventPayload is IMigrated <IEvent> migratedEvent)
            {
                eventPayload = migratedEvent.Migrate();

                if (ReferenceEquals(migratedEvent, eventPayload))
                {
                    Debug.WriteLine("Migration should return new event.");
                }
            }

            var payloadType = typeNameRegistry.GetName(eventPayload.GetType());
            var payloadJson = serializer.Serialize(envelope.Payload);

            envelope.SetCommitId(commitId);

            return(new EventData(payloadType, envelope.Headers, payloadJson));
        }
        public void Should_serialize_and_deserialize_envelope()
        {
            var commitId = Guid.NewGuid();

            var inputEvent = new Envelope <MyEvent>(new MyEvent {
                MyProperty = "My-Property"
            });

            inputEvent.SetAggregateId(Guid.NewGuid());
            inputEvent.SetCommitId(commitId);
            inputEvent.SetEventId(Guid.NewGuid());
            inputEvent.SetEventPosition("1");
            inputEvent.SetEventStreamNumber(1);
            inputEvent.SetTimestamp(SystemClock.Instance.GetCurrentInstant());

            var eventData = sut.ToEventData(inputEvent.To <IEvent>(), commitId);

            var outputEvent = sut.Parse(eventData).To <MyEvent>();

            AssertHeaders(inputEvent.Headers, outputEvent.Headers);
            AssertPayload(inputEvent, outputEvent);
        }