public async Task GetOrCreateAsync_Generic_OK() { // arrange var expectedBytes = Encoding.UTF8.GetBytes("{\"Id\":1,\"Name\":\"Test\"}"); var cache = new Mock <IDistributedCache>(); var logger = new Mock <ILogger <DistributedCacheService> >(); cache.Setup(m => m.GetAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())).ReturnsAsync((byte[])null); var svc = new DistributedCacheService(cache.Object, logger.Object); const string key = "test"; // act var _ = await svc.GetOrCreateAsync(key, _ => Task.FromResult(new MyClass { Id = 1, Name = "Test" })); // assert cache.Verify(m => m.GetAsync(key, It.IsAny <CancellationToken>())); cache.Verify(m => m.SetAsync(key, It.Is <byte[]>(x => x.SequenceEqual(expectedBytes)), It.IsAny <DistributedCacheEntryOptions>(), It.IsAny <CancellationToken>())); cache.VerifyNoOtherCalls(); logger.Verify(m => m.IsEnabled(LogLevel.Trace)); logger.VerifyNoOtherCalls(); }
public async Task GetValueAsync_Missing_Null() { // arrange var svc = new DistributedCacheService(new MemoryDistributedCache(_opts), new NullLogger <DistributedCacheService>()); // act & assert (await svc.GetValueAsync <int>("test")).ShouldBeNull(); }
public void GetValue_Missing_Null() { // arrange var svc = new DistributedCacheService(new MemoryDistributedCache(_opts), new NullLogger <DistributedCacheService>()); // act & assert svc.GetValue <int>("test").ShouldBeNull(); }
public async Task GetValueAsync_Found_OK() { // arrange var svc = new DistributedCacheService(new MemoryDistributedCache(_opts), new NullLogger <DistributedCacheService>()); const int val = 80; await svc.SetValueAsync("test", val, new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(1) }); // act & assert (await svc.GetValueAsync <int>("test")).ShouldBe(val); }
public async Task GetReferenceAsync_Found_OK() { // arrange var svc = new DistributedCacheService(new MemoryDistributedCache(_opts), new NullLogger <DistributedCacheService>()); var val = new MyClass { Id = 80, Name = "testval" }; await svc.SetAsync("test", val, new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(1) }); // act & assert (await svc.GetAsync <MyClass>("test")).ShouldBeEquivalentTo(val); }
public void Get_OK() { // arrange var cache = new Mock <IDistributedCache>(); var svc = new DistributedCacheService(cache.Object, new NullLogger <DistributedCacheService>()); // act var _ = svc.Get <string>("test"); // assert cache.Verify(m => m.Get("test")); cache.VerifyNoOtherCalls(); }
public async Task GetAsyncGeneric_OK() { // arrange var cache = new Mock <IDistributedCache>(); var svc = new DistributedCacheService(cache.Object, new NullLogger <DistributedCacheService>()); // act var _ = await svc.GetAsync <MyClass>("test"); // assert cache.Verify(m => m.GetAsync("test", It.IsAny <CancellationToken>())); cache.VerifyNoOtherCalls(); }
public void Remove_OK() { // arrange var cache = new Mock <IDistributedCache>(); var svc = new DistributedCacheService(cache.Object, new NullLogger <DistributedCacheService>()); // act svc.Remove("test"); // assert cache.Verify(m => m.Remove("test")); cache.VerifyNoOtherCalls(); }
public void GetValue_Found_OK() { // arrange var svc = new DistributedCacheService(new MemoryDistributedCache(_opts), new NullLogger <DistributedCacheService>()); var val = 80; svc.SetValue("test", val, new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(1) }); // act & assert svc.GetValue <int>("test").ShouldBe(val); }
public void Set_OK() { // arrange var expectedBytes = Encoding.UTF8.GetBytes("\"blob\""); var cache = new Mock <IDistributedCache>(); var svc = new DistributedCacheService(cache.Object, new NullLogger <DistributedCacheService>()); // act var _ = svc.Set("test", _ => "blob"); // assert cache.Verify(m => m.Set("test", It.Is <byte[]>(x => x.SequenceEqual(expectedBytes)), It.IsAny <DistributedCacheEntryOptions>())); cache.VerifyNoOtherCalls(); }
public async Task SetAsync_OK() { // arrange var expectedBytes = Encoding.UTF8.GetBytes("\"blob\""); var cache = new Mock <IDistributedCache>(); var svc = new DistributedCacheService(cache.Object, new NullLogger <DistributedCacheService>()); // act var _ = await svc.SetAsync("test", _ => Task.FromResult("blob")); // assert cache.Verify(m => m.SetAsync("test", It.Is <byte[]>(x => x.SequenceEqual(expectedBytes)), It.IsAny <DistributedCacheEntryOptions>(), It.IsAny <CancellationToken>())); cache.VerifyNoOtherCalls(); }
public async Task GetAsyncGeneric_Integration_OK() { // arrange var cache = new MemoryDistributedCache(new OptionsWrapper <MemoryDistributedCacheOptions>(new MemoryDistributedCacheOptions())); await cache.SetStringAsync("test", "{ \"Id\": 1, \"Name\": \"Test\" }"); var svc = new DistributedCacheService(cache, new NullLogger <DistributedCacheService>()); // act var result = await svc.GetAsync <MyClass>("test"); // assert result.ShouldNotBeNull(); result.Id.ShouldBe(1); result.Name.ShouldBe("Test"); }
public void Set_Generic_OK() { // arrange var expectedBytes = Encoding.UTF8.GetBytes("{\"Id\":1,\"Name\":\"Test\"}"); var cache = new Mock <IDistributedCache>(); var svc = new DistributedCacheService(cache.Object, new NullLogger <DistributedCacheService>()); // act var _ = svc.Set("test", _ => new MyClass { Id = 1, Name = "Test" }); // assert cache.Verify(m => m.Set("test", It.Is <byte[]>(x => x.SequenceEqual(expectedBytes)), It.IsAny <DistributedCacheEntryOptions>())); cache.VerifyNoOtherCalls(); }