// ReSharper disable once TooManyDeclarations public async void CachingBehavior_CallHandlerWithCacheableRequest_ReturnCachedObject() { // Arrange var cacheableRequest = new FooRequestCacheable(TimeSpan.FromMilliseconds(10)); var cachedObjectTime = DateTime.UtcNow; var actual = new RefTypeObject { Foo = 1, Bar = "bar", Created = cachedObjectTime }; var sut = new CachingBehavior <FooRequestCacheable, RefTypeObject>(_cache, _loggerFactory); // Act // call delegate, cache and return result await sut.Handle(cacheableRequest, CancellationToken.None, async() => await Task.FromResult(actual)); // waiting to spend some time await Task.Delay(5); // return cached result, even-though wrong result expected from delegate var expected = await sut.Handle(cacheableRequest, CancellationToken.None, async() => await Task.FromResult(new RefTypeObject())); // Assert Assert.Equal(expected.Created, cachedObjectTime); }
public async void RefTypeExtensions_ASyncMethodSet_GetExpected() { // arrange const string key = "RefType_ASync_Get_Set"; var expected = new RefTypeObject { foo = 1, bar = "test", Created = DateTime.Now }; await _cache.SetAsync(key, expected, new DistributedCacheEntryOptions()); // act var actual = await _cache.GetAsync <RefTypeObject>(key); // assert Assert.Equal(expected, actual); }
public void MessagePack_SerializeAndDeSerialize_ReturnSame() { // arrange var sut = new MessagePackSerializer(); var actual = new RefTypeObject { foo = 1, bar = "test", Created = DateTime.UtcNow }; // act var bytes = sut.Serialize(actual); var expected = sut.Deserialize <RefTypeObject>(bytes); // assert Assert.Equal(expected, actual); }
public void RefType_Basic_Get_Set() { // arrange const string key = "basic-test"; var expected = new RefTypeObject { foo = 1, bar = "test", Created = DateTime.UtcNow }; _session.Set(key, expected); // act var actual = _session.Get <RefTypeObject>(key); // assert Assert.Equal(expected, actual); }
public void RefValue_TryGetValue() { //Given const string key = "tryGetValue-test"; var expected = new RefTypeObject { foo = 1, bar = "test", Created = DateTime.UtcNow }; _session.Set(key, expected); //When var result = _session.TryGetValue <RefTypeObject>(key, out var actual); //Then Assert.True(result); Assert.Equal(expected, actual); }
public async void CachingBehavior_CallHandlerWithNormalRequest_ReturnExpectedObject() { //Given var request = new FooRequest(); var actual = new RefTypeObject { Foo = 1, Bar = "bar", Created = DateTime.UtcNow }; var sut = new CachingBehavior <FooRequest, RefTypeObject>(_cache, _loggerFactory); //When var expected = await sut.Handle(request, CancellationToken.None, async() => await Task.FromResult(actual)); //Then Assert.Equal(expected, actual); }
public async void DistributedCacheHelperExtensions_AsyncGetOrCreate_GetExpected() { // arrange const string key = "GetOrCreateAsync_Test"; var expected = new RefTypeObject { foo = 1, bar = "test", Created = DateTime.UtcNow }; Func <Task <RefTypeObject> > factory = () => { return(Task.FromResult(expected)); }; // act var cacheResult = await _cache.GetOrCreateAsync(key, factory); // assert Assert.Equal(expected, cacheResult); Assert.Equal(expected, _cache.Get <RefTypeObject>(key)); }