NIHVIVO-1129 add tests for auto-complete fields.

This commit is contained in:
jeb228 2011-01-12 19:36:32 +00:00
parent 91b3b33738
commit 1ceec020b4
3 changed files with 139 additions and 14 deletions

View file

@ -63,8 +63,7 @@ report - Just summarize output from previously run tests.
<property file="${properties.file}" />
<fail unless="test.name"
message="${properties.file} must contain a value for test.name" />
<fail unless="test.name" message="${properties.file} must contain a value for test.name" />
<fail unless="jmeter.home.dir"
message="${properties.file} must contain a value for jmeter.home.dir" />
@ -76,12 +75,14 @@ report - Just summarize output from previously run tests.
<fail unless="webapp.name"
message="${properties.file} must contain a value for webapp.name" />
<fail unless="data.dir"
message="${properties.file} must contain a value for data.dir" />
<fail unless="data.dir" message="${properties.file} must contain a value for data.dir" />
<!-- If no value was provided, run everything 10 times -->
<property name="iterations" value="10" />
<!-- If no value was provided, use this as the default namespace -->
<property name="default.namespace" value="http://vivo.cornell.edu/individual/" />
<property name="webapp.url" value="http://${webapp.host}:${webapp.port}/${webapp.name}" />
<path id="xslt.classpath">
@ -118,7 +119,7 @@ report - Just summarize output from previously run tests.
</not>
</condition>
</fail>
<property name="file.infoResource.uris" location="${data.dir}/infoResourceUris.csv" />
<fail message="File &quot;${file.infoResource.uris}&quot; does not exist.">
<condition>
@ -183,4 +184,12 @@ report - Just summarize output from previously run tests.
<arg value="${report2.style}" />
</java>
</target>
<!-- =================================
target: merge
================================= -->
<target name="merge" depends="prepare" description="--> Merge summaries together">
</target>
</project>

View file

@ -9,12 +9,15 @@
#
# -----------------------------------------------------------------------------
#
# What test should we run?
#
test.name = SecondTests-rel-1-2
#
# The base install directory for JMeter, and some JARs required by XSLT
#
jmeter.home.dir = /Users/jeb228/Downloads/JMeter/jakarta-jmeter-2.4
jmeter.serializer.jar = ${jmeter.home.dir}/lib/serializer-2.7.1.jar
jmeter.xalan.jar = ${jmeter.home.dir}/lib/xalan-2.7.1.jar
#
# Where do we find the Vivo instance that we are testing?
@ -22,3 +25,13 @@ jmeter.xalan.jar = ${jmeter.home.dir}/lib/xalan-2.7.1.jar
webapp.host = localhost
webapp.port = 8080
webapp.name = vivo
#
# Where is the data to test against?
#
data.dir = /eclipseVitroWorkspace/vivo/utilities/load-testing/tests
#
# What's the default namespace (URIs are expressed as local-name only)
#
default.namespace = http://vivo.cornell.edu/individual/

View file

@ -9,32 +9,37 @@
<collectionProp name="Arguments.arguments">
<elementProp name="WEBAPP_HOST" elementType="Argument">
<stringProp name="Argument.name">WEBAPP_HOST</stringProp>
<stringProp name="Argument.value">${__property(webapp.host, localhost)}</stringProp>
<stringProp name="Argument.value">${__property(webapp.host, , localhost)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="WEBAPP_PORT" elementType="Argument">
<stringProp name="Argument.name">WEBAPP_PORT</stringProp>
<stringProp name="Argument.value">${__property(webapp.port, 8080)}</stringProp>
<stringProp name="Argument.value">${__property(webapp.port, , 8080)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="WEBAPP_NAME" elementType="Argument">
<stringProp name="Argument.name">WEBAPP_NAME</stringProp>
<stringProp name="Argument.value">${__property(webapp.name, vivo)}</stringProp>
<stringProp name="Argument.value">${__property(webapp.name, , vivo)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="PERSON_URI_FILE" elementType="Argument">
<stringProp name="Argument.name">PERSON_URI_FILE</stringProp>
<stringProp name="Argument.value">${__property(file.person.uris, PersonUris.csv)}</stringProp>
<stringProp name="Argument.value">${__property(file.person.uris, , PersonUris.csv)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="INFO_RESOURCE_URI_FILE" elementType="Argument">
<stringProp name="Argument.name">INFO_RESOURCE_URI_FILE</stringProp>
<stringProp name="Argument.value">${__property(file.infoResource.uris, InfoResourceUris.csv)}</stringProp>
<stringProp name="Argument.value">${__property(file.infoResource.uris, , InfoResourceUris.csv)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="ITERATIONS" elementType="Argument">
<stringProp name="Argument.name">ITERATIONS</stringProp>
<stringProp name="Argument.value">${__property(iterations, 10)}</stringProp>
<stringProp name="Argument.value">${__property(iterations, , 10)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="DEFAULT_NAMESPACE" elementType="Argument">
<stringProp name="Argument.name">DEFAULT_NAMESPACE</stringProp>
<stringProp name="Argument.value">${__property(default.namespace, , http://vivo.mydomain.edu/individual/)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
@ -307,6 +312,104 @@
</CSVDataSet>
<hashTree/>
</hashTree>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="DBA: Auto-complete authorship" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="query" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; SELECT ?pubUri WHERE {&lt;${DEFAULT_NAMESPACE}${PERSON_URI}&gt; core:authorInAuthorship ?authorshipUri . ?authorshipUri core:linkedInformationResource ?pubUri .}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">query</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">${WEBAPP_NAME}/ajax/sparqlQuery</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<boolProp name="HTTPSampler.monitor">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
</HTTPSampler>
<hashTree>
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="Person URIs from CSV" enabled="true">
<stringProp name="delimiter">,</stringProp>
<stringProp name="fileEncoding">utf8</stringProp>
<stringProp name="filename">${PERSON_URI_FILE}</stringProp>
<boolProp name="quotedData">false</boolProp>
<boolProp name="recycle">true</boolProp>
<stringProp name="shareMode">All threads</stringProp>
<boolProp name="stopThread">false</boolProp>
<stringProp name="variableNames">PERSON_URI</stringProp>
</CSVDataSet>
<hashTree/>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="-977445585">pubUri</stringProp>
</collectionProp>
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
<boolProp name="Assertion.assume_success">false</boolProp>
<intProp name="Assertion.test_type">2</intProp>
</ResponseAssertion>
<hashTree/>
</hashTree>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="DBA: Auto-complete grant role" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="query" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; SELECT ?grantUri WHERE {&lt;${DEFAULT_NAMESPACE}${PERSON_URI}&gt; &lt;http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole&gt; ?grantRole . ?grantRole core:roleIn ?grantUri .} </stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">query</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">${WEBAPP_NAME}/ajax/sparqlQuery</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<boolProp name="HTTPSampler.monitor">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
</HTTPSampler>
<hashTree>
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="Person URIs from CSV" enabled="true">
<stringProp name="delimiter">,</stringProp>
<stringProp name="fileEncoding">utf8</stringProp>
<stringProp name="filename">${PERSON_URI_FILE}</stringProp>
<boolProp name="quotedData">false</boolProp>
<boolProp name="recycle">true</boolProp>
<stringProp name="shareMode">All threads</stringProp>
<boolProp name="stopThread">false</boolProp>
<stringProp name="variableNames">PERSON_URI</stringProp>
</CSVDataSet>
<hashTree/>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="99198640">grantUri</stringProp>
</collectionProp>
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
<boolProp name="Assertion.assume_success">false</boolProp>
<intProp name="Assertion.test_type">2</intProp>
</ResponseAssertion>
<hashTree/>
</hashTree>
<HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="DBA: logout" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>