Example #1
0
        public void Event_to_publish_gets_deserialized_using_id_from_serialized_event()
        {
            var otherId = Guid.NewGuid();
            var json    = $"{{\"Id\":\"{otherId}\",\"AggregateId\":\"{_aggregateId.ToString()}\",\"CommandId\":\"{_commandId.ToString()}\",\"StringProperty\":\"{StringPropertyValue}\"}}";

            var eventToPublish = new EventToPublish
            {
                Id        = _id,
                Data      = json,
                EventType = typeof(TestEvent).FullName,
                Created   = new DateTime(2018, 1, 1)
            };

            var @event = _eventToPublishSerializer.Deserialize(eventToPublish);

            Assert.That(@event.Id, Is.EqualTo(_id));
            Assert.That(@event.AggregateId, Is.EqualTo(_aggregateId));
            Assert.That(@event.CommandId, Is.EqualTo(_commandId));
            Assert.That(@event.GetType(), Is.EqualTo(typeof(TestEvent)));
            Assert.That(((TestEvent)@event).StringProperty, Is.EqualTo(StringPropertyValue));
        }
Example #2
0
        public void SetUp()
        {
            // TODO: don't like all the mocking and stubbing - very brittle. Consider rewriting integrating with in-memory masstransit bus and db (wasn't sure about how to capture the transactional bit though in an integration test).
            _event = new TestEvent {
                Id = _id
            };
            _id             = new Guid("44BFA323-9BD7-4C0F-8B01-5C8A23E650EB");
            _eventToPublish = new EventToPublish {
                Id = _id
            };
            SetupEventToPublishSerializer();
            AssumingThereIsOneEventToPublish();
            NoteWhenEventToPublishBeingDeletedAsPartOfTransaction();
            _busControl = Substitute.For <IBusControl>();
            SetUpUnitOfWork();
            _eventToPublishRepository.UnitOfWork.Returns(_unitOfWork);
            _outboxToMessageBusPublisher = new OutboxToMessageBusPublisher(
                _eventToPublishRepository,
                _busControl,
                _eventToPublishSerializer);

            _outboxToMessageBusPublisher.PublishQueuedMessages();
        }
Example #3
0
 public void Delete(EventToPublish eventToPublish)
 {
     _eventToPublishRepository.Delete(eventToPublish);
 }
 public void Delete(EventToPublish eventToPublish)
 {
     EventStoreDbContext.EventsToPublish.Remove(eventToPublish);
 }