public void RazorEngineService_TestDisableTempFileLocking() { var cache = new DefaultCachingProvider(t => { }); var template = "@Model.Property"; RazorEngineServiceTestFixture.RunTestHelper(service => { var model = new { Property = 0 }; string result = service.RunCompile(template, "key", null, model); Assert.AreEqual("0", result.Trim()); }, config => { config.CachingProvider = cache; config.DisableTempFileLocking = true; }); ICompiledTemplate compiledTemplate; Assert.IsTrue(cache.TryRetrieveTemplate(new NameOnlyTemplateKey("key", ResolveType.Global, null), null, out compiledTemplate)); var data = compiledTemplate.CompilationData; var folder = data.TmpFolder; Assert.IsTrue(Directory.Exists(folder)); data.DeleteAll(); Assert.IsFalse(Directory.Exists(folder)); }
public void RazorEngineService_TestThatWeThrowWhenDebugAndDisableLockingAreEnabled() { var template = "@Model.Property"; Assert.Throws <InvalidOperationException>(() => { RazorEngineServiceTestFixture.RunTestHelper(service => { var model = new { Property = 0 }; string result = service.RunCompile(template, "key", null, model); Assert.AreEqual("0", result.Trim()); }, config => { config.Debug = true; config.DisableTempFileLocking = true; }); }); }
public void RazorEngineService_VeryBadTemplate() { RazorEngineServiceTestFixture.RunTestHelper(service => { string file = Path.Combine(Environment.CurrentDirectory, Path.GetRandomFileName()); string template = @" @using System.IO @using System.Security @using System.Security.Permissions @{ (new PermissionSet(PermissionState.Unrestricted)).Assert(); File.WriteAllText(""$file$"", ""BAD DATA""); }".Replace("$file$", file.Replace("\\", "\\\\")); var test = service.RunCompile(template, "test"); Assert.IsTrue(File.Exists(file)); File.Delete(file); }); }
/// <summary> /// Check if everything is cleaned up. /// </summary> public string RazorEngineService_CleanUpWorks(CrossAppDomainCleanUp.IPrinter printer) { CrossAppDomainCleanUp.CurrentPrinter = printer; var cache = new DefaultCachingProvider(); RazorEngineServiceTestFixture.RunTestHelper(service => { string template = @"@Model.Name"; var result = service.RunCompile(template, "test", null, new { Name = "test" }); Assert.AreEqual("test", result); }, config => { config.CachingProvider = cache; }); ICompiledTemplate compiledTemplate; Assert.IsTrue(cache.TryRetrieveTemplate(new NameOnlyTemplateKey("test", ResolveType.Global, null), null, out compiledTemplate)); var folder = compiledTemplate.CompilationData.TmpFolder; Assert.IsTrue(Directory.Exists(folder)); return(folder); }