public void Test()
        {
            var nri = "net://" + Guid.NewGuid();

            Assert.IsFalse(_cacheKernelAdapter.Match(nri));
            Assert.AreEqual(0, _cacheKernelAdapter.Statistics.ResourcesCached);
            Assert.AreEqual(0, _cacheKernelAdapter.Statistics.CacheSize);
            Assert.AreEqual(0, _cacheKernelAdapter.Statistics.CachedEnergyValue);

            var req = new Request { NetResourceLocator = nri };
            var rep = new Response
            {
                Status = ResponseCode.Ok,
                Resource = new ResourceRepresentation
                {
                    Body = "TEST",
                    Cacheable = true,
                    Energy = 100000,
                    Expires = DateTime.MaxValue,
                    MediaType = "text/plain",
                    NetResourceIdentifier = nri,
                    Size = 4
                }
            };

            _cacheKernelAdapter.PostProcess(req, rep);

            Assert.IsTrue(_cacheKernelAdapter.Match(nri));
            Assert.AreEqual(1, _cacheKernelAdapter.Statistics.ResourcesCached);
            Assert.AreEqual(rep.Resource.Size, _cacheKernelAdapter.Statistics.CacheSize);
            Assert.AreEqual(rep.Resource.Energy, _cacheKernelAdapter.Statistics.CachedEnergyValue);
        }
Exemplo n.º 2
0
        public void Cache_noncanonical_nrl()
        {
            var nri = "net://" + Guid.NewGuid();
            var nrl = "net://" + Guid.NewGuid();

            Assert.IsFalse(_cacheKernelAdapter.Match(nri));
            Assert.IsFalse(_cacheKernelAdapter.Match(nrl));
            Assert.AreEqual(0, _cacheKernelAdapter.Statistics.ResourcesCached);

            var req = new Request { NetResourceLocator = nrl };
            var req2 = new Request { NetResourceLocator = nri };
            var rep = new Response
            {
                Status = ResponseCode.Ok,
                Resource = new ResourceRepresentation
                {
                    Body = "TEST",
                    Cacheable = true,
                    Energy = 100000,
                    Expires = DateTime.MaxValue,
                    MediaType = "text/plain",
                    NetResourceIdentifier = nri,
                    Size = 4
                }
            };

            _cacheKernelAdapter.PostProcess(req, rep);

            Assert.IsTrue(_cacheKernelAdapter.Match(nri));
            Assert.IsTrue(_cacheKernelAdapter.Match(nrl));
            Assert.AreEqual(1, _cacheKernelAdapter.Statistics.ResourcesCached);
            var a = _cacheKernelAdapter.Handler(req);
            var b = _cacheKernelAdapter.Handler(req2);
            Assert.IsNotNull(a);
            Assert.AreSame(a.Resource,b.Resource);
        }