9901 lines
611 KiB
Plaintext
9901 lines
611 KiB
Plaintext
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
|
<jmeterTestPlan version="1.2" properties="2.4" jmeter="2.9 r1437961">
|
||
|
|
<hashTree>
|
||
|
|
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="CloudGuard Functional Test" enabled="true">
|
||
|
|
<stringProp name="TestPlan.comments">Basic plan to test services and load</stringProp>
|
||
|
|
<boolProp name="TestPlan.functional_mode">false</boolProp>
|
||
|
|
<boolProp name="TestPlan.serialize_threadgroups">true</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>
|
||
|
|
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="num.threads" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">num.threads</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(num.threads)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="thread.loop.count" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">thread.loop.count</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(thread.loop.count)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="thread.ramp.up" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">thread.ramp.up</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(thread.ramp.up)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="user.id" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">user.id</stringProp>
|
||
|
|
<stringProp name="Argument.value">jmeter-${__P(user.login)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="service.context" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">service.context</stringProp>
|
||
|
|
<stringProp name="Argument.value">/cgws/v1</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="status.passphrase" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">status.passphrase</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(status.passphrase)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.urn" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.urn</stringProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:${__P(van.id)}:${__P(pmo.id)}::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.user" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.user</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.user)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.email" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.email</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.email)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.password" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.password</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.password)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.cr1" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.cr1</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.cr1)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.cr2" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.cr2</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.cr2)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="unittest.urn" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">unittest.urn</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(unittest.urn)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="service.context.sg" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">service.context.sg</stringProp>
|
||
|
|
<stringProp name="Argument.value">/sgpws/services/v1</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.id" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.id</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.id)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.password.pbkdf2" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.password.pbkdf2</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.password.pbkdf2)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.cr3" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.cr3</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.cr3)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="activationBypassCode" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">activationBypassCode</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(activation.bypass.code)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="nikki.urn" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">nikki.urn</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(nikki.urn)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.newPassword" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.newPassword</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.newPassword)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.newPassword.pbkdf2" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.newPassword.pbkdf2</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.newPassword.pbkdf2)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo.crhash" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">pmo.crhash</stringProp>
|
||
|
|
<stringProp name="Argument.value">${__P(pmo.crhash)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="service.context.ds" elementType="Argument">
|
||
|
|
<stringProp name="Argument.name">service.context.ds</stringProp>
|
||
|
|
<stringProp name="Argument.value">/DiscoveryService/v1/services</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</Arguments>
|
||
|
|
<hashTree/>
|
||
|
|
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
|
||
|
|
<collectionProp name="HeaderManager.headers"/>
|
||
|
|
</HeaderManager>
|
||
|
|
<hashTree/>
|
||
|
|
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request server config" 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">${__P(test.server)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">40000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments"> </stringProp>
|
||
|
|
<stringProp name="HTTPSampler.concurrentPool">4</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="SummaryReport" testclass="ResultCollector" testname="Summary Report" 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>true</saveAssertionResultsFailureMessage>
|
||
|
|
<assertionsResultsToSave>0</assertionsResultsToSave>
|
||
|
|
<bytes>true</bytes>
|
||
|
|
<hostname>true</hostname>
|
||
|
|
<sampleCount>true</sampleCount>
|
||
|
|
</value>
|
||
|
|
</objProp>
|
||
|
|
<stringProp name="filename">BasicTestSummary.jtl</stringProp>
|
||
|
|
</ResultCollector>
|
||
|
|
<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/>
|
||
|
|
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" 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">/Users/tim/Development/daisy-svn/daisy-svn.ws/ionu-ws-tests/functest.jtl</stringProp>
|
||
|
|
</ResultCollector>
|
||
|
|
<hashTree/>
|
||
|
|
<TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="Test Fragment - authenticate (reuse in multiple thread groups)" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="CloudGuardService - get code and token" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import org.json.*;
|
||
|
|
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
// libionu
|
||
|
|
com.ionu.EncryptionSupport es = new com.ionu.EncryptionSupport();
|
||
|
|
es.setupLibIOnU(new java.io.File("."), "JMeterIOnU", null);
|
||
|
|
log.info("setupLibIOnU returned");
|
||
|
|
|
||
|
|
// load config that was saved from pmoCreate
|
||
|
|
/*
|
||
|
|
String cfg = new String(com.dt.io.FileUtil.loadFile("LocalConfiguration.json"));
|
||
|
|
JSONObject obj = new JSONObject(cfg);
|
||
|
|
// only if directly calling service and not via cgs:
|
||
|
|
// obj = obj.getJSONObject("results");
|
||
|
|
log.info("Config: " + obj.toString(2));
|
||
|
|
vars.put("LocalConfiguration", obj.toString());
|
||
|
|
String devUrn = obj.getJSONArray("devices").getJSONObject(0).getString("_id");
|
||
|
|
*/
|
||
|
|
try {
|
||
|
|
EyeGlass.loadKeyring(new File("jmeter-keyring.iks"), vars.get("pmo.password"), null);
|
||
|
|
} catch (Throwable ex){
|
||
|
|
log.error("loadKeyring", ex);
|
||
|
|
}
|
||
|
|
|
||
|
|
String devUrn = EyeGlass.getPublicOfficeData(null).getString("urn");
|
||
|
|
String user = EyeGlass.getPublicOfficeData(null).getString("user");
|
||
|
|
|
||
|
|
vars.put("device.urn", devUrn);
|
||
|
|
log.info("Device URN: " + devUrn);
|
||
|
|
|
||
|
|
// CGS
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
String code = cgs.getAccessCode();
|
||
|
|
log.info("Got code: " + code);
|
||
|
|
vars.put("accessCode", code);
|
||
|
|
String tok = null;
|
||
|
|
try {
|
||
|
|
tok = cgs.getAccessToken(new CloudGuardURN(devUrn), code,
|
||
|
|
vars.get("pmo.user"), vars.get("pmo.password"));
|
||
|
|
} catch (Exception ex){
|
||
|
|
log.info("Exception: " + ex.getMessage());
|
||
|
|
log.error("getAccessToken", ex);
|
||
|
|
}
|
||
|
|
log.info("Got token: " + tok);
|
||
|
|
vars.put("accessToken", tok);
|
||
|
|
if (tok != null){
|
||
|
|
vars.put("accessTokenEncoded", java.net.URLEncoder.encode(tok));
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellAssertion guiclass="BeanShellAssertionGui" testclass="BeanShellAssertion" testname="BeanShell Assertion - check token" enabled="true">
|
||
|
|
<stringProp name="BeanShellAssertion.query">String tok = vars.get("accessToken");
|
||
|
|
log.info("Checking token: " + tok);
|
||
|
|
if (tok == null || tok.length() == 0){
|
||
|
|
Failure = true;
|
||
|
|
FailureMessage = "Invalid token";
|
||
|
|
} else {
|
||
|
|
Failure = false;
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="BeanShellAssertion.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellAssertion.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellAssertion.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="verifyToken" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="verifyURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">verifyURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="verify" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">verify</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/auth/verifyToken</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>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="Test Fragment - logout" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="logout" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/auth/logout</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">DELETE</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>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="CG Status" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Resources test" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.Resources;
|
||
|
|
import com.dt.util.Text;
|
||
|
|
|
||
|
|
String s = Resources.getString("master_build_version_name");
|
||
|
|
vars.put("master_build_version_name", s);
|
||
|
|
return s;</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Have string assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">if (!vars.get("master_build_version_name")){
|
||
|
|
AssertionResult.setResultForFailure("Resources not correctly configured");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="vans" 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"></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">${service.context}/status/vans</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status - using passphrase" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="passphrase" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${status.passphrase}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">passphrase</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="vanURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">vanURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">see if CG is alive</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status - device status" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="vanURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">vanURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">see if CG is alive</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Smoke test all services" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should receive server error from all of these</stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status (fail access_token)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 500 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error 500" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="52469">500</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status (fail token)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 403 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error 403" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 403 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status (fail passphrase)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="passphrase" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">passphrase</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 403 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error 403" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 403 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="deviceStatus (fail token)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/deviceStatus</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 403 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error 403" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 403 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="enroll (fail empty discoveryInfo)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="discoveryInfo" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value"></stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">discoveryInfo</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/enroll</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="enrolled (fail token)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/enrolled</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 403 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error 403" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 403 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="disenroll (fail token)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/disenroll</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 403 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error 403" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 403 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="create (fail not using POST)" 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"></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">${service.context}/office/create</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="create (fail bad param)" 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"></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">${service.context}/office/create</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="discover (fail bad param)" 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"></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">${service.context}/office/discover</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="discover (fail captcha)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="email" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo@bar.com</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">email</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="password" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">bogus</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">password</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="captcha" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">bogusbogusbogus</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">captcha</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/discover</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
<stringProp name="-505001955">X-ExceptionCode:.*EX_CAPTCHA</stringProp>
|
||
|
|
<stringProp name="0"></stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="discover (fail wrong email/pass)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="email" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo@bar.com</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">email</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="password" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">bogus</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">password</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="captcha" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">asdf</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">captcha</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/discover</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="join (fail not using POST)" 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"></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">${service.context}/office/join</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="join (fail bad param)" 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"></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">${service.context}/office/join</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmo (fail params)" 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"></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">${service.context}/office/pmo</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmo (fail pmo not found)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="passphrase" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${status.passphrase}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">passphrase</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:000000FE::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/pmo</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 404 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51512">404</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="npmo (fail params)" 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"></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">${service.context}/office/npmo</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="update (fail not using POST)" 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"></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">${service.context}/office/update</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="update (fail params)" 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"></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">${service.context}/office/update</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="provision (fail not using POST)" 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"></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">${service.context}/office/provision</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="provision (fail params)" 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"></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">${service.context}/office/provision</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="activateDevice (fail bad param)" 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"></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">${service.context}/office/activateDevice</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="activateDevice (fail no code)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003:0001:</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/activateDevice</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="activateDevice (fail bad code)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003:0001:</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="activationCode" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">activationCode</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="status" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">disabled</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">status</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/activateDevice</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 500 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="inviteContact (fail bad param)" 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"></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">${service.context}/office/inviteContact</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="inviteContact (fail no such user)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:00000003:0001:</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="contact" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">no-such-user-exists</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">contact</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/inviteContact</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="download (fail bad param)" 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"></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">${service.context}/office/download</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="removeDevice (fail not using DELETE)" 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"></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">${service.context}/office/removeDevice</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="removeDevice (fail bad param)" 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"></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">${service.context}/office/removeDevice</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">DELETE</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="device (fail bad param)" 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"></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">${service.context}/office/device</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="devices (fail bad param)" 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"></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">${service.context}/office/devices</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="avatar (fail not using POST)" 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"></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">${service.context}/office/avatar</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="avatar (fail not multipart)" 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"></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">${service.context}/office/avatar</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51544">415</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="avatar (fail bad param)" 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"></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">${service.context}/office/avatar</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="publish (fail not using POST)" 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"></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">${service.context}/pubsub/publish</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="publish (fail bad param)" 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"></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">${service.context}/pubsub/publish</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="push (fail not using POST)" 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"></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">${service.context}/pubsub/push</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51513">405</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="push (fail bad param)" 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"></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">${service.context}/pubsub/push</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="subscribe (fail bad param)" 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"></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">${service.context}/pubsub/subscribe</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="dispose (fail bad param)" 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"></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">${service.context}/pubsub/dispose</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sysstat (fail bad param)" 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"></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">${service.context}/van/sysstat</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="report (fail bad param)" 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"></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">${service.context}/van/report</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="track (fail bad param)" 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"></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">${service.context}/van/track</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ionu (fail bad param)" 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"></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">${service.context}/van/ionu</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/delete (fail bad param)" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/delete</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/file (fail bad param)" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/file</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/metadata (fail bad param)" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/mounts (fail bad param)" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/mounts</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/nmetadata (fail bad param)" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/nmetadata</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Include Exception headers" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="364937374">X-ExceptionClass</stringProp>
|
||
|
|
<stringProp name="-1381194323">X-ExceptionMessage</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 500 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_headers</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">2</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/upload (fail bad param)" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/upload</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Disco" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="requestVanList" 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">${__P(test.server.ds)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.ds.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.ds.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.ds}/disco/requestVanList</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON stash VAN info assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected VANS");
|
||
|
|
} else {
|
||
|
|
var van0 = data.results[0];
|
||
|
|
var name = van0.name;
|
||
|
|
var alias = van0.alias;
|
||
|
|
vars.put("van.name", name);
|
||
|
|
vars.put("van.alias", alias);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="requestVanList with messages" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="platform" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">ALL</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">platform</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.ds)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.ds.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">${service.context.ds}/disco/requestVanList</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON stash VAN info assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected VANS");
|
||
|
|
} else {
|
||
|
|
var van0 = data.results[0];
|
||
|
|
var name = van0.name;
|
||
|
|
var alias = van0.alias;
|
||
|
|
vars.put("van.name", name);
|
||
|
|
vars.put("van.alias", alias);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="requestVanList searchObject" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="searchObject" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">{"name":"DEFAULT VAN"}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">searchObject</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.ds)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.ds.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.ds.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.ds}/disco/requestVanList</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="requestVanInfo" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="vanName" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${van.name}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">vanName</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="vanAlias" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${van.alias}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">vanAlias</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.ds)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.ds.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.ds.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.ds}/disco/requestVanInfo</stringProp>
|
||
|
|
<<<<<<< HEAD
|
||
|
|
<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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="requestVanInfo with messages" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="vanName" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${van.name}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">vanName</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="vanAlias" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${van.alias}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">vanAlias</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="platform" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">ALL</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">platform</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.ds)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.ds.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">${service.context.ds}/disco/requestVanInfo</stringProp>
|
||
|
|
=======
|
||
|
|
>>>>>>> cloud_hotfix/1.2.8.10
|
||
|
|
<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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="requestMetaData" 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">${__P(test.server.ds)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.ds.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.ds.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.ds}/disco/requestMetaData</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="fetchMessages" 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">${__P(test.server.ds)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.ds.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.ds.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.ds}/message/fetchMessages</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Disco OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
if (!data.vanSearchType){
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Provision Office" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1366121967000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1366121967000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="remove office" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="passphrase" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${status.passphrase}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">passphrase</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="background" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">false</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">background</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/remove</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">DELETE</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">remove office if it exists</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="CloudGuardService - createOffice" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.client.*;
|
||
|
|
import org.json.*;
|
||
|
|
import com.dt.io.*;
|
||
|
|
import com.dt.util.*;
|
||
|
|
import java.io.*;
|
||
|
|
import java.util.*;
|
||
|
|
|
||
|
|
try {
|
||
|
|
log.info("createOffice BEGINS!");
|
||
|
|
com.ionu.EncryptionSupport es = new com.ionu.EncryptionSupport();
|
||
|
|
es.setupLibIOnU(new java.io.File("."), "JMeterIOnU", null);
|
||
|
|
log.info("setupLibIOnU returned");
|
||
|
|
|
||
|
|
// CGS
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("pmo.urn"));
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
//cgs.setToken(vars.get("accessToken"));
|
||
|
|
//cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
// need keypair (will use same pair for both pmo and device)
|
||
|
|
String[] keyPair = EyeGlass.generateKeyPairExternal();
|
||
|
|
FileUtil.putFile(new File("officePublicKey-jmeter.pem"), keyPair[1]);
|
||
|
|
String opkSHA1 = Crypt.sha1(keyPair[1]);
|
||
|
|
props.put("officePublicKeySHA1", opkSHA1); // for subsequent join service
|
||
|
|
|
||
|
|
// challenges
|
||
|
|
String cr1 = vars.get("pmo.cr1");
|
||
|
|
String cr2 = vars.get("pmo.cr2");
|
||
|
|
String cr3 = vars.get("pmo.cr3");
|
||
|
|
String crp = "password::"+vars.get("pmo.password");
|
||
|
|
|
||
|
|
List list = new ArrayList();
|
||
|
|
list.add(new ChallengeResponse(cr1));
|
||
|
|
list.add(new ChallengeResponse(cr2));
|
||
|
|
list.add(new ChallengeResponse(cr3));
|
||
|
|
list.add(new ChallengeResponse(crp));
|
||
|
|
|
||
|
|
JSONArray challenges = ChallengeResponse.validateChallenges(list);
|
||
|
|
|
||
|
|
for (int i=0; i<challenges.length(); i++){
|
||
|
|
log.info("cr[" + i + "]: " + challenges.get(i));
|
||
|
|
}
|
||
|
|
|
||
|
|
log.info("About to invoke pmoCreate...");
|
||
|
|
|
||
|
|
// halfkey
|
||
|
|
byte[] cghk = EyeGlass.createCloudGuardHalfKey();
|
||
|
|
log.info("cghk: " + EyeGlass.dumpKey(cghk));
|
||
|
|
|
||
|
|
JSONObject pmo = cgs.pmoCreate(urn,
|
||
|
|
vars.get("pmo.user"),
|
||
|
|
vars.get("pmo.email"),
|
||
|
|
"JMeter User",
|
||
|
|
"JMeter",
|
||
|
|
StorageNodeType.SNT_IOS, // don't be a bot
|
||
|
|
cghk,
|
||
|
|
keyPair[1],
|
||
|
|
keyPair[1],
|
||
|
|
challenges,
|
||
|
|
"asdf", "sessionId",
|
||
|
|
new org.json.JSONObject()
|
||
|
|
);
|
||
|
|
log.info("pmoCreate: " + pmo + " token: " + cgs.getToken() + " urn: " + cgs.getAuthenticatedDeviceURN());
|
||
|
|
|
||
|
|
// init office/device
|
||
|
|
File dot = new File(".");
|
||
|
|
|
||
|
|
CloudGuardURN devUrn = new CloudGuardURN(pmo.getJSONArray("devices").getJSONObject(0).getString("_id"));
|
||
|
|
log.info("resendVerification");
|
||
|
|
// good place to test resendVerification is right here
|
||
|
|
cgs.resendVerification(devUrn, vars.get("pmo.user"));
|
||
|
|
|
||
|
|
// activate
|
||
|
|
String bypass = vars.get("activationBypassCode");
|
||
|
|
log.info("activateDevice " + bypass);
|
||
|
|
cgs.activateDevice(devUrn, bypass, "active");
|
||
|
|
|
||
|
|
// EST
|
||
|
|
JSONObject prefs = new JSONObject();
|
||
|
|
prefs.put("EST", true);
|
||
|
|
log.info("pmoUpdate");
|
||
|
|
cgs.pmoUpdate(prefs);
|
||
|
|
|
||
|
|
AllServices all = new AllServices(dot, dot);
|
||
|
|
all.setCloudGuardService(cgs);
|
||
|
|
log.info("initializeDevice");
|
||
|
|
JSONUtil.setPathValue(pmo, "pmo.publicKey", keyPair[1]);
|
||
|
|
JSONUtil.setPathValue(pmo, "pmo.privateKey", keyPair[0]);
|
||
|
|
JSONUtil.setPathValue(pmo, "devices[0].publicKey", keyPair[1]);
|
||
|
|
JSONUtil.setPathValue(pmo, "devices[0].privateKey", keyPair[0]);
|
||
|
|
|
||
|
|
OfficeService.initializeDevice(cgs, pmo, new File("jmeter-keyring.iks"),
|
||
|
|
cghk, list, false);
|
||
|
|
} catch (Throwable ex){
|
||
|
|
log.error("initializeDevice: " + ex.getMessage());
|
||
|
|
ex.printStackTrace();
|
||
|
|
throw ex;
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Authenticate" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Office/PMO" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="PMO Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status - device status" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="statusURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">statusURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">see if CG is alive</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmoGet - jmeter test office" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">pmo</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/pmo</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmoGet - unittest office" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${unittest.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">pmo</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/pmo</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmoSearch - jmeter user" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="q" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.user}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">q</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/search</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="One Element Array Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length != 1) {
|
||
|
|
AssertionResult.setResultForFailure("Expecting 1 result");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmoSearch - should fail with no results" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="q" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">noSuch__foo_user_blah</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">q</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/search</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Empty Array Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length != 0) {
|
||
|
|
AssertionResult.setResultForFailure("Expecting no results");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="devices - jmeter test office" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pmo" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">pmo</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/devices</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Devices Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.devices.length < 2) {
|
||
|
|
AssertionResult.setResultForFailure("Not enough devices; expect JMeter and Browser");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="device - jmeter test office" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="device" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">device</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/device</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Device Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.name != "JMeter") {
|
||
|
|
AssertionResult.setResultForFailure("Wrong device name");
|
||
|
|
} else if (data.results["_id"] != vars.get("device.urn")){
|
||
|
|
AssertionResult.setResultForFailure("Wrong device _id");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="updateDevice" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="name" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">Phat Device</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">name</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/updateDevice?deviceURN=${device.urn}&token=${accessTokenEncoded}&device=${device.urn}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Device Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.name != "Phat Device") {
|
||
|
|
AssertionResult.setResultForFailure("Wrong device name");
|
||
|
|
} else if (data.results["_id"] != vars.get("device.urn")){
|
||
|
|
AssertionResult.setResultForFailure("Wrong device _id");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmoDiscover - jmeter test office" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="email" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.email}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">email</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="password" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.password.pbkdf2}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">password</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/discover</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Discover Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.user != vars.get("pmo.user")) {
|
||
|
|
AssertionResult.setResultForFailure("Wrong PMO user");
|
||
|
|
} else if (data.results.email.primary != vars.get("pmo.email")){
|
||
|
|
AssertionResult.setResultForFailure("Wrong PMO email");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pmoJoin - create second test plan device" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="user" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.user}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">user</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="email" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.email}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">email</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="fullname" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">JMeter Functest</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">fullname</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="name" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">JMeter</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">name</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="captcha" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">asdf</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">captcha</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="devicePublicKey" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">foo</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">devicePublicKey</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="cr" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">["password::${pmo.password.pbkdf2}", "${pmo.cr1}", "${pmo.cr2}", "${pmo.cr3}"]</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">cr</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="type" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">SNT_ROBOT</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">type</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="pkhash" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${__P(officePublicKeySHA1)}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">pkhash</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/join?vanURN=${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Creates another device in jmeter office pmo</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON stash joined device assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.devices.length != 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected a single device");
|
||
|
|
} else {
|
||
|
|
var id = data.results.devices[0];
|
||
|
|
id = id["_id"];
|
||
|
|
log.info("Joined office and created device: " + id);
|
||
|
|
vars.put("joined.device", id);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="removeDevice - remove second test plan device" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="removeURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${joined.device}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">removeURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/removeDevice</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">DELETE</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="npmo" enabled="true">
|
||
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">offices=[{pmo:'urn:ionu:000000:1C3CEEDA::', v:2}]</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/npmo?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Creates another device in jmeter office pmo</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="avatar" 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"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context}/office/avatar?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
|
||
|
|
<collectionProp name="HTTPFileArgs.files">
|
||
|
|
<elementProp name="TimHeadShot.jpg" elementType="HTTPFileArg">
|
||
|
|
<stringProp name="File.path">TimHeadShot.jpg</stringProp>
|
||
|
|
<stringProp name="File.paramname">file</stringProp>
|
||
|
|
<stringProp name="File.mimetype">application/octet-stream</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">upload</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="inviteContact (fail no such user)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="contact" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">no-such-user-exists</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">contact</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/inviteContact</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="inviteContact (nikki)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="contact" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">nikki</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">contact</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/inviteContact</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="VAN track" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="tcat" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">APP</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">tcat</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="dest" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value"></stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">dest</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="action" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">jmeter-ftw</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">action</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="result" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">OK</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">result</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="info" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">Foo!</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">info</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="docURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value"></stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">docURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/van/track?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Artbitrary tracking event</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Status" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Status Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status - deviceURN" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status - pmoURN" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="statusURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">statusURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="enrolled" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/enrolled</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="One Element Array Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1) {
|
||
|
|
AssertionResult.setResultForFailure("Expecting 1 result");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="enroll" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="discoveryInfo" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">{"urn":"${device.urn}","adapters":[{"name":"eth0","ip":"192.168.1.119"},{"name":"ham0","ip":"25.6.82.135"}],"vanRegex":".{6}","kind":"test"}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">discoveryInfo</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/enroll</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Results Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.user != vars.get("device.urn")){
|
||
|
|
AssertionResult.setResultForFailure("Did not see myself in response");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="disenroll" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/disenroll</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Results Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results.deviceUUID){
|
||
|
|
AssertionResult.setResultForFailure("Did not see myself in response");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Simple Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sysstat (fail not admin)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/van/sysstat</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="report (fail not admin)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/van/report</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="track (fail not admin)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/van/report</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ionu (fail not admin)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/van/ionu</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Search" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Search Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="search - deviceURN" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="q" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.user}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">q</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/search</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="search - VAN" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">urn:ionu:000000:::</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="q" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.user}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">q</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/search</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="status - nothing" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="q" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.user}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">q</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/office/search</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="enrolled" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/enrolled</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="One Element Array Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1) {
|
||
|
|
AssertionResult.setResultForFailure("Expecting 1 result");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="enroll" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="discoveryInfo" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">{"urn":"${device.urn}","adapters":[{"name":"eth0","ip":"192.168.1.119"},{"name":"ham0","ip":"25.6.82.135"}],"vanRegex":".{6}","kind":"test"}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">discoveryInfo</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/enroll</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Results Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.user != vars.get("device.urn")){
|
||
|
|
AssertionResult.setResultForFailure("Did not see myself in response");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="disenroll" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/status/disenroll</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Results Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results.deviceUUID){
|
||
|
|
AssertionResult.setResultForFailure("Did not see myself in response");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="PubSub" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="PubSub Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Setup PING message" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
PubSubMessage msg = new PubSubMessage(urn, urn);
|
||
|
|
msg.setAction(PubSubMessage.Action.PING);
|
||
|
|
msg.setIssueDate(new java.util.Date());
|
||
|
|
|
||
|
|
log.info("Put message: " + msg.toString());
|
||
|
|
vars.put("message", msg.toString());</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="publish/ping" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="message" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">message</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/publish?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Sleep for 1 seconds" enabled="true">
|
||
|
|
<stringProp name="ConstantTimer.delay">1000</stringProp>
|
||
|
|
</ConstantTimer>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="publish/ping 2" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="message" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">message</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/publish?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Sleep for 1 seconds" enabled="true">
|
||
|
|
<stringProp name="ConstantTimer.delay">1000</stringProp>
|
||
|
|
</ConstantTimer>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="publish/ping 3" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="message" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">message</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/publish?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Sleep for 1 seconds" enabled="true">
|
||
|
|
<stringProp name="ConstantTimer.delay">1000</stringProp>
|
||
|
|
</ConstantTimer>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="subscribe/ping" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/subscribe</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Remove any existing testgroup</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Sleep for 1 seconds" enabled="true">
|
||
|
|
<stringProp name="ConstantTimer.delay">1000</stringProp>
|
||
|
|
</ConstantTimer>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for PING" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else {
|
||
|
|
var msg = null;
|
||
|
|
for (var i=0; i<data.results.length; i++){
|
||
|
|
if (data.results[i].action == "PING"){
|
||
|
|
msg = data.results[i];
|
||
|
|
vars.put("message.id", msg["msgId"]);
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (msg == null) AssertionResult.setResultForFailure("Action is not PING");
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="dispose/ping" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="messageID" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message.id}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">messageID</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/dispose</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Remove any existing testgroup</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for PING" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else if (data.results.action != "PING"){
|
||
|
|
AssertionResult.setResultForFailure("Action is not PING");
|
||
|
|
} else {
|
||
|
|
var msg = data.results;
|
||
|
|
vars.put("message.id", msg["_id"]);
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="dispose all messages" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">
|
||
|
|
import org.json.*;
|
||
|
|
import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.cg.*;
|
||
|
|
|
||
|
|
// libionu
|
||
|
|
log.info("disposeAll");
|
||
|
|
|
||
|
|
// CGS
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
JSONArray msgs = cgs.subscribeMessages(null, true);
|
||
|
|
for (int i=0; i<msgs.length(); i++){
|
||
|
|
PubSubMessage msg = new PubSubMessage(msgs.getJSONObject(i));
|
||
|
|
cgs.disposeMessage(msg);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Eye" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Eye Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="compute and shareKeys" enabled="false">
|
||
|
|
<stringProp name="BeanShellSampler.query">
|
||
|
|
import org.json.*;
|
||
|
|
import com.ionu.csf.component.*;
|
||
|
|
|
||
|
|
// libionu
|
||
|
|
log.info("shareKeys");
|
||
|
|
|
||
|
|
// CGS
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
String server = props.get("test.server");
|
||
|
|
log.info("Using server: " + server);
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
// The keys
|
||
|
|
Permissions userPerms = Permissions.createFromOffice(urn);
|
||
|
|
JSONArray members = new JSONArray();
|
||
|
|
members.put(urn.toString()); // one member
|
||
|
|
JSONObject collab = new JSONObject();
|
||
|
|
JSONArray collabArr = new JSONArray();
|
||
|
|
JSONObject collabSelf = new JSONObject();
|
||
|
|
collabSelf.put("_id", urn.toString());
|
||
|
|
collabSelf.put("publicKey", EyeGlass.getKey(EyeGlass.OFFICE_PUBLIC_KEY_ALIAS));
|
||
|
|
collabArr.put(collabSelf);
|
||
|
|
collab.put("collab", collabArr);
|
||
|
|
JSONArray keys = EyeGlass.computeEncryptedTGIKeys(userPerms.getSignature(urn), members, collab);
|
||
|
|
userPerms.put("keys", keys);
|
||
|
|
|
||
|
|
// Let it fly
|
||
|
|
cgs.shareKeys(userPerms, "share");
|
||
|
|
log.info("keys have been shared");</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="keys - jmeter test office" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/eye/keys</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure updated keys</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="OK Keys Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results
|
||
|
|
|| !data.results[0]
|
||
|
|
|| !data.results[0].sig
|
||
|
|
|| !data.results[0].owner
|
||
|
|
|| !data.results[0].key){
|
||
|
|
AssertionResult.setResultForFailure("JMeter office does not contain a shared key");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Teams" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Team Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/remove" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="team" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">testgroup</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">team</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/remove</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">DELETE</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Remove any existing testgroup</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/create" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="team" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">testgroup</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">team</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="type" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">moderated</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">type</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="description" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">JMeter testing</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">description</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/create?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion capture team URN" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
var dstr = data;
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results._id){
|
||
|
|
AssertionResult.setResultForFailure("Expected one team result");
|
||
|
|
} else {
|
||
|
|
var tu = data.results._id;
|
||
|
|
vars.put("teamURN", tu);
|
||
|
|
log.info("teamURN: " + tu);
|
||
|
|
var upd = '{"_id":"' + tu + '", "team":"testgroup", "description":"foo", "status":"active", "type":"moderated"}';
|
||
|
|
vars.put("teamUpdateJSON", upd);
|
||
|
|
log.info("Put teamUpdateJSON: " + upd);
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/create (fail duplicate name)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="team" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">testgroup</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">team</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="type" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">moderated</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">type</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="description" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">JMeter testing</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">description</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/create?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error 403" enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="52469">500</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 403 error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/team" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="team" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${teamURN}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">team</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/team</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/members" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="team" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${teamURN}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">team</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/members</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for members" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
var dstr = data;
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else {
|
||
|
|
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/search" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="q" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">testgroup</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">q</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/search</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for members" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
var dstr = data;
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else {
|
||
|
|
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/search (fail not found)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="q" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">__no__such__team__xyzzy__</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">q</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/search</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for data" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
var dstr = data;
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length >= 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected no results");
|
||
|
|
} else {
|
||
|
|
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/sharingGraph" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="team" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${teamURN}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">team</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/sharingGraph</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for members" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
var dstr = data;
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else {
|
||
|
|
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="team/update" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="json" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${teamUpdateJSON}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">json</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/team/update?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion capture team URN" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
var dstr = data;
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results._id){
|
||
|
|
AssertionResult.setResultForFailure("Expected one team result");
|
||
|
|
} else {
|
||
|
|
var tu = data.results._id;
|
||
|
|
vars.put("teamURN", tu);
|
||
|
|
log.info("teamURN: " + tu);
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="StorageGuard" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Simple Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Create and configure .ionu files" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.client.*;
|
||
|
|
import org.json.*;
|
||
|
|
import java.io.*;
|
||
|
|
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
OfficeService os = new OfficeService();
|
||
|
|
os.setCloudGuardService(cgs);
|
||
|
|
|
||
|
|
CloudGuardURN dest = new CloudGuardURN(vars.get("nikki.urn"));
|
||
|
|
Permissions p = Permissions.createFromCollaborators(new CloudGuardURN[]{urn, dest});
|
||
|
|
vars.put("sg.permissions", p.toString());
|
||
|
|
String sig = p.getSignature(urn);
|
||
|
|
vars.put("sg.signature", sig);
|
||
|
|
log.info("Sig: " + sig + " from perms: " + p);
|
||
|
|
|
||
|
|
File f = new File("sgupload-test.ionu");
|
||
|
|
// this is obviously not using real TGI key
|
||
|
|
EyeGlass e = EyeGlass.encryptString("test", "foobar", f, urn, p, new byte[32]);
|
||
|
|
vars.put("sg.path", java.net.URLEncoder.encode(f.getName()));
|
||
|
|
vars.put("renamed.sg.path", java.net.URLEncoder.encode("renamed-"+f.getName()));
|
||
|
|
|
||
|
|
File fl = new File("LargeFile.mov");
|
||
|
|
// this is obviously not using real TGI key
|
||
|
|
EyeGlass el = EyeGlass.encryptClearFile(fl, urn, p, new byte[32]);
|
||
|
|
vars.put("sg.path.large", java.net.URLEncoder.encode(fl.getName() + ".ionu"));
|
||
|
|
|
||
|
|
|
||
|
|
// eliza for mount=t/s testing
|
||
|
|
// need to share keys!!!
|
||
|
|
/*
|
||
|
|
CloudGuardURN edest = new CloudGuardURN(vars.get("eliza.urn"));
|
||
|
|
Permissions ep = Permissions.createFromCollaborators(new CloudGuardURN[]{urn, edest});
|
||
|
|
String esig = ep.getSignature(urn);
|
||
|
|
vars.put("sg.signature.eliza", esig);
|
||
|
|
|
||
|
|
File ef = new File("sgupload-test-eliza.ionu");
|
||
|
|
// this is obviously not using real TGI key
|
||
|
|
EyeGlass e = EyeGlass.encryptString("test", "foobar", ef, urn, ep, new byte[32]);
|
||
|
|
vars.put("sg.path.eliza", ef.getName());
|
||
|
|
*/</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG token" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="cg_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">cg_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/token</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Save Token Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
log.info("StorageGuard token: " + data.results.token);
|
||
|
|
vars.put("sgAccessToken", data.results.token);
|
||
|
|
vars.put("sgAccessTokenEncoded", java.net.URLEncoder.encode(data.results.token));
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG status" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="config" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">mounts</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">config</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/status</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} </stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG collaborators" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/collaborators</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results.collab || data.results.collab.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("No collaborators");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG mounts" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/mounts</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="One Mount Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results.length){
|
||
|
|
// allow zero AssertionResult.setResultForFailure("No mounts");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG upload shared with nikki" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/upload?access_token=${sgAccessTokenEncoded}&mount=t&signature=${sg.signature}&path=${sg.path}&share=true</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
|
||
|
|
<collectionProp name="HTTPFileArgs.files">
|
||
|
|
<elementProp name="${sg.path}" elementType="HTTPFileArg">
|
||
|
|
<stringProp name="File.path">${sg.path}</stringProp>
|
||
|
|
<stringProp name="File.paramname">file</stringProp>
|
||
|
|
<stringProp name="File.mimetype">application/octet-stream</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Update testfile.txt.eye to SG</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG upload to Eliza" enabled="false">
|
||
|
|
<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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/upload?access_token=${sgAccessTokenEncoded}&mount=t&signature=${sg.signature.eliza}&path=${sg.path.eliza}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
|
||
|
|
<collectionProp name="HTTPFileArgs.files">
|
||
|
|
<elementProp name="${sg.path}" elementType="HTTPFileArg">
|
||
|
|
<stringProp name="File.path">${sg.path}</stringProp>
|
||
|
|
<stringProp name="File.paramname">file</stringProp>
|
||
|
|
<stringProp name="File.mimetype">application/octet-stream</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">DISABLED because we don't currently share keys</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG metadata" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="depth" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">10</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">depth</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
} else if (!data.results.contents){
|
||
|
|
AssertionResult.setResultForFailure("No child folders/files");
|
||
|
|
} else {
|
||
|
|
var firstChild = data.results.contents[0];
|
||
|
|
log.info("First child: " + firstChild.path + " " + firstChild.mount + " " + firstChild.type + " " + firstChild.status);
|
||
|
|
if (!firstChild || !firstChild.path || !firstChild.mount || !firstChild.type || !firstChild.status){
|
||
|
|
AssertionResult.setResultForFailure("First child not valid");
|
||
|
|
// save path
|
||
|
|
//vars.put("path", firstChild.path);
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG nmetadata" enabled="true">
|
||
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">pathinfo=[{"path":"/","signature":"${sg.signature}","hash":"0"}]</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/nmetadata?access_token=${sgAccessTokenEncoded}&mount=t&depth=1</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results.contents[0];
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG nmetadata - FileNotFound" enabled="true">
|
||
|
|
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">pathinfo=[{"path":"/mojo-nixon-is-a-booger-eating-moron.ionu","signature":"${sg.signature}","hash":"0"}]</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/nmetadata?access_token=${sgAccessTokenEncoded}&mount=t&depth=1</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results.contents[0];
|
||
|
|
if (obj.type != 'SNT_UNKNOWN'){
|
||
|
|
AssertionResult.setResultForFailure("Bad type");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG metadata by URN" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="docURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgNodeURN}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">docURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata File Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_FILE'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_FILE'");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG file" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.path}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/file</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Response to file" enabled="true">
|
||
|
|
<stringProp name="FileSaver.filename">test.txt.ionu-downloaded</stringProp>
|
||
|
|
<boolProp name="FileSaver.errorsonly">false</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipautonumber">true</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipsuffix">true</boolProp>
|
||
|
|
<boolProp name="FileSaver.successonly">true</boolProp>
|
||
|
|
</ResultSaver>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG rename" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="newPath" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${renamed.sg.path}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">newPath</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/rename?access_token=${sgAccessTokenEncoded}&docURN=${sgNodeURN}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata File Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_FILE'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_FILE'");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG metadata" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="depth" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">10</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">depth</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
} else if (!data.results.contents){
|
||
|
|
AssertionResult.setResultForFailure("No child folders/files");
|
||
|
|
} else {
|
||
|
|
var firstChild = data.results.contents[0];
|
||
|
|
log.info("First child: " + firstChild.path + " " + firstChild.mount + " " + firstChild.type + " " + firstChild.status);
|
||
|
|
if (!firstChild || !firstChild.path || !firstChild.mount || !firstChild.type || !firstChild.status){
|
||
|
|
AssertionResult.setResultForFailure("First child not valid");
|
||
|
|
// save path
|
||
|
|
//vars.put("path", firstChild.path);
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG delete" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="docURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgNodeURN}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">docURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/delete</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata File Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_FILE'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_FILE'");
|
||
|
|
} else if (data.results.status != 'deleted'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.status is not deleted");
|
||
|
|
} else if (!data.results.deleted){
|
||
|
|
AssertionResult.setResultForFailure("data.results.status is not deleted");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG upload by docURN after delete" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/upload?access_token=${sgAccessTokenEncoded}&docURN=${sgNodeURN}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
|
||
|
|
<collectionProp name="HTTPFileArgs.files">
|
||
|
|
<elementProp name="${sg.path}" elementType="HTTPFileArg">
|
||
|
|
<stringProp name="File.path">${sg.path}</stringProp>
|
||
|
|
<stringProp name="File.paramname">file</stringProp>
|
||
|
|
<stringProp name="File.mimetype">application/octet-stream</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Update testfile.txt.eye to SG</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG mkdir /foodir" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">/foodir</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="permissions" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.permissions}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">permissions</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/mkdir?access_token=${sgAccessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG mkdir /bardir" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">/bardir</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="permissions" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.permissions}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">permissions</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/mkdir?access_token=${sgAccessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG metadata /foodir" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/foodir</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="depth" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">10</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">depth</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG upload to /foodir" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/upload?access_token=${sgAccessTokenEncoded}&mount=t&signature=${sg.signature}&path=/foodir/${sg.path}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
|
||
|
|
<collectionProp name="HTTPFileArgs.files">
|
||
|
|
<elementProp name="${sg.path}" elementType="HTTPFileArg">
|
||
|
|
<stringProp name="File.path">${sg.path}</stringProp>
|
||
|
|
<stringProp name="File.paramname">file</stringProp>
|
||
|
|
<stringProp name="File.mimetype">application/octet-stream</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Update testfile.txt.eye to SG</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG upload LARGE to /foodir" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/upload?access_token=${sgAccessTokenEncoded}&mount=t&signature=${sg.signature}&path=/foodir/${sg.path.large}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
|
||
|
|
<collectionProp name="HTTPFileArgs.files">
|
||
|
|
<elementProp name="${sg.path.large}" elementType="HTTPFileArg">
|
||
|
|
<stringProp name="File.path">${sg.path.large}</stringProp>
|
||
|
|
<stringProp name="File.paramname">file</stringProp>
|
||
|
|
<stringProp name="File.mimetype">application/octet-stream</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Update testfile.txt.eye to SG</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG file /foodir/file" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/foodir/${sg.path}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/file</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Response to file" enabled="true">
|
||
|
|
<stringProp name="FileSaver.filename">test.txt.ionu-downloaded</stringProp>
|
||
|
|
<boolProp name="FileSaver.errorsonly">false</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipautonumber">true</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipsuffix">true</boolProp>
|
||
|
|
<boolProp name="FileSaver.successonly">true</boolProp>
|
||
|
|
</ResultSaver>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG metadata" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="depth" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">10</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">depth</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
} else if (!data.results.contents){
|
||
|
|
AssertionResult.setResultForFailure("No child folders/files");
|
||
|
|
} else {
|
||
|
|
var firstChild = data.results.contents[0];
|
||
|
|
log.info("First child: " + firstChild.path + " " + firstChild.mount + " " + firstChild.type + " " + firstChild.status);
|
||
|
|
if (!firstChild || !firstChild.path || !firstChild.mount || !firstChild.type || !firstChild.status){
|
||
|
|
AssertionResult.setResultForFailure("First child not valid");
|
||
|
|
// save path
|
||
|
|
//vars.put("path", firstChild.path);
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG rename/move /foodir/file to /bardir" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="newPath" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/bardir/${sg.path}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">newPath</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/rename?access_token=${sgAccessTokenEncoded}&mount=t&signature=${sg.signature}&path=/foodir/${sg.path}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata File Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_FILE'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_FILE'");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG metadata verify parent dirhash" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="depth" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">10</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">depth</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version){
|
||
|
|
AssertionResult.setResultForFailure("Bad version");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
} else if (!data.results.contents){
|
||
|
|
AssertionResult.setResultForFailure("No child folders/files");
|
||
|
|
} else {
|
||
|
|
var firstChild = data.results.contents[0];
|
||
|
|
log.info("First child: " + firstChild.path + " " + firstChild.mount + " " + firstChild.type + " " + firstChild.status);
|
||
|
|
if (!firstChild || !firstChild.path || !firstChild.mount || !firstChild.type || !firstChild.status){
|
||
|
|
AssertionResult.setResultForFailure("First child not valid");
|
||
|
|
// save path
|
||
|
|
//vars.put("path", firstChild.path);
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG file /bardir/file" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/bardir/${sg.path}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/file</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Response to file" enabled="true">
|
||
|
|
<stringProp name="FileSaver.filename">test.txt.ionu-downloaded</stringProp>
|
||
|
|
<boolProp name="FileSaver.errorsonly">false</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipautonumber">true</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipsuffix">true</boolProp>
|
||
|
|
<boolProp name="FileSaver.successonly">true</boolProp>
|
||
|
|
</ResultSaver>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG delete /bardir/file" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/bardir/${sg.path}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/delete</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.version || !obj.seq){
|
||
|
|
AssertionResult.setResultForFailure("Bad version or seq");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata File Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_FILE'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_FILE'");
|
||
|
|
} else if (data.results.status != 'deleted'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.status is not deleted");
|
||
|
|
} else if (!data.results.deleted){
|
||
|
|
AssertionResult.setResultForFailure("data.results.status is not deleted");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG delete /mojodir" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/mojodir</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/delete</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG rename /foodir /mojodir" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="newPath" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/mojodir</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">newPath</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/rename?access_token=${sgAccessTokenEncoded}&mount=t&signature=${sg.signature}&path=/foodir</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || !obj.name){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
|
||
|
|
vars.put("sgNodeURN", obj.urn);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="SG metadata verify /mojodir hash" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">/</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="mount" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">t</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">mount</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="depth" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">10</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">depth</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sg.signature}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.port)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.connect_timeout">10000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.response_timeout">20000</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.protocol">${__P(test.server.sg.scheme)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
|
||
|
|
<stringProp name="HTTPSampler.path">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Insure that shared path just added is returned</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Result Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else {
|
||
|
|
var obj = data.results;
|
||
|
|
if (!obj.van || obj.mount != "t" || !obj.signature || !obj.path ){
|
||
|
|
AssertionResult.setResultForFailure("Bad result van, mount, signature or path");
|
||
|
|
}
|
||
|
|
if (!obj.urn){
|
||
|
|
AssertionResult.setResultForFailure("Bad urn");
|
||
|
|
}
|
||
|
|
if (!obj.folder || obj.name==null){
|
||
|
|
AssertionResult.setResultForFailure("Bad folder or name");
|
||
|
|
}
|
||
|
|
if (!obj.mtime || !obj.utime){
|
||
|
|
AssertionResult.setResultForFailure("Bad mtime or utime");
|
||
|
|
}
|
||
|
|
if (!obj.mimetype){
|
||
|
|
AssertionResult.setResultForFailure("Bad mimetype");
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Metadata Directory Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("No results");
|
||
|
|
} else if (!data.results.mount || !data.results.path || !data.results.status || !data.results.type){
|
||
|
|
AssertionResult.setResultForFailure("Result data incomplete");
|
||
|
|
} else if (data.results.type != 'SNT_REMOTE_DIRECTORY'){
|
||
|
|
AssertionResult.setResultForFailure("data.results.type is not 'SNT_REMOTE_DIRECTORY'");
|
||
|
|
} else if (!data.results.contents){
|
||
|
|
AssertionResult.setResultForFailure("No child folders/files");
|
||
|
|
} else {
|
||
|
|
var firstChild = data.results.contents[0];
|
||
|
|
log.info("First child: " + firstChild.path + " " + firstChild.mount + " " + firstChild.type + " " + firstChild.status);
|
||
|
|
if (!firstChild || !firstChild.path || !firstChild.mount || !firstChild.type || !firstChild.status){
|
||
|
|
AssertionResult.setResultForFailure("First child not valid");
|
||
|
|
// save path
|
||
|
|
//vars.put("path", firstChild.path);
|
||
|
|
}
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/delete (fail no signature)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/delete</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51508">400</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/delete (fail not found)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">123456789ABC</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">/foo.ionu</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/delete</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51512">404</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/file (fail not found)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">123456789ABC</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">/foo.ionu</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/file</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51512">404</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/metadata (fail not found)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="access_token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${sgAccessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">access_token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="signature" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">123456789ABC</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">signature</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="path" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">/foo.ionu</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">path</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="HTTPSampler.domain">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/metadata</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51512">404</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="sg/upload (fail not .ionu file)" 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">${__P(test.server.sg)}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.port">${__P(test.server.sg.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">${service.context.sg}/upload?access_token=${sgAccessTokenEncoded}&signature=123456789ABC&path=/lt-gui.sh</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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">true</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<elementProp name="HTTPsampler.Files" elementType="HTTPFileArgs">
|
||
|
|
<collectionProp name="HTTPFileArgs.files">
|
||
|
|
<elementProp name="/Users/tim/Development/daisy-svn/daisy-svn.ws/ionu-ws-tests/lt-gui.sh" elementType="HTTPFileArg">
|
||
|
|
<stringProp name="File.path">/Users/tim/Development/daisy-svn/daisy-svn.ws/ionu-ws-tests/lt-gui.sh</stringProp>
|
||
|
|
<stringProp name="File.paramname">file</stringProp>
|
||
|
|
<stringProp name="File.mimetype">application/octet-stream</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</elementProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51544">415</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="false">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Nikki" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1370881794000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1370881794000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Nikki better be running against test.server ;)</stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Nikki Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Verify Collaborator file" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.client.*;
|
||
|
|
import org.json.*;
|
||
|
|
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
OfficeService os = new OfficeService();
|
||
|
|
os.setCloudGuardService(cgs);
|
||
|
|
try {
|
||
|
|
JSONObject obj = os.getCollaborators(false);
|
||
|
|
} catch (Throwable ex){
|
||
|
|
log.error("getCollaborators: " + ex.getMessage());
|
||
|
|
ex.printStackTrace();
|
||
|
|
throw ex;
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Setup Nikki COLLABORATE message" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
CloudGuardURN dest = new CloudGuardURN(vars.get("nikki.urn"));
|
||
|
|
PubSubMessage msg = new PubSubMessage(urn, dest);
|
||
|
|
msg.setAction(PubSubMessage.Action.COLLABORATE_REQUEST);
|
||
|
|
msg.setIssueDate(new java.util.Date());
|
||
|
|
|
||
|
|
log.info("Put message: " + msg.toString());
|
||
|
|
vars.put("message", msg.toString());</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="COLLABORATE_REQUEST Nikki" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="message" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">message</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/publish?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Verify Collaborator file" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.client.*;
|
||
|
|
import org.json.*;
|
||
|
|
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
OfficeService os = new OfficeService();
|
||
|
|
os.setCloudGuardService(cgs);
|
||
|
|
try {
|
||
|
|
JSONObject obj = os.getCollaborators(false);
|
||
|
|
} catch (Throwable ex){
|
||
|
|
log.error("getCollaborators: " + ex.getMessage());
|
||
|
|
ex.printStackTrace();
|
||
|
|
throw ex;
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="subscribe Nikki COLLABORATE_REPLY" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/subscribe</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for COLLABORATE_REPLY" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
var dstr = data;
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else {
|
||
|
|
var msg = null;
|
||
|
|
for (var i=0; i<data.results.length; i++){
|
||
|
|
if (data.results[i].action == "COLLABORATE_REPLY" && data.results[i].source.match(/urn:ionu:000000:00000003/)){
|
||
|
|
msg = data.results[i];
|
||
|
|
vars.put("message.id", msg["msgId"]);
|
||
|
|
vars.put("collab.data", dstr);
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (msg == null) AssertionResult.setResultForFailure("Action is not COLLABORATE_REPLY");
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Sleep " enabled="true">
|
||
|
|
<stringProp name="ConstantTimer.delay">10000</stringProp>
|
||
|
|
</ConstantTimer>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Add Nikki as Collaborator" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.client.*;
|
||
|
|
import org.json.*;
|
||
|
|
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
OfficeService os = new OfficeService();
|
||
|
|
os.setCloudGuardService(cgs);
|
||
|
|
|
||
|
|
String cmsg = (String)vars.get("collab.data");
|
||
|
|
log.info("cmsg: " + cmsg);
|
||
|
|
JSONObject j = new JSONObject(cmsg);
|
||
|
|
j = j.getJSONArray("results").getJSONObject(0);
|
||
|
|
PubSubMessage m = new PubSubMessage(j);
|
||
|
|
log.info("About to invoke collaborate: " + m);
|
||
|
|
try {
|
||
|
|
os.collaborate(m.getSource(), m.getMessageIdentifier(), null, "active", true, false);
|
||
|
|
} catch (Throwable ex){
|
||
|
|
log.error("collaborate: " + ex.getMessage());
|
||
|
|
ex.printStackTrace();
|
||
|
|
throw ex;
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="dispose" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="messageID" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message.id}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">messageID</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/dispose</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Collab</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for REPLY" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else if (data.results.action != "COLLABORATE_REPLY"){
|
||
|
|
AssertionResult.setResultForFailure("Action is not COLLABORATE_REPLY");
|
||
|
|
} else {
|
||
|
|
var msg = data.results;
|
||
|
|
vars.put("message.id", msg["_id"]);
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Send Nikki SHARE message" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.client.*;
|
||
|
|
import org.json.*;
|
||
|
|
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
CloudGuardURN dest = new CloudGuardURN(vars.get("nikki.urn"));
|
||
|
|
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
try {
|
||
|
|
JSONObject ci = new JSONObject();
|
||
|
|
ci.put("collab_type", "office");
|
||
|
|
ci.put("publicKey", "");
|
||
|
|
ci.put("messageIdentifier", "");
|
||
|
|
ci.put("_id", dest.as(CloudGuardURN.URN_TYPE.PMO).toString());
|
||
|
|
|
||
|
|
PubSubMessage msg = ChatService.sendChatMessage(cgs, ci, null, new Object[]{"JMeter says hello"});
|
||
|
|
log.info("Put message: " + msg);
|
||
|
|
vars.put("message", msg.toString());
|
||
|
|
} catch (Throwable ex){
|
||
|
|
log.error("sendChat: " + ex.getMessage());
|
||
|
|
ex.printStackTrace();
|
||
|
|
throw ex;
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="subscribe Nikki SHARE REPLY" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/subscribe</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Sleep " enabled="true">
|
||
|
|
<stringProp name="ConstantTimer.delay">5000</stringProp>
|
||
|
|
</ConstantTimer>
|
||
|
|
<hashTree/>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for SHARE" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (data.results.length < 1){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else {
|
||
|
|
var msg = null;
|
||
|
|
for (var i=0; i<data.results.length; i++){
|
||
|
|
if (data.results[i].action == "SHARE" && data.results[i].source.match(/urn:ionu:000000:00000003/)){
|
||
|
|
msg = data.results[i];
|
||
|
|
vars.put("message.id", msg["msgId"]);
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (msg == null) AssertionResult.setResultForFailure("Action is not SHARE");
|
||
|
|
}
|
||
|
|
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="dispose" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="messageID" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message.id}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">messageID</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/dispose</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Share</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion check for REPLY" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
} else if (!data.results){
|
||
|
|
AssertionResult.setResultForFailure("Expected one result");
|
||
|
|
} else if (data.results.action != "SHARE"){
|
||
|
|
AssertionResult.setResultForFailure("Action is not SHARE");
|
||
|
|
} else {
|
||
|
|
var msg = data.results;
|
||
|
|
vars.put("message.id", msg["_id"]);
|
||
|
|
}
|
||
|
|
</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Web Pages" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Page Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="office.jsp" 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"></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">/cgws/office.jsp</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<HTMLAssertion guiclass="HTMLAssertionGui" testclass="HTMLAssertion" testname="HTML Assertion" enabled="true">
|
||
|
|
<stringProp name="TestPlan.comments">Should get the office page</stringProp>
|
||
|
|
<longProp name="html_assertion_error_threshold">1</longProp>
|
||
|
|
<longProp name="html_assertion_warning_threshold">30</longProp>
|
||
|
|
<stringProp name="html_assertion_doctype">omit</stringProp>
|
||
|
|
<boolProp name="html_assertion_errorsonly">false</boolProp>
|
||
|
|
<longProp name="html_assertion_format">0</longProp>
|
||
|
|
<stringProp name="html_assertion_filename">office-page.txt</stringProp>
|
||
|
|
</HTMLAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="PubSub Spam the Hell out of CG" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="PubSub Services Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="Setup SHARE message to Nikki" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">import com.ionu.csf.component.*;
|
||
|
|
import org.json.*;
|
||
|
|
|
||
|
|
CloudGuardURN src = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
CloudGuardURN dest = new CloudGuardURN(vars.get("nikki.urn"));
|
||
|
|
PubSubMessage msg = new PubSubMessage(src, dest);
|
||
|
|
msg.setAction(PubSubMessage.Action.SHARE);
|
||
|
|
msg.setIssueDate(new java.util.Date());
|
||
|
|
msg.setMessageIdentifier("SPAMMY-JMETER-SHARE");
|
||
|
|
JSONObject ad = new JSONObject();
|
||
|
|
ad.put("mount", "t");
|
||
|
|
ad.put("path", "/no-such-file.txt.ionu");
|
||
|
|
ad.put("signature", "00000000");
|
||
|
|
msg.setActionData(ad);
|
||
|
|
|
||
|
|
log.info("Put message: " + msg.toString());
|
||
|
|
vars.put("message", msg.toString());</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
<LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller: Publish X SHARE's" enabled="true">
|
||
|
|
<boolProp name="LoopController.continue_forever">true</boolProp>
|
||
|
|
<stringProp name="LoopController.loops">20</stringProp>
|
||
|
|
</LoopController>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="publish/share" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="message" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">false</boolProp>
|
||
|
|
<stringProp name="Argument.value">${message}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">message</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/pubsub/publish?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Sleep for 1 seconds" enabled="true">
|
||
|
|
<stringProp name="ConstantTimer.delay">1000</stringProp>
|
||
|
|
</ConstantTimer>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="dispose all messages" enabled="true">
|
||
|
|
<stringProp name="BeanShellSampler.query">
|
||
|
|
import org.json.*;
|
||
|
|
import com.ionu.csf.component.*;
|
||
|
|
import com.ionu.ijw.cg.*;
|
||
|
|
|
||
|
|
// libionu
|
||
|
|
log.info("disposeAll");
|
||
|
|
|
||
|
|
// CGS
|
||
|
|
CloudGuardURN urn = new CloudGuardURN(vars.get("device.urn"));
|
||
|
|
String server = props.get("test.server");
|
||
|
|
String scheme = props.get("test.server.scheme");
|
||
|
|
String port = props.get("test.server.port");
|
||
|
|
log.info("Using server: " + scheme + server + ":" + port);
|
||
|
|
|
||
|
|
com.ionu.ijw.cg.CloudGuardService cgs = new com.ionu.ijw.cg.CloudGuardService();
|
||
|
|
cgs.setHost(server);
|
||
|
|
cgs.setScheme(scheme);
|
||
|
|
cgs.setPort(Integer.valueOf(port));
|
||
|
|
cgs.setToken(vars.get("accessToken"));
|
||
|
|
cgs.setAuthenticatedDeviceURN(urn);
|
||
|
|
|
||
|
|
JSONArray msgs = cgs.subscribeMessages(null, true);
|
||
|
|
for (int i=0; i<msgs.length(); i++){
|
||
|
|
PubSubMessage msg = new PubSubMessage(msgs.getJSONObject(i));
|
||
|
|
cgs.disposeMessage(msg);
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.filename"></stringProp>
|
||
|
|
<stringProp name="BeanShellSampler.parameters"></stringProp>
|
||
|
|
<boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
|
||
|
|
</BeanShellSampler>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call logout" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-1005376353">Test Fragment - logout</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Password" enabled="true">
|
||
|
|
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||
|
|
<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">1</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<stringProp name="ThreadGroup.num_threads">1</stringProp>
|
||
|
|
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
|
||
|
|
<longProp name="ThreadGroup.start_time">1295640284000</longProp>
|
||
|
|
<longProp name="ThreadGroup.end_time">1295640284000</longProp>
|
||
|
|
<boolProp name="ThreadGroup.scheduler">false</boolProp>
|
||
|
|
<stringProp name="ThreadGroup.duration"></stringProp>
|
||
|
|
<stringProp name="ThreadGroup.delay"></stringProp>
|
||
|
|
</ThreadGroup>
|
||
|
|
<hashTree>
|
||
|
|
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller - call authenticate" enabled="true">
|
||
|
|
<collectionProp name="ModuleController.node_path">
|
||
|
|
<stringProp name="-1227702913">WorkBench</stringProp>
|
||
|
|
<stringProp name="508666367">CloudGuard Functional Test</stringProp>
|
||
|
|
<stringProp name="-845977678">Test Fragment - authenticate (reuse in multiple thread groups)</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
</ModuleController>
|
||
|
|
<hashTree/>
|
||
|
|
<GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Reset Controller" enabled="true"/>
|
||
|
|
<hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="passwordChange (wrong current password)" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="oldPassword" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">nottherightpassword</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">oldPassword</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="newPassword" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.password}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">newPassword</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/auth/passwordChange?deviceURN=${device.urn}&token=${accessTokenEncoded}</stringProp>
|
||
|
|
<stringProp name="HTTPSampler.method">POST</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
<stringProp name="TestPlan.comments">Should fail with 400 server error</stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion Server Error " enabled="true">
|
||
|
|
<collectionProp name="Asserion.test_strings">
|
||
|
|
<stringProp name="51511">403</stringProp>
|
||
|
|
</collectionProp>
|
||
|
|
<stringProp name="TestPlan.comments">Expect 4xx/5xx error </stringProp>
|
||
|
|
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
||
|
|
<boolProp name="Assertion.assume_success">true</boolProp>
|
||
|
|
<intProp name="Assertion.test_type">8</intProp>
|
||
|
|
</ResponseAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="requestPasswordReset" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="email" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.email}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">email</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/auth/requestPasswordReset</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="Get reset code Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
if (data.code == 200){
|
||
|
|
var rcode = data.results.passwordResetCode;
|
||
|
|
var rexp = data.results.passwordResetExpires;
|
||
|
|
if (!rcode || !rexp){
|
||
|
|
AssertionResult.setResultForFailure("No reset code/expires");
|
||
|
|
}
|
||
|
|
vars.put("passwordResetCode", rcode);
|
||
|
|
vars.put("passwordResetExpires", rexp);
|
||
|
|
} else {
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="confirmPasswordReset - email link page" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="code" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${passwordResetCode}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">code</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="email" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.email}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">email</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/auth/confirmPasswordReset</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<HTMLAssertion guiclass="HTMLAssertionGui" testclass="HTMLAssertion" testname="HTML Assertion (allow two nav/section errors)" enabled="true">
|
||
|
|
<stringProp name="TestPlan.comments">Should get the office page</stringProp>
|
||
|
|
<longProp name="html_assertion_error_threshold">2</longProp>
|
||
|
|
<longProp name="html_assertion_warning_threshold">30</longProp>
|
||
|
|
<stringProp name="html_assertion_doctype">omit</stringProp>
|
||
|
|
<boolProp name="html_assertion_errorsonly">false</boolProp>
|
||
|
|
<longProp name="html_assertion_format">0</longProp>
|
||
|
|
<stringProp name="html_assertion_filename">password-reset-tidy.txt</stringProp>
|
||
|
|
</HTMLAssertion>
|
||
|
|
<hashTree/>
|
||
|
|
<ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Responses to a file" enabled="true">
|
||
|
|
<stringProp name="FileSaver.filename">confirmPassReset</stringProp>
|
||
|
|
<boolProp name="FileSaver.errorsonly">false</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipautonumber">false</boolProp>
|
||
|
|
<boolProp name="FileSaver.skipsuffix">false</boolProp>
|
||
|
|
<boolProp name="FileSaver.successonly">false</boolProp>
|
||
|
|
</ResultSaver>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="confirmPasswordReset - set new password" enabled="true">
|
||
|
|
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
||
|
|
<collectionProp name="Arguments.arguments">
|
||
|
|
<elementProp name="deviceURN" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${device.urn}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">deviceURN</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="token" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${accessToken}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">token</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="code" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${passwordResetCode}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">code</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="email" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.email}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">email</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
<elementProp name="newPasswordHash" elementType="HTTPArgument">
|
||
|
|
<boolProp name="HTTPArgument.always_encode">true</boolProp>
|
||
|
|
<stringProp name="Argument.value">${pmo.newPassword.sha}</stringProp>
|
||
|
|
<stringProp name="Argument.metadata">=</stringProp>
|
||
|
|
<boolProp name="HTTPArgument.use_equals">true</boolProp>
|
||
|
|
<stringProp name="Argument.name">newPasswordHash</stringProp>
|
||
|
|
</elementProp>
|
||
|
|
</collectionProp>
|
||
|
|
</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">${service.context}/auth/confirmPasswordReset</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>
|
||
|
|
<stringProp name="HTTPSampler.implementation">Java</stringProp>
|
||
|
|
<boolProp name="HTTPSampler.monitor">false</boolProp>
|
||
|
|
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
|
||
|
|
</HTTPSamplerProxy>
|
||
|
|
<hashTree>
|
||
|
|
<JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSON OK Assertion" enabled="true">
|
||
|
|
<stringProp name="filename"></stringProp>
|
||
|
|
<stringProp name="parameters"></stringProp>
|
||
|
|
<stringProp name="script">var data = SampleResult.getResponseDataAsString();
|
||
|
|
log.info("data: " + data);
|
||
|
|
data = eval('('+data+')');
|
||
|
|
log.info(data.code);
|
||
|
|
if (data.code!=200){
|
||
|
|
AssertionResult.setResultForFailure("OK status not returned");
|
||
|
|
}</stringProp>
|
||
|
|
<stringProp name="scriptLanguage">javascript</stringProp>
|
||
|
|
<stringProp name="cacheKey"></stringProp>
|
||
|
|
</JSR223Assertion>
|
||
|
|
<hashTree/>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
</hashTree>
|
||
|
|
</jmeterTestPlan>
|