This is an automated email from the git hooks/post-receive script. New commit to branch feature/testsEnMass in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 891d006061b328c1786272b1d835cb8c06f0ce8a Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Dec 1 09:57:52 2017 +0100 debut de mise en place de test en mass --- pollen-rest-api/pom.xml | 6 + .../chorem/pollen/rest/api/VoteSimulation.scala | 127 ++++++++++++++ pollen-rest-api/src/test/resources/tsung.xml | 168 ++++++++++++++++++ pollen-rest-api/src/test/resources/tsung2.xml | 188 +++++++++++++++++++++ pollen-rest-api/src/test/resources/votes.csv | 5 + pom.xml | 6 + 6 files changed, 500 insertions(+) diff --git a/pollen-rest-api/pom.xml b/pollen-rest-api/pom.xml index 2527e5c7..455f51b6 100644 --- a/pollen-rest-api/pom.xml +++ b/pollen-rest-api/pom.xml @@ -260,6 +260,12 @@ <artifactId>log4j</artifactId> <scope>compile</scope> </dependency> + + <dependency> + <groupId>io.gatling.highcharts</groupId> + <artifactId>gatling-charts-highcharts</artifactId> + <scope>test</scope> + </dependency> </dependencies> diff --git a/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/VoteSimulation.scala b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/VoteSimulation.scala new file mode 100644 index 00000000..901ef360 --- /dev/null +++ b/pollen-rest-api/src/test/java/org/chorem/pollen/rest/api/VoteSimulation.scala @@ -0,0 +1,127 @@ +package org.chorem.pollen.rest.api + +import scala.concurrent.duration._ + +import io.gatling.core.Predef._ +import io.gatling.http.Predef._ +import io.gatling.jdbc.Predef._ + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +class VoteSimulation extends Simulation { + + val httpProtocol = http + .baseURL("http://felteu:8888") + .inferHtmlResources() + .acceptHeader("*/*") + .acceptEncodingHeader("gzip, deflate") + .acceptLanguageHeader("fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3") + .userAgentHeader("Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0") + + val headers_1 = Map( + "Accept" -> "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Access-Control-Request-Headers" -> "content-type,x-pollen-ui-context", + "Access-Control-Request-Method" -> "GET", + "Origin" -> "http://felteu:8080") + + val headers_2 = Map( + "content-language" -> "fr", + "content-type" -> "application/json;charset=UTF-8", + "origin" -> "http://felteu:8080", + "x-pollen-ui-context" -> """{"uiEndPoint":"http://felteu:8080","userValidateUrl":"http://felteu:8080/#signcheck/{userId}/{token}","pollVoteUrl":"http://felteu:8080/#poll/{pollId}/vote/{token}","pollVoteEditUrl":"http://felteu:8080/#poll/{pollId}/vote/{voteId}/{token}","pollEditUrl":"http://felteu:8080/#poll/{pollId}/summary/{token}","resourceUrl":"http://felteu:8888/pollen-rest-api/v1/resources/{resourceId}","resourceDownloadUrl":"http://felteu:8888/pollen-rest-api/v1/resources/{reso [...] + + val headers_12 = Map( + "Accept" -> "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "Access-Control-Request-Headers" -> "content-type,x-pollen-ui-context", + "Access-Control-Request-Method" -> "POST", + "Origin" -> "http://felteu:8080") + + val uri1 = "felteu" + + val scn = scenario("RecordedSimulation") + .exec(http("request_0") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ?") + .headers(headers_1), + http("request_2") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ?") + .headers(headers_2), + http("request_3") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/choices?") + .headers(headers_1), + http("request_4") + .options("/pollen-rest-api/v1/voteCountingTypes/3") + .headers(headers_1), + http("request_5") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/votes/new?") + .headers(headers_1), + http("request_6") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/results?") + .headers(headers_1), + http("request_7") + .get("/pollen-rest-api/v1/voteCountingTypes/3") + .headers(headers_2), + http("request_8") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/choices?") + .headers(headers_2), + http("request_9") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/votes/new?") + .headers(headers_2), + http("request_10") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/results?") + .headers(headers_2))) + .pause(7) + .exec(http("request_12") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/votes?") + .headers(headers_12) + .resources(http("request_13") + .post("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/votes?") + .headers(headers_2) + .body(RawFileBody("RecordedSimulation_0013_request.txt")), + http("request_14") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_1), + http("request_15") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_2), + http("request_16") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/choices?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_1), + http("request_17") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/results?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_1), + http("request_18") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/choices?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_2), + http("request_19") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/results?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_2), + http("request_20") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/votes?order=topiaCreateDate&desc=true&pageSize=20&permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_1), + http("request_21") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/votes?order=topiaCreateDate&desc=true&pageSize=20&permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_2))) + .pause(6) + .exec(http("request_22") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_1) + .resources(http("request_23") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_2), + http("request_24") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/choices?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_1), + http("request_25") + .options("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/results?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_1), + http("request_26") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/choices?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_2), + http("request_27") + .get("/pollen-rest-api/v1/polls/jFDstObUSYu1kP332cHFLQ/results?permission=CKuvdMXnRiOfEU1mOX03cQ") + .headers(headers_2))) + + setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol) + +} diff --git a/pollen-rest-api/src/test/resources/tsung.xml b/pollen-rest-api/src/test/resources/tsung.xml new file mode 100644 index 00000000..6fc7d091 --- /dev/null +++ b/pollen-rest-api/src/test/resources/tsung.xml @@ -0,0 +1,168 @@ +<?xml version="1.0"?> +<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd"> +<!--<tsung loglevel="debug" dumptraffic="true" version="1.0">--> +<tsung loglevel="info" version="1.0"> + + <!-- Configuration du client --> + <clients> + <client host="localhost" use_controller_vm="true" maxusers="15000"/> + </clients> + + <!-- Configuration du serveur --> + <servers> + <server host="localhost" port="8888" type="tcp"></server> + </servers> + + <load> + <arrivalphase phase="1" duration="10" unit="minute"> + <users arrivalrate="1" unit="second"></users> + </arrivalphase> + <!-- <arrivalphase phase="2" duration="5" unit="minute"> + <users arrivalrate="10" unit="second"></users> + </arrivalphase> + <arrivalphase phase="3" duration="1" unit="minute"> + <users arrivalrate="30" unit="second"></users> + </arrivalphase>--> + </load> + + <!-- Les scénarios --> + <sessions> + <session name="scenario1" probability="100" type="ts_http"> + <request> + <http url='/pollen-rest-api/v1/configuration' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/gtu/define' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/loginproviders/active' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/configuration' version='1.1' content_type='application/json;charset=UTF-8' + method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/gtu/define' version='1.1' content_type='application/json;charset=UTF-8' + method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/loginproviders/active' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg?' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg?' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/choices?' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/voteCountingTypes/3' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/results?' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes/new?' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/voteCountingTypes/3' version='1.1' content_type='application/json;charset=UTF-8' + method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes/new?' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/choices?' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/results?' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes?order=topiacreatedate&desc=true&pagesize=20' + version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes?order=topiacreatedate&desc=true&pagesize=20' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + + <thinktime random='true' value='23'/> + + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes?' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes?' version='1.1' + contents='{"id":null,"voterName":"azerty","choice":[{"choiceId":"7XhoOGPQTViBWdnqiymiBQ","voteValue":"1"},{"choiceId":"SKC7aJdKTtyVf_AD_kRzMA","voteValue":"2"},{"choiceId":"rB1-M5nYTCePE4aeASvb6w","voteValue":"3"},{"choiceId":"LN4Eg4fhQY25WGVhKBkRrQ","voteValue":"4"},{"cho [...] + content_type='application/json;charset=UTF-8' method='POST'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg?permission=cmw4cyg5spoweeqyevxx-g' version='1.1' + method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg?permission=cmw4cyg5spoweeqyevxx-g' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes?order=topiacreatedate&desc=true&pagesize=20&permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/results?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/choices?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/votes?order=topiacreatedate&desc=true&pagesize=20&permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/results?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/choices?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + + <thinktime random='true' value='3'/> + + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg?permission=cmw4cyg5spoweeqyevxx-g' version='1.1' + method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg?permission=cmw4cyg5spoweeqyevxx-g' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/choices?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/results?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/choices?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/polls/2sn_2l0es02ylrdd2woagg/results?permission=cmw4cyg5spoweeqyevxx-g' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + + </session> + </sessions> +</tsung> diff --git a/pollen-rest-api/src/test/resources/tsung2.xml b/pollen-rest-api/src/test/resources/tsung2.xml new file mode 100644 index 00000000..53283982 --- /dev/null +++ b/pollen-rest-api/src/test/resources/tsung2.xml @@ -0,0 +1,188 @@ +<?xml version="1.0"?> +<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd"> +<tsung loglevel="notice" version="1.0"> + + <!-- Client side setup --> + <clients> + <client host="localhost" use_controller_vm="true"/> + </clients> + + <!-- Server side setup --> + <servers> + <server host="localhost" port="8888" type="tcp"></server> + </servers> + + <!-- to start os monitoring (cpu, network, memory). Use an erlang + agent on the remote machine or SNMP. erlang is the default --> + <!--<monitoring>--> + <!--<monitor host="localhost" type="snmp"></monitor>--> + <!--</monitoring>--> + + <load> + <!-- several arrival phases can be set: for each phase, you can set + the mean inter-arrival time between new clients and the phase + duration --> + <arrivalphase phase="1" duration="1" unit="minute"> + <users interarrival="2" unit="second"></users> + </arrivalphase> + </load> + + <options> + <option type="ts_http" name="user_agent"> + <user_agent probability="80">Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Galeon/1.3.21</user_agent> + <user_agent probability="20">Mozilla/5.0 (Windows; U; Windows NT 5.2; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4</user_agent> + </option> + <option name="file_server" id="votes" value="votes.csv"></option> + </options> + + <!-- start a session for a http user. the probability is the + frequency of this type os session. The sum of all session's + probabilities must be 100 --> + + <sessions> + <session name="http-example" probability="100" type="ts_http"> + <setdynvars sourcetype="file" fileid="votes" delimiter=";" order="iter"> + <var name="poll_id" /> + <var name="vote" /> + </setdynvars> + + <request> + <http url='/pollen-rest-api/v1/configuration' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/gtu/define' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/loginproviders/active' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/configuration' version='1.1' content_type='application/json;charset=UTF-8' + method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/gtu/define' version='1.1' content_type='application/json;charset=UTF-8' + method='GET'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/loginproviders/active' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%' version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/choices' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/voteCountingTypes/3' version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/results' version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes/new' version='1.1' method='OPTIONS'></http> + </request> + <request> + <http url='/pollen-rest-api/v1/voteCountingTypes/3' version='1.1' content_type='application/json;charset=UTF-8' + method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes/new' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/choices' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/results' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes?order=topiaCreateDate&desc=true&pageSize=20' + version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes?order=topiaCreateDate&desc=true&pageSize=20' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + + <thinktime random='true' value='23'/> + + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes?' version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes?' version='1.1' + contents='%%_vote%%' + content_type='application/json;charset=UTF-8' method='POST'> + <http_header name="X-Pollen-UI-context" value="{"uiEndPoint":"http://localhost:8080","userValidateUrl":"http://localhost:8080/#signcheck/{userId}/{token}","pollVoteUrl":"http://localhost:8080/#poll/{pollId}/vote/{token}","pollVoteEditUrl":"http://localhost:8080/#poll/{pollId}/vote/{voteId}/{token}","pollEditUrl":"http://localhost:8080/#poll/{pollId}/summary/{token}","resourc [...] + </http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%' version='1.1' + method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes?order=topiaCreateDate&desc=true&pageSize=20' + version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/results' + version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/choices' + version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/votes?order=topiaCreateDate&desc=true&pageSize=20' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/results' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/choices' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + + <thinktime random='true' value='3'/> + + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%' version='1.1' + method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%' version='1.1' + content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/choices' + version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/results' + version='1.1' method='OPTIONS'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/choices' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + <request subst="true"> + <http url='/pollen-rest-api/v1/polls/%%_poll_id%%/results' + version='1.1' content_type='application/json;charset=UTF-8' method='GET'></http> + </request> + + </session> + </sessions> +</tsung> \ No newline at end of file diff --git a/pollen-rest-api/src/test/resources/votes.csv b/pollen-rest-api/src/test/resources/votes.csv new file mode 100644 index 00000000..c886c35b --- /dev/null +++ b/pollen-rest-api/src/test/resources/votes.csv @@ -0,0 +1,5 @@ +2sn_2l0eS02YLRDD2WOAGg;{"id":null,"voterName":"Nom1","choice":[{"choiceId":"7XhoOGPQTViBWdnqiymiBQ","voteValue":"1"},{"choiceId":"SKC7aJdKTtyVf_AD_kRzMA","voteValue":"2"},{"choiceId":"rB1-M5nYTCePE4aeASvb6w","voteValue":"3"},{"choiceId":"LN4Eg4fhQY25WGVhKBkRrQ","voteValue":"4"},{"choiceId":"kxDZO5MDRmWtHTt8We1Wew","voteValue":"5"},{"choiceId":"0LkioXHZRLKYFqCvOHrs-A","voteValue":"6"},{"choiceId":"w2FI3NzgTraJ8s3UPEiE5A","voteValue":"7"}]} +2sn_2l0eS02YLRDD2WOAGg;{"id":null,"voterName":"Nom1","choice":[{"choiceId":"7XhoOGPQTViBWdnqiymiBQ","voteValue":"2"},{"choiceId":"SKC7aJdKTtyVf_AD_kRzMA","voteValue":"3"},{"choiceId":"rB1-M5nYTCePE4aeASvb6w","voteValue":"3"},{"choiceId":"LN4Eg4fhQY25WGVhKBkRrQ","voteValue":"4"},{"choiceId":"kxDZO5MDRmWtHTt8We1Wew","voteValue":"5"},{"choiceId":"0LkioXHZRLKYFqCvOHrs-A","voteValue":"6"},{"choiceId":"w2FI3NzgTraJ8s3UPEiE5A","voteValue":"7"}]} +2sn_2l0eS02YLRDD2WOAGg;{"id":null,"voterName":"Nom1","choice":[{"choiceId":"7XhoOGPQTViBWdnqiymiBQ","voteValue":"3"},{"choiceId":"SKC7aJdKTtyVf_AD_kRzMA","voteValue":"4"},{"choiceId":"rB1-M5nYTCePE4aeASvb6w","voteValue":"3"},{"choiceId":"LN4Eg4fhQY25WGVhKBkRrQ","voteValue":"4"},{"choiceId":"kxDZO5MDRmWtHTt8We1Wew","voteValue":"5"},{"choiceId":"0LkioXHZRLKYFqCvOHrs-A","voteValue":"6"},{"choiceId":"w2FI3NzgTraJ8s3UPEiE5A","voteValue":"7"}]} +2sn_2l0eS02YLRDD2WOAGg;{"id":null,"voterName":"Nom1","choice":[{"choiceId":"7XhoOGPQTViBWdnqiymiBQ","voteValue":"4"},{"choiceId":"SKC7aJdKTtyVf_AD_kRzMA","voteValue":"5"},{"choiceId":"rB1-M5nYTCePE4aeASvb6w","voteValue":"3"},{"choiceId":"LN4Eg4fhQY25WGVhKBkRrQ","voteValue":"4"},{"choiceId":"kxDZO5MDRmWtHTt8We1Wew","voteValue":"5"},{"choiceId":"0LkioXHZRLKYFqCvOHrs-A","voteValue":"6"},{"choiceId":"w2FI3NzgTraJ8s3UPEiE5A","voteValue":"7"}]} +2sn_2l0eS02YLRDD2WOAGg;{"id":null,"voterName":"Nom1","choice":[{"choiceId":"7XhoOGPQTViBWdnqiymiBQ","voteValue":"5"},{"choiceId":"SKC7aJdKTtyVf_AD_kRzMA","voteValue":"6"},{"choiceId":"rB1-M5nYTCePE4aeASvb6w","voteValue":"3"},{"choiceId":"LN4Eg4fhQY25WGVhKBkRrQ","voteValue":"4"},{"choiceId":"kxDZO5MDRmWtHTt8We1Wew","voteValue":"5"},{"choiceId":"0LkioXHZRLKYFqCvOHrs-A","voteValue":"6"},{"choiceId":"w2FI3NzgTraJ8s3UPEiE5A","voteValue":"7"}]} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8e9f02b4..73c3cbf0 100644 --- a/pom.xml +++ b/pom.xml @@ -545,6 +545,12 @@ <version>0.9.4</version> </dependency> + <dependency> + <groupId>io.gatling.highcharts</groupId> + <artifactId>gatling-charts-highcharts</artifactId> + <version>2.3.0</version> + </dependency> + <!--dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.