public void ShouldThrowWhenUpdatingTwoInstancesOfSameDataAtTheSameTime() { // Arrange IProcessManagerData data1 = new TestData { CorrelationId = _correlationId, Name = "TestData1" }; _collection.Save(new MongoDbData<IProcessManagerData> { Data = data1 }); IProcessManagerFinder processManagerFinder = new MongoDbProcessManagerFinder(_connectionString, _dbName); var foundData1 = processManagerFinder.FindData<TestData>(_mapper, new Message(_correlationId)); var foundData2 = processManagerFinder.FindData<TestData>(_mapper, new Message(_correlationId)); processManagerFinder.UpdateData(foundData1); // first update should be fine // Act / Assert Assert.Throws<ArgumentException>(() => processManagerFinder.UpdateData(foundData2)); // second update should fail }
public void ShouldReturnNullWhenDataNotFound() { // Arrange IProcessManagerFinder processManagerFinder = new MongoDbProcessManagerFinder(_connectionString, _dbName); // Act var result = processManagerFinder.FindData<TestData>(_mapper, new Message(_correlationId)); // Assert Assert.Null(result); }
public void ShouldFindData() { // Arrange IProcessManagerData data = new TestData { CorrelationId = _correlationId, Name = "TestData" }; _collection.Save(new MongoDbData<IProcessManagerData> { Data = data }); IProcessManagerFinder processManagerFinder = new MongoDbProcessManagerFinder(_connectionString, _dbName); // Act var result = processManagerFinder.FindData<TestData>(_mapper, new Message(_correlationId)); // Assert Assert.Equal("TestData", result.Data.Name); }
public IPersistanceData <T> FindData <T>(IProcessManagerPropertyMapper mapper, Message message) where T : class, IProcessManagerData { return(Finder.FindData <T>(mapper, message)); }
public void ShouldReturnNullWhenDataNotFound() { // Arrange IProcessManagerFinder processManagerFinder = new MongoDbProcessManagerFinder(_connectionString, _dbName); // Act //var result = processManagerFinder.FindData<TestData>(_correlationId); var result = processManagerFinder.FindData<TestData>(_mapper, new Message(_correlationId)); // Assert Assert.Null(result); }