public override void Process(RenderLayoutArgs args) { if (HttpContext.Current.Request["sc_test"] == null) { return; } Sitecore.Context.Items["sc_test"] = HttpContext.Current.Request["sc_test"]; ReadConfiguration(); // For the purposes of testing, our database should *always* be master. Sitecore.Context.Database = Sitecore.Data.Database.GetDatabase("master"); // Now re-fetch the context item from the master database. Sitecore.Context.Item = Sitecore.Context.Database.GetItem(Sitecore.Context.Item.ID.ToString(), Sitecore.Context.Language); InitCookies(); InitContextItem(); TestRunner runner = new TestRunner(); runner.RunTest(_TestConfig); RevertContextItem(); WriteOutput(runner); }
protected void WriteOutput(TestRunner runner) { XElement root = new XElement("testOutput"); root.SetAttributeValue("testName", HttpContext.Current.Request["sc_test"]); XElement messages = new XElement("messages"); foreach (string m in runner.Messages) { XElement message = new XElement("message", m); messages.Add(message); } root.Add(messages); XElement output = new XElement("output", runner.Output); root.Add(output); HttpContext.Current.Response.ContentType = "text/xml"; HttpContext.Current.Response.Write(root.ToString()); HttpContext.Current.Response.End(); }