public void Aggressively_Cached_Load_Should_Be_Invalidated_Upon_Change() { using (var server = GetNewServer(enableAuthentication: true)) { var serverUrl = ConfigureApiKeys(server); using (var docStore = new DocumentStore { Url = serverUrl + "databases/Foo", ApiKey = "Foo/ThisIsMySecret2", Conventions = { ShouldAggressiveCacheTrackChanges = true } }) { docStore.Initialize(); DeleteAllCars(docStore); StoreCars(docStore); using (var session = docStore.OpenSession("Foo")) { var car = GetAggressivelyCachedCar(session); Assert.True(car.Brand.Equals("Volvo", StringComparison.OrdinalIgnoreCase)); } using (var session = docStore.OpenSession()) { docStore.GetObserveChangesAndEvictItemsFromCacheTask().Wait(); var car = session.Load<Car>("car/2"); car.Brand = "BMW"; session.SaveChanges(); } using (var session = docStore.OpenSession("Foo")) { var car = GetAggressivelyCachedCar(session); Assert.True(car.Brand.Equals("BMW", StringComparison.OrdinalIgnoreCase)); } } } }