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); }