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);
            });
        }
Exemple #2
0
        /// <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);
        }