public override void Handle(SampleAggregateChangedEvent msg)
 {
     base.Handle(msg);
     EventsReplayInfoHolder.ProcessedMessages[msg.SourceId].Add(new ProcessedHistory
     {
         SequenceNumber = msg.History.SequenceNumber,
         HandlerName    = this.GetType().Name
     });
 }
        public void Message_process_actor_produce_fault_with_sagaId_from_incoming_message(string payload)
        {
            var message = new SampleAggregateChangedEvent(payload, Guid.NewGuid(), DateTime.Now, Guid.NewGuid());

            var transport = new LocalAkkaEventBusTransport(Sys);

            transport.Subscribe <IMessageMetadataEnvelop <Fault <SampleAggregateChangedEvent> > >(TestActor);

            var actor = Sys.ActorOf(Props.Create(() =>
                                                 new MessageHandlingActor <SampleAggregateChangedEvent, OddFaultyMessageHandler>(
                                                     new OddFaultyMessageHandler(transport),
                                                     transport)));

            actor.Tell(message);
            var fault = ExpectMsg <IMessageMetadataEnvelop <Fault <SampleAggregateChangedEvent> > >();

            Assert.AreEqual(message.SagaId, fault.Message.SagaId);
        }
        public void Given_persisted_domain_events_when_replaying_it_for_existing_aggregate_id()
        {
            var aggregateId = Guid.NewGuid();

            _sampleAggregateCreatedEvent = new SampleAggregateCreatedEvent("123", aggregateId);
            _sampleAggregateChangedEvent = new SampleAggregateChangedEvent("234", aggregateId);

            SaveInJournal <SampleAggregate>(aggregateId, _sampleAggregateCreatedEvent, _sampleAggregateChangedEvent);

            EventsReplayInfoHolder.ProcessedMessages[aggregateId] = new List <ProcessedHistory>();

            var chronicle = new AkkaEventsChronicle(new AutoTestAkkaConfiguration());

            //chronicle.Router.RegisterHandler<SampleAggregateCreatedEvent, AggregateCreatedProjectionBuilder_Test>(e => e.SourceId);
            chronicle.Router.RegisterHandler <SampleAggregateChangedEvent, AggregateChangedProjectionBuilder_Test>(e => e.SourceId);
            chronicle.Replay <SampleAggregate>(aggregateId);
            Thread.Sleep(2000);
        }
        public void Given_only_aggregate_events_persisted_it_can_be_loaded(IRepository <DomainEvent> eventRepo, AggregateRepository aggrRepo)
        {
            try
            {
                _sourceId     = Guid.NewGuid();
                _createdEvent = new SampleAggregateCreatedEvent("initial value", _sourceId);
                _changedEvent = new SampleAggregateChangedEvent("changed value", _sourceId);

                string persistenceId = AggregateActorName.New <SampleAggregate>(_sourceId).ToString();
                eventRepo.Save(persistenceId, _createdEvent, _changedEvent);
                _aggregate = aggrRepo.LoadAggregate <SampleAggregate>(_sourceId);

                Assert.AreEqual(_sourceId, _aggregate.Id);
                Assert.AreEqual(_changedEvent.Value, _aggregate.Value);
            }
            finally
            {
                eventRepo.Dispose();
                aggrRepo.Dispose();
            }
        }
Example #5
0
 private void Apply(SampleAggregateChangedEvent e)
 {
     Value = e.Value;
 }
Example #6
0
 public MessageHandleException(SampleAggregateChangedEvent msg)
 {
     Msg = msg;
 }