Created
January 10, 2011 18:42
-
-
Save emiaj/773220 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<jmeterTestPlan version="1.2" properties="2.1"> | |
<hashTree> | |
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true"> | |
<stringProp name="TestPlan.comments"></stringProp> | |
<boolProp name="TestPlan.functional_mode">false</boolProp> | |
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp> | |
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="TestPlan.user_define_classpath"></stringProp> | |
</TestPlan> | |
<hashTree> | |
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Users" enabled="true"> | |
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> | |
<boolProp name="LoopController.continue_forever">false</boolProp> | |
<stringProp name="LoopController.loops">10</stringProp> | |
</elementProp> | |
<stringProp name="ThreadGroup.num_threads">10</stringProp> | |
<stringProp name="ThreadGroup.ramp_time"></stringProp> | |
<longProp name="ThreadGroup.start_time">1272887782000</longProp> | |
<longProp name="ThreadGroup.end_time">1272887782000</longProp> | |
<boolProp name="ThreadGroup.scheduler">false</boolProp> | |
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp> | |
<stringProp name="ThreadGroup.duration"></stringProp> | |
<stringProp name="ThreadGroup.delay"></stringProp> | |
</ThreadGroup> | |
<hashTree> | |
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain">localhost</stringProp> | |
<stringProp name="HTTPSampler.port">2711</stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path"></stringProp> | |
</ConfigTestElement> | |
<hashTree/> | |
<CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> | |
<collectionProp name="CookieManager.cookies"/> | |
<boolProp name="CookieManager.clearEachIteration">false</boolProp> | |
<stringProp name="CookieManager.policy">rfc2109</stringProp> | |
</CookieManager> | |
<hashTree/> | |
<ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="Graph Results" enabled="true"> | |
<boolProp name="ResultCollector.error_logging">false</boolProp> | |
<objProp> | |
<name>saveConfig</name> | |
<value class="SampleSaveConfiguration"> | |
<time>true</time> | |
<latency>true</latency> | |
<timestamp>true</timestamp> | |
<success>true</success> | |
<label>true</label> | |
<code>true</code> | |
<message>true</message> | |
<threadName>true</threadName> | |
<dataType>true</dataType> | |
<encoding>false</encoding> | |
<assertions>true</assertions> | |
<subresults>true</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>true</xml> | |
<fieldNames>false</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<bytes>true</bytes> | |
</value> | |
</objProp> | |
<stringProp name="filename"></stringProp> | |
</ResultCollector> | |
<hashTree/> | |
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> | |
<collectionProp name="HeaderManager.headers"> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">User-Agent</stringProp> | |
<stringProp name="Header.value">Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3</stringProp> | |
</elementProp> | |
<elementProp name="" elementType="Header"> | |
<stringProp name="Header.name">Accept</stringProp> | |
<stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</stringProp> | |
</elementProp> | |
</collectionProp> | |
</HeaderManager> | |
<hashTree/> | |
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="take a breath" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain"></stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">/air/TakeABreath</stringProp> | |
<stringProp name="HTTPSampler.method">GET</stringProp> | |
<boolProp name="HTTPSampler.follow_redirects">false</boolProp> | |
<boolProp name="HTTPSampler.auto_redirects">true</boolProp> | |
<boolProp name="HTTPSampler.use_keepalive">true</boolProp> | |
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> | |
<boolProp name="HTTPSampler.image_parser">true</boolProp> | |
<boolProp name="HTTPSampler.monitor">false</boolProp> | |
<stringProp name="HTTPSampler.embedded_url_re"></stringProp> | |
</HTTPSampler> | |
<hashTree/> | |
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="rock" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain"></stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">Earth/Rock</stringProp> | |
<stringProp name="HTTPSampler.method">GET</stringProp> | |
<boolProp name="HTTPSampler.follow_redirects">true</boolProp> | |
<boolProp name="HTTPSampler.auto_redirects">false</boolProp> | |
<boolProp name="HTTPSampler.use_keepalive">true</boolProp> | |
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> | |
<boolProp name="HTTPSampler.monitor">false</boolProp> | |
<stringProp name="HTTPSampler.embedded_url_re"></stringProp> | |
</HTTPSampler> | |
<hashTree/> | |
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="take a breath" enabled="true"> | |
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true"> | |
<collectionProp name="Arguments.arguments"/> | |
</elementProp> | |
<stringProp name="HTTPSampler.domain"></stringProp> | |
<stringProp name="HTTPSampler.port"></stringProp> | |
<stringProp name="HTTPSampler.connect_timeout"></stringProp> | |
<stringProp name="HTTPSampler.response_timeout"></stringProp> | |
<stringProp name="HTTPSampler.protocol"></stringProp> | |
<stringProp name="HTTPSampler.contentEncoding"></stringProp> | |
<stringProp name="HTTPSampler.path">/air/TakeABreath</stringProp> | |
<stringProp name="HTTPSampler.method">GET</stringProp> | |
<boolProp name="HTTPSampler.follow_redirects">false</boolProp> | |
<boolProp name="HTTPSampler.auto_redirects">true</boolProp> | |
<boolProp name="HTTPSampler.use_keepalive">true</boolProp> | |
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> | |
<boolProp name="HTTPSampler.image_parser">true</boolProp> | |
<boolProp name="HTTPSampler.monitor">false</boolProp> | |
<stringProp name="HTTPSampler.embedded_url_re"></stringProp> | |
</HTTPSampler> | |
<hashTree/> | |
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> | |
<boolProp name="ResultCollector.error_logging">true</boolProp> | |
<objProp> | |
<name>saveConfig</name> | |
<value class="SampleSaveConfiguration"> | |
<time>true</time> | |
<latency>true</latency> | |
<timestamp>true</timestamp> | |
<success>true</success> | |
<label>true</label> | |
<code>true</code> | |
<message>true</message> | |
<threadName>true</threadName> | |
<dataType>true</dataType> | |
<encoding>false</encoding> | |
<assertions>true</assertions> | |
<subresults>true</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>true</xml> | |
<fieldNames>false</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<bytes>true</bytes> | |
<url>true</url> | |
</value> | |
</objProp> | |
<stringProp name="filename">C:\Users\bardur\Downloads\jakarta-jmeter-2.3.4\jakarta-jmeter-2.3.4\ssn_view_results_listener.jtl</stringProp> | |
</ResultCollector> | |
<hashTree/> | |
<ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true"> | |
<boolProp name="ResultCollector.error_logging">false</boolProp> | |
<objProp> | |
<name>saveConfig</name> | |
<value class="SampleSaveConfiguration"> | |
<time>true</time> | |
<latency>true</latency> | |
<timestamp>true</timestamp> | |
<success>true</success> | |
<label>true</label> | |
<code>true</code> | |
<message>true</message> | |
<threadName>true</threadName> | |
<dataType>true</dataType> | |
<encoding>false</encoding> | |
<assertions>true</assertions> | |
<subresults>true</subresults> | |
<responseData>false</responseData> | |
<samplerData>false</samplerData> | |
<xml>true</xml> | |
<fieldNames>false</fieldNames> | |
<responseHeaders>false</responseHeaders> | |
<requestHeaders>false</requestHeaders> | |
<responseDataOnError>false</responseDataOnError> | |
<saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> | |
<assertionsResultsToSave>0</assertionsResultsToSave> | |
<bytes>true</bytes> | |
</value> | |
</objProp> | |
<stringProp name="filename"></stringProp> | |
</ResultCollector> | |
<hashTree/> | |
</hashTree> | |
</hashTree> | |
</hashTree> | |
</jmeterTestPlan> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.IO; | |
using System.Web; | |
using System.Web.Routing; | |
using FubuMVC.Core.Registration.Nodes; | |
namespace Spark.Web.FubuMVC.ViewCreation | |
{ | |
public interface ISparkViewRenderer<T> | |
{ | |
string RenderSparkView(SparkViewToken viewToken, ActionCall actionCall, Action<T> configureView); | |
} | |
public class SparkViewRenderer<T> : ISparkViewRenderer<T> where T : class | |
{ | |
private readonly HttpContextBase _httpContext; | |
private readonly ViewContextHolder _viewContextHolder; | |
private readonly SparkViewFactory _viewFactory; | |
public SparkViewRenderer(SparkViewFactory viewFactory, HttpContextBase httpContext,ViewContextHolder viewContextHolder) | |
{ | |
_viewFactory = viewFactory; | |
_httpContext = httpContext; | |
_viewContextHolder = viewContextHolder; | |
} | |
#region ISparkViewRenderer<T> Members | |
public string RenderSparkView(SparkViewToken viewToken, ActionCall actionCall, Action<T> configureView) | |
{ | |
string actionNamespace = actionCall.HandlerType.Namespace; | |
string actionName = viewToken.ActionName; | |
string viewName = viewToken.Name; | |
TextWriter writer = new StringWriter(); | |
if (viewToken.MatchedDescriptor != null && viewToken.MatchedDescriptor.Language == LanguageType.Javascript) | |
{ | |
ISparkViewEntry entry = _viewFactory.Engine.CreateEntry(viewToken.MatchedDescriptor); | |
return entry.SourceCode; | |
} | |
ActionContext actionContext; | |
ISparkView view = FindSparkViewByConvention(actionNamespace, actionName, viewName, out actionContext); | |
if (_viewContextHolder.OuterViewContext == null) | |
_viewContextHolder.OuterViewContext = new ViewContext(actionContext, view); | |
var configurableView = view as T; | |
if (configurableView != null) | |
configureView(configurableView); | |
var sparkView = view as SparkView; | |
if (sparkView != null) | |
sparkView.Render(_viewContextHolder.OuterViewContext, writer); | |
return writer.ToString(); | |
} | |
#endregion | |
private ISparkView FindSparkViewByConvention(string actionNamespace, string actionName, string viewName, out ActionContext actionContext) | |
{ | |
var routeData = new RouteData(); | |
routeData.Values.Add("controller", actionName); | |
actionContext = new ActionContext(_httpContext, routeData, actionNamespace, actionName); | |
ViewEngineResult findResult = _viewContextHolder.OuterViewContext == null | |
? _viewFactory.FindView(actionContext, viewName, null) | |
: _viewFactory.FindPartialView(actionContext, viewName); | |
return findResult.View; | |
} | |
} | |
public class ViewContextHolder | |
{ | |
public ViewContext OuterViewContext { get; set; } | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment