public async Task RevisionIsIncrementedOnEachUpdate() { var sagaId = Guid.NewGuid(); var initialTransientInstance = new TestSagaData { Id = sagaId, Data = "yes, den kender jeg" }; Assert.That(initialTransientInstance.Revision, Is.EqualTo(0)); await _sagaStorage.Insert(initialTransientInstance, _noCorrelationProperties); var loadedSagaData0 = await _sagaStorage.Find(typeof(TestSagaData), "Id", sagaId); Assert.That(loadedSagaData0.Revision, Is.EqualTo(0)); Assert.That(initialTransientInstance.Revision, Is.EqualTo(0)); await _sagaStorage.Update(loadedSagaData0, _noCorrelationProperties); var loadedSagaData1 = await _sagaStorage.Find(typeof(TestSagaData), "Id", sagaId); Assert.That(loadedSagaData0.Revision, Is.EqualTo(1)); Assert.That(loadedSagaData1.Revision, Is.EqualTo(1)); await _sagaStorage.Update(loadedSagaData1, _noCorrelationProperties); var loadedSagaData2 = await _sagaStorage.Find(typeof(TestSagaData), "Id", sagaId); Assert.That(loadedSagaData1.Revision, Is.EqualTo(2)); Assert.That(loadedSagaData2.Revision, Is.EqualTo(2)); }
public async Task Update(ISagaData sagaData, IEnumerable <ISagaCorrelationProperty> correlationProperties) { await Task.Delay(_delayMilliseconds); await _sagaStorage.Update(sagaData, correlationProperties); }
public async Task Update(ISagaData sagaData, IEnumerable <ISagaCorrelationProperty> correlationProperties) { await _innerSagaStorage.Update(sagaData, correlationProperties); _persistentSagaData[sagaData.Id] = sagaData; }