public void Test() { _sagaState = new SoftwareProgrammingSagaState(Guid.NewGuid(), SoftwareProgrammingSaga.States.MakingCoffee); _sagaState.RememberPerson(Guid.NewGuid()); _sagaState.ClearEvents(); var data = DomainSerializer.Serialize(_sagaState); _restoredState = DomainSerializer.Deserialize <SoftwareProgrammingSagaState>(data); }
public void Test() { _sagaState = new SoftwareProgrammingSagaState(Guid.NewGuid(), SoftwareProgrammingSaga.States.MakingCoffee); _sagaState.RememberPerson(Guid.NewGuid()); _sagaState.RememberBadCoffeMachine(Guid.NewGuid()); _sagaState.ClearEvents(); var repo = new AggregateSnapshotRepository(AkkaConf.Persistence.JournalConnectionString, GridNode.AggregateFromSnapshotsFactory); repo.Add(_sagaState); _restoredState = LoadSagaState <SoftwareProgrammingSaga, SoftwareProgrammingSagaState>(_sagaState.Id); }
public async Task When_start_message_has_saga_id() { _sagaId = Guid.NewGuid(); _personId = Guid.NewGuid(); var sagaStartEvent = new GotTiredEvent(_personId).CloneWithSaga(_sagaId); await GridNode.NewDebugWaiter() .Expect <MakeCoffeCommand>() .Create() .Publish(sagaStartEvent); _sagaState = LoadSagaState <SoftwareProgrammingSaga, SoftwareProgrammingSagaState>(_sagaId); }
public void Given_new_saga_with_state() { var sagaState = new SoftwareProgrammingSagaState(Guid.NewGuid(), SoftwareProgrammingSaga.States.MakingCoffee); Saga = new SoftwareProgrammingSaga(sagaState); Messages = new[] { new CoffeMakeFailedEvent(sagaState.Id, sagaState.CoffeMachineId), new CoffeMakeFailedEvent(sagaState.Id, sagaState.CoffeMachineId), new CoffeMakeFailedEvent(sagaState.Id, sagaState.CoffeMachineId), new CoffeMakeFailedEvent(sagaState.Id, sagaState.CoffeMachineId) }; }
public void When_remember_message() { var publisher = GridNode.Container.Resolve <IPublisher>(); _sagaId = Guid.NewGuid(); _personId = Guid.NewGuid(); _coffeeMachineId = Guid.NewGuid(); publisher.Publish(new GotTiredEvent(_personId).CloneWithSaga(_sagaId)); publisher.Publish(new CoffeMakeFailedEvent(_coffeeMachineId, _personId).CloneWithSaga(_sagaId)); Thread.Sleep(TimeSpan.FromSeconds(1)); _sagaState = LoadSagaState <SoftwareProgrammingSaga, SoftwareProgrammingSagaState>(_sagaId); }
public Given_State_SoftareProgramming_Saga(SoftwareProgrammingSagaState initialState) { SagaMachine = new SoftwareProgrammingSaga(initialState); SagaDataAggregate = initialState; }
public void Given_new_saga_with_state(SoftwareProgrammingSaga.States states) { var sagaState = new SoftwareProgrammingSagaState(Guid.NewGuid(), states); SagaInstance = new SoftwareProgrammingSaga(sagaState); }