public void FileExistsVppLaterTest()
 {
     var path = "~/index.cshtml";
     var cache = new FileExistenceCache(GetVpp(path));
     Assert.True(cache.FileExists(path));
     Assert.False(cache.FileExists("~/test.cshtml"));
 }
示例#2
0
 internal BuildManagerViewEngine(IViewPageActivator viewPageActivator, IResolver <IViewPageActivator> activatorResolver, IDependencyResolver dependencyResolver, VirtualPathProvider pathProvider)
 {
     if (viewPageActivator != null)
     {
         _viewPageActivator = viewPageActivator;
     }
     else
     {
         _activatorResolver = activatorResolver ?? new SingleServiceResolver <IViewPageActivator>(
             () => null,
             new DefaultViewPageActivator(dependencyResolver),
             "BuildManagerViewEngine constructor");
     }
     if (pathProvider != null)
     {
         _fileExistsCache = new FileExistenceCache(pathProvider);
     }
     else
     {
         if (_sharedFileExistsCache == null)
         {
             VirtualPathProvider defaultPathProvider = HostingEnvironment.VirtualPathProvider;
             // Path provider may not be present in test context.
             if (defaultPathProvider != null)
             {
                 // Startup initialization race is OK providing service remains read-only
                 _sharedFileExistsCache = new FileExistenceCache(HostingEnvironment.VirtualPathProvider);
             }
         }
         _fileExistsCache = _sharedFileExistsCache;
     }
 }
 public void ResetTest()
 {
     var cache = new FileExistenceCache(GetVpp());
     var cacheInternal = cache.CacheInternal;
     cache.Reset();
     Assert.NotSame(cacheInternal, cache.CacheInternal);
 }
 public void TimeExceededTrueTest()
 {
     var ms = 5;
     var cache = new FileExistenceCache(GetVpp(), ms);
     Thread.Sleep(300);
     Assert.True(cache.TimeExceeded);
 }
        public void TimeExceededFalseTest()
        {
            var ms    = 100000;
            var cache = new FileExistenceCache(GetVpp(), ms);

            Assert.False(cache.TimeExceeded);
        }
        public void FileExistsTest_VPPRegistrationChanging()
        {
            // Arrange
            string path = "~/Index.cshtml";
            Mock <VirtualPathProvider> mockProvider = new Mock <VirtualPathProvider>(
                MockBehavior.Strict
                );

            mockProvider
            .Setup(c => c.FileExists(It.IsAny <string>()))
            .Returns <string>(p => p.Equals(path))
            .Verifiable();
            VirtualPathProvider provider = null;

            // Act
            FileExistenceCache cache = new FileExistenceCache(() => provider);

            // The moral equivalent of HostingEnvironment.RegisterVirtualPathProvider(mockProvider.Object)
            provider = mockProvider.Object;

            bool createExists = cache.FileExists("~/Create.cshtml");
            bool indexExists  = cache.FileExists(path);

            // Assert
            Assert.False(createExists);
            Assert.True(indexExists);
            mockProvider.Verify();
            mockProvider.Verify(vpp => vpp.FileExists(It.IsAny <string>()), Times.Exactly(2));
        }
        public void ConstructorTestWithNull()
        {
            // Arrange & Act
            FileExistenceCache cache = new FileExistenceCache(() => null);

            // Assert
            Assert.Null(cache.VirtualPathProvider);
        }
        public void TimeExceededTrueTest()
        {
            var ms    = 5;
            var cache = new FileExistenceCache(GetVpp(), ms);

            Thread.Sleep(300);
            Assert.True(cache.TimeExceeded);
        }
        public void ConstructorTestWithNull()
        {
            // Arrange & Act
            FileExistenceCache cache = new FileExistenceCache(() => null);

            // Assert
            Assert.Null(cache.VirtualPathProvider);
        }
示例#10
0
        public void ResetTest()
        {
            var cache         = new FileExistenceCache(null);
            var cacheInternal = cache.CacheInternal;

            cache.Reset();
            Assert.AreNotEqual(cacheInternal, cache.CacheInternal);
        }
        public void FileExistsVppLaterTest()
        {
            var path  = "~/index.cshtml";
            var cache = new FileExistenceCache(GetVpp(path));

            Assert.True(cache.FileExists(path));
            Assert.False(cache.FileExists("~/test.cshtml"));
        }
        public void ResetTest()
        {
            var cache         = new FileExistenceCache(GetVpp());
            var cacheInternal = cache.CacheInternal;

            cache.Reset();
            Assert.NotSame(cacheInternal, cache.CacheInternal);
        }
示例#13
0
 public void FileExistsTest()
 {
     AppDomainUtils.RunInSeparateAppDomain(() => {
         var path = "~/index.cshtml";
         Utils.SetupVirtualPathInAppDomain(path, "");
         var cache = FileExistenceCache.GetInstance();
         Assert.IsTrue(cache.FileExists(path));
         Assert.IsFalse(cache.FileExists("~/test.cshtml"));
     });
 }
        public void FileExistsTimeExceededTest()
        {
            var path = "~/index.cshtml";
            Utils.SetupVirtualPathInAppDomain(path, "");

            var cache = new FileExistenceCache(GetVpp(path));
            var cacheInternal = cache.CacheInternal;
            cache.MilliSecondsBeforeReset = 5;
            Thread.Sleep(300);
            Assert.True(cache.FileExists(path));
            Assert.False(cache.FileExists("~/test.cshtml"));
            Assert.NotEqual(cacheInternal, cache.CacheInternal);
        }
示例#15
0
 public void FileExistsTimeExceededTest()
 {
     AppDomainUtils.RunInSeparateAppDomain(() => {
         var path = "~/index.cshtml";
         Utils.SetupVirtualPathInAppDomain(path, "");
         var cache                     = FileExistenceCache.GetInstance();
         var cacheInternal             = cache.CacheInternal;
         cache.MilliSecondsBeforeReset = 5;
         Thread.Sleep(300);
         Assert.IsTrue(cache.FileExists(path));
         Assert.IsFalse(cache.FileExists("~/test.cshtml"));
         Assert.AreNotEqual(cacheInternal, cache.CacheInternal);
     });
 }
        public void ConstructorTest()
        {
            var ms = 1000;
            FileExistenceCache cache;

            var vpp = new Mock<VirtualPathProvider>().Object;
            cache = new FileExistenceCache(vpp);
            Assert.Equal(vpp, cache.VirtualPathProvider);
            Assert.Equal(ms, cache.MilliSecondsBeforeReset);

            ms = 9999;
            cache = new FileExistenceCache(vpp, ms);
            Assert.Equal(vpp, cache.VirtualPathProvider);
            Assert.Equal(ms, cache.MilliSecondsBeforeReset);
        }
示例#17
0
        public void FileExistsTimeExceededTest()
        {
            var path = "~/index.cshtml";

            Utils.SetupVirtualPathInAppDomain(path, "");

            var cache         = new FileExistenceCache(GetVpp(path));
            var cacheInternal = cache.CacheInternal;

            cache.MilliSecondsBeforeReset = 5;
            Thread.Sleep(300);
            Assert.True(cache.FileExists(path));
            Assert.False(cache.FileExists("~/test.cshtml"));
            Assert.NotEqual(cacheInternal, cache.CacheInternal);
        }
        public void ConstructorTest_VPPRegistrationChanging()
        {
            // Arrange
            Mock <VirtualPathProvider> mockProvider = new Mock <VirtualPathProvider>(MockBehavior.Strict);
            VirtualPathProvider        provider     = null;

            // Act
            FileExistenceCache cache = new FileExistenceCache(() => provider);

            // The moral equivalent of HostingEnvironment.RegisterVirtualPathProvider(mockProvider.Object)
            provider = mockProvider.Object;

            // Assert
            Assert.Equal(provider, cache.VirtualPathProvider);
            mockProvider.Verify();
        }
        public void ConstructorTest()
        {
            var ms = 1000;
            FileExistenceCache cache;

            var vpp = new Mock <VirtualPathProvider>().Object;

            cache = new FileExistenceCache(vpp);
            Assert.Equal(vpp, cache.VirtualPathProvider);
            Assert.Equal(ms, cache.MilliSecondsBeforeReset);

            ms    = 9999;
            cache = new FileExistenceCache(vpp, ms);
            Assert.Equal(vpp, cache.VirtualPathProvider);
            Assert.Equal(ms, cache.MilliSecondsBeforeReset);
        }
        public void ConstructorTest_VPPRegistrationChanging()
        {
            // Arrange
            Mock<VirtualPathProvider> mockProvider = new Mock<VirtualPathProvider>(MockBehavior.Strict);
            VirtualPathProvider provider = null;

            // Act
            FileExistenceCache cache = new FileExistenceCache(() => provider);

            // The moral equivalent of HostingEnvironment.RegisterVirtualPathProvider(mockProvider.Object)
            provider = mockProvider.Object;

            // Assert
            Assert.Equal(provider, cache.VirtualPathProvider);
            mockProvider.Verify();
        }
        public void FileExistsTest_VPPRegistrationChanging()
        {
            // Arrange
            string path = "~/Index.cshtml";
            Mock<VirtualPathProvider> mockProvider = new Mock<VirtualPathProvider>(MockBehavior.Strict);
            mockProvider.Setup(c => c.FileExists(It.IsAny<string>())).Returns<string>(p => p.Equals(path)).Verifiable();
            VirtualPathProvider provider = null;

            // Act
            FileExistenceCache cache = new FileExistenceCache(() => provider);

            // The moral equivalent of HostingEnvironment.RegisterVirtualPathProvider(mockProvider.Object)
            provider = mockProvider.Object;

            bool createExists = cache.FileExists("~/Create.cshtml");
            bool indexExists = cache.FileExists(path);

            // Assert
            Assert.False(createExists);
            Assert.True(indexExists);
            mockProvider.Verify();
            mockProvider.Verify(vpp => vpp.FileExists(It.IsAny<string>()), Times.Exactly(2));
        }
 public void TimeExceededFalseTest()
 {
     var ms = 100000;
     var cache = new FileExistenceCache(GetVpp(), ms);
     Assert.False(cache.TimeExceeded);
 }
 public void ResetTest() {
     var cache = new FileExistenceCache(null);
     var cacheInternal = cache.CacheInternal;
     cache.Reset();
     Assert.AreNotEqual(cacheInternal, cache.CacheInternal);
 }