public async Task Should_Set_Get_And_Remove_Cache_Items() { var personCache = GetRequiredService <IDistributedCache <PersonCacheItem> >(); var cacheKey = Guid.NewGuid().ToString(); const string personName = "john nash"; //Get (not exists yet) var cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldBeNull(); //Set cacheItem = new PersonCacheItem(personName); await personCache.SetAsync(cacheKey, cacheItem).ConfigureAwait(false); //Get (it should be available now cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldNotBeNull(); cacheItem.Name.ShouldBe(personName); //Remove await personCache.RemoveAsync(cacheKey).ConfigureAwait(false); //Get (not exists since removed) cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldBeNull(); }
public async Task Should_Set_Get_And_Remove_Cache_Items_With_Object_Type_CacheKey() { var personCache = GetRequiredService <IDistributedCache <PersonCacheItem, ComplexObjectAsCacheKey> >(); var cacheKey = new ComplexObjectAsCacheKey { Name = "DummyData", Age = 42 }; const string personName = "john nash"; //Get (not exists yet) var cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldBeNull(); //Set cacheItem = new PersonCacheItem(personName); await personCache.SetAsync(cacheKey, cacheItem).ConfigureAwait(false); //Get (it should be available now cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldNotBeNull(); cacheItem.Name.ShouldBe(personName); //Remove await personCache.RemoveAsync(cacheKey).ConfigureAwait(false); //Get (not exists since removed) cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldBeNull(); }
public async Task Should_Set_Get_And_Remove_Cache_Items_With_Integer_Type_CacheKey() { var personCache = GetRequiredService <IDistributedCache <PersonCacheItem, int> >(); var cacheKey = 42; const string personName = "john nash"; //Get (not exists yet) var cacheItem = await personCache.GetAsync(cacheKey); cacheItem.ShouldBeNull(); //Set cacheItem = new PersonCacheItem(personName); await personCache.SetAsync(cacheKey, cacheItem); //Get (it should be available now cacheItem = await personCache.GetAsync(cacheKey); cacheItem.ShouldNotBeNull(); cacheItem.Name.ShouldBe(personName); //Remove await personCache.RemoveAsync(cacheKey); //Get (not exists since removed) cacheItem = await personCache.GetAsync(cacheKey); cacheItem.ShouldBeNull(); }
public async Task SameClassName_But_DiffNamespace_Should_Not_Use_Same_Cache() { var personCache = GetRequiredService <IDistributedCache <PersonCacheItem> >(); var otherPersonCache = GetRequiredService <IDistributedCache <Sail.Testing.Caching.PersonCacheItem> >(); var cacheKey = Guid.NewGuid().ToString(); const string personName = "john nash"; //Get (not exists yet) var cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldBeNull(); var cacheItem1 = await otherPersonCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem1.ShouldBeNull(); //Set cacheItem = new PersonCacheItem(personName); await personCache.SetAsync(cacheKey, cacheItem).ConfigureAwait(false); //Get (it should be available now, but otherPersonCache not exists now. cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldNotBeNull(); cacheItem.Name.ShouldBe(personName); cacheItem1 = await otherPersonCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem1.ShouldBeNull(); //set other person cache cacheItem1 = new Sail.Testing.Caching.PersonCacheItem(personName); await otherPersonCache.SetAsync(cacheKey, cacheItem1).ConfigureAwait(false); cacheItem1 = await otherPersonCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem1.ShouldNotBeNull(); cacheItem1.Name.ShouldBe(personName); //Remove await personCache.RemoveAsync(cacheKey).ConfigureAwait(false); //Get (not exists since removed) cacheItem = await personCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem.ShouldBeNull(); cacheItem1 = await otherPersonCache.GetAsync(cacheKey).ConfigureAwait(false); cacheItem1.ShouldNotBeNull(); }
public async Task Should_Set_Get_And_Remove_Cache_Items_For_Same_Object_Type_With_Different_CacheKeys() { var personCache = GetRequiredService <IDistributedCache <PersonCacheItem, ComplexObjectAsCacheKey> >(); var cache1Key = new ComplexObjectAsCacheKey { Name = "John", Age = 42 }; var cache2Key = new ComplexObjectAsCacheKey { Name = "Jenny", Age = 24 }; const string personName = "john nash"; //Get (not exists yet) var cacheItem1 = await personCache.GetAsync(cache1Key).ConfigureAwait(false); var cacheItem2 = await personCache.GetAsync(cache2Key).ConfigureAwait(false); cacheItem1.ShouldBeNull(); cacheItem2.ShouldBeNull(); //Set cacheItem1 = new PersonCacheItem(personName); cacheItem2 = new PersonCacheItem(personName); await personCache.SetAsync(cache1Key, cacheItem1).ConfigureAwait(false); await personCache.SetAsync(cache2Key, cacheItem2).ConfigureAwait(false); //Get (it should be available now cacheItem1 = await personCache.GetAsync(cache1Key).ConfigureAwait(false); cacheItem1.ShouldNotBeNull(); cacheItem1.Name.ShouldBe(personName); cacheItem2 = await personCache.GetAsync(cache2Key).ConfigureAwait(false); cacheItem2.ShouldNotBeNull(); cacheItem2.Name.ShouldBe(personName); //Remove await personCache.RemoveAsync(cache1Key).ConfigureAwait(false); await personCache.RemoveAsync(cache2Key).ConfigureAwait(false); //Get (not exists since removed) cacheItem1 = await personCache.GetAsync(cache1Key).ConfigureAwait(false); cacheItem1.ShouldBeNull(); cacheItem2 = await personCache.GetAsync(cache2Key).ConfigureAwait(false); cacheItem2.ShouldBeNull(); }