public void CanWriteCacheVaryByRules() { var cache = new MemoryDistributedCache(Options.Create(new MemoryDistributedCacheOptions())); var responseCache = new DistributedResponseCache(cache); using var stream = new MemoryStream(); using (var writer = new StreamWriter(stream, leaveOpen: true)) { writer.Write("data"); } stream.Position = 0; Assert.That(() => responseCache.Set("test", new CachedVaryByRules { Headers = new StringValues("x-test-header"), QueryKeys = new StringValues("x-test-query"), VaryByKeyPrefix = "test" }, TimeSpan.FromMinutes(1)), Throws.Nothing); var item = responseCache.Get("test"); Assert.That(item, Is.Not.Null); var realItem = item as CachedVaryByRules; Assert.That(item, Is.Not.Null); }
public void Set(string key, IResponseCacheEntry entry, TimeSpan validFor) { if (!cacheController.ShouldWriteToCache) { return; } cache.Set(key, entry, validFor); }
public void CanWriteCachedResponse() { var mockDistributedCache = new Mock <IDistributedCache>(); var responseCache = new DistributedResponseCache(mockDistributedCache.Object); using var stream = new MemoryStream(); using (var writer = new StreamWriter(stream, leaveOpen: true)) { writer.Write("data"); } stream.Position = 0; Assert.That(() => responseCache.Set("test", new CachedResponse { Body = stream, Headers = new HeaderDictionary(new Dictionary <string, StringValues> { ["x-test-header"] = "testing...testing" }) }, TimeSpan.FromMinutes(1)), Throws.Nothing); }