2020-08-01 05:05:27 +00:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2020-08-11 00:33:36 +00:00
|
|
|
<con:soapui-project id="054c19d1-4a14-421a-9282-eb37ba3df7ed" activeEnvironment="Default" name="REST Project 1" soapui-version="5.4.0" abortOnError="false" runType="SEQUENTIAL" resourceRoot="" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:RestService" id="701cbade-d755-498f-b6c9-8b8495b0b52b" wadlVersion="http://wadl.dev.java.net/2009/02" name="http://localhost:5859" type="rest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache/><con:endpoints><con:endpoint>http://localhost:5859</con:endpoint></con:endpoints><con:resource name="V1" path="/api/v1/market/list" id="bccabbdd-c9cc-4bba-82d4-b9fb3d653a23"><con:settings/><con:parameters><con:parameter><con:name>x-api-key</con:name><con:value/><con:style>HEADER</con:style><con:default/><con:description xsi:nil="true"/></con:parameter></con:parameters><con:method name="V1 1" id="a1c04725-cae1-404a-ad0a-8592adf6b7f6" method="GET"><con:settings/><con:parameters/><con:representation type="RESPONSE"><con:mediaType xsi:nil="true"/><con:status>0</con:status><con:params/><con:element>data</con:element></con:representation><con:representation type="FAULT"><con:mediaType>application/json</con:mediaType><con:status>401</con:status><con:params/><con:element xmlns:list="http://localhost/api/v1/market/list">list:Fault</con:element></con:representation><con:representation type="RESPONSE"><con:mediaType>application/json</con:mediaType><con:status>200</con:status><con:params/><con:element xmlns:list="http://localhost/api/v1/market/list">list:Response</con:element></con:representation><con:request name="Request 1" id="b17edac3-7f39-4aa9-a26a-a9b674853abd" mediaType="application/json"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><![CDATA[<xml-fragment xmlns:con="http://eviware.com/soapui/config">
|
2020-08-01 05:05:27 +00:00
|
|
|
<con:entry key="X-RateLimit-Reset" value="1592835820"/>
|
|
|
|
<con:entry key="X-RateLimit-Remaining" value="11"/>
|
|
|
|
<con:entry key="X-RateLimit-Limit" value="12"/>
|
|
|
|
<con:entry key="Retry-After" value="3600"/>
|
|
|
|
<con:entry key="Server" value="soapui"/>
|
|
|
|
</xml-fragment>]]></con:setting></con:settings><con:endpoint>https://api.originsro.org</con:endpoint><con:request/><con:originalUri>http://localhost/api/v1/market/list</con:originalUri><con:credentials><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:parameters><entry key="x-api-key" value="mlc9so3ysnihtcgce3ltshipdy6d8eou" xmlns="http://eviware.com/soapui/config"/></con:parameters><con:parameterOrder><con:entry>x-api-key</con:entry></con:parameterOrder></con:request></con:method></con:resource></con:interface><con:restMockService id="417c5c72-106b-439a-ba10-ee709c29d1d5" port="8080" path="/" host="elitedev00.myhouse.lan" name="originsRO"><con:settings/><con:properties/><con:restMockAction name="api/v1/market/list" method="GET" resourcePath="/api/v1/market/list" id="3ca6e239-a328-40af-af6f-a025bae85e3c"><con:settings/><con:defaultResponse>Response 1</con:defaultResponse><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:dispatchPath>/*
|
|
|
|
// Script dispatcher is used to select a response based on the incoming request.
|
|
|
|
// Here are few examples showing how to match based on path, query param, header and body
|
|
|
|
|
|
|
|
// Match based on path
|
|
|
|
def requestPath = mockRequest.getPath()
|
|
|
|
log.info "Path: "+ requestPath
|
|
|
|
|
|
|
|
if( requestPath.contains("json") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "JSON Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on query parameter
|
|
|
|
def queryString = mockRequest.getRequest().getQueryString()
|
|
|
|
log.info "QueryString: " + queryString
|
|
|
|
|
|
|
|
if( queryString.contains("stockholm") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response Stockholm"
|
|
|
|
}
|
|
|
|
else if( queryString.contains("london") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response London"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on header
|
|
|
|
def acceptEncodingHeaderList = mockRequest.getRequestHeaders().get("Accept-Encoding")
|
|
|
|
log.info "AcceptEncoding Header List: " + acceptEncodingHeaderList
|
|
|
|
|
|
|
|
if( acceptEncodingHeaderList.contains("gzip,deflate") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "GZiped Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on body
|
|
|
|
def requestBody = mockRequest.getRequestContent()
|
|
|
|
log.info "Request body: " + requestBody
|
|
|
|
|
|
|
|
if( requestBody.contains("some data") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response N"
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
</con:dispatchPath><con:response name="Response 1" id="e725baf9-be4b-4d6a-9f08-a6d9c7f02055" httpResponseStatus="200" mediaType="application/json"><con:settings/><con:responseContent>{"version":1,"generation_timestamp":"2020-06-22T13:14:01.560899Z","shops":[{"title":"• B\u003ePoison Bottle •","owner":"Mr. Boom Bastic","location":{"map":"prontera","x":124,"y":170},"creation_date":"2020-06-22T13:12:31Z","type":"B","items":[{"item_id":678,"amount":200,"price":31000}]},{"title":"click here","owner":"Larry Merchant","location":{"map":"payon","x":154,"y":174},"creation_date":"2020-06-22T13:10:08Z","type":"V","items":[{"item_id":4035,"amount":2,"price":1900000},{"item_id":2326,"amount":1,"price":280000},{"item_id":2336,"amount":1,"price":690000},{"item_id":1127,"amount":1,"price":370000,"refine":7},{"item_id":1953,"amount":1,"price":100000},{"item_id":12010,"amount":22,"price":10400},{"item_id":12006,"amount":15,"price":6300},{"item_id":12007,"amount":6,"price":7500},{"item_id":12014,"amount":3,"price":16000},{"item_id":1711,"amount":1,"price":45000}]},{"title":"Main Gauche [4]","owner":"Gabbie Carter","location":{"map":"prontera","x":67,"y":176},"creation_date":"2020-06-22T13:09:38Z","type":"V","items":[{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000},{"item_id":1208,"amount":1,"price":10000}]},{"title":":: TRÈS BIEN ::","owner":"aZvendo","location":{"map":"prontera","x":165,"y":275},"creation_date":"2020-06-22T13:04:41Z","type":"V","items":[{"item_id":518,"amount":36,"price":990},{"item_id":505,"amount":18,"price":4000},{"item_id":4004,"amount":1,"price":1700000}]},{"title":"@@@Fer@@@","owner":"PlayerNo.6-2","location":{"map":"prontera","x":102,"y":243},"creation_date":"2020-06-22T12:58:48Z","type":"V","items":[{"item_id":2623,"amount":1,"price":7777777},{"item_id":1556,"amount":1,"price":444444},{"item_id":1553,"amount":1,"price":444444},{"item_id":1517,"amount":1,"price":444444,"refine":7,"cards":[4005]},{"item_id":1123,"amount":1,"price":333333},{"item_id":1811,"amount":1,"price":111111},{"item_id":1808,"amount":1,"price":88888},{"item_id":1522,"amount":1,"price":88888},{"item_id":1561,"amount":1,"price":88888},{"item_id":4335,"amount":5,"price":55555}]},{"title":"Shiny Cards Shop and stuff","owner":"Facilitadora","location":{"map":"prontera","x":179,"y":238},"creation_date":"2020-06-22T12:51:50Z","type":"V","items":[{"item_id":4008,"amount":1,"price":200000},{"item_id":4005,"amount":2,"price":69420},{"item_id":4078,"amount":1,"price":50000},{"item_id":4071,"amount":1,"price":40000},{"item_id":4016,"amount":7,"price":25000},{"item_id":1163,"amount":1,"price":55000},{"item_id":2308,"amount":1,"price":25000}]},{"title":"AAAAAAAAAAAAAAAAAAAAaaa","owner":"TopRage","location":{"map":"prontera","x":101,"y":225},"creation_date":"2020-06-22T12:50:07Z","type":"V","items":[{"item_id":2506,"amount":1,"price":4199999,"refine":6},{"item_id":970,"amount":29,"price":7200},{"item_id":972,"amount":8,"price":31000}]},{"title":"SkelGeneral/BabyLeo/Dokebi/SageWormC","owner":"WannaMarchi","location":{"map":"prontera","x":105,"y":199},"creation_date":"2020-06-22T12:49:47Z","type":"V","items":[{"item_id":4219,"amount":2,"price":6000000},{"item_id":4221,"amount":1,"price":7000000},{"item_id":4233,"amount":1,"price":8000000},{"item_id":4265,"amount":2,"price":6000000},{"item_id":4258,"amount":1,"price":1200000},{"item_id":4272,"amount":1,"price":2200000},{"item_id":4098,"amount":1,"price":4200000},{"item_id":2337,"amount":1,"price":900000},{"item_id":2337,"amount":1,"price":900000},{"item_id":2337,"amount":1,"price":900000},{"item_id":2337,"amount":1,"price":900000}]},{"title":"Il Lampioncino","owner":"John Locke","location":{"map":"izl
|
|
|
|
</con:responseContent><con:header><con:name>X-RateLimit-Remaining</con:name><con:value>11</con:value></con:header><con:header><con:name>Retry-After</con:name><con:value>3600</con:value></con:header><con:header><con:name>Server</con:name><con:value>soapui</con:value></con:header><con:header><con:name>X-RateLimit-Reset</con:name><con:value>1592835820</con:value></con:header><con:header><con:name>X-RateLimit-Limit</con:name><con:value>12</con:value></con:header><con:header><con:name>Date</con:name><con:value>Mon, 22 Jun 2020 13:23:39 GMT</con:value></con:header><con:header><con:name>Set-cookie</con:name><con:value>__cfduid=d2c82666f594cbbcde87be2567696465e1592832219; expires=Wed, 22-Jul-20 13:23:39 GMT; path=/; domain=.originsro.org; HttpOnly; SameSite=Lax</con:value></con:header></con:response></con:restMockAction><con:restMockAction name="api/v1/fame/list" method="GET" resourcePath="/api/v1/fame/list" id="c835ca15-cf0b-417b-97fb-8153b37c7656"><con:settings/><con:defaultResponse>Response 1</con:defaultResponse><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:dispatchPath>/*
|
|
|
|
// Script dispatcher is used to select a response based on the incoming request.
|
|
|
|
// Here are few examples showing how to match based on path, query param, header and body
|
|
|
|
|
|
|
|
// Match based on path
|
|
|
|
def requestPath = mockRequest.getPath()
|
|
|
|
log.info "Path: "+ requestPath
|
|
|
|
|
|
|
|
if( requestPath.contains("json") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "JSON Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on query parameter
|
|
|
|
def queryString = mockRequest.getRequest().getQueryString()
|
|
|
|
log.info "QueryString: " + queryString
|
|
|
|
|
|
|
|
if( queryString.contains("stockholm") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response Stockholm"
|
|
|
|
}
|
|
|
|
else if( queryString.contains("london") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response London"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on header
|
|
|
|
def acceptEncodingHeaderList = mockRequest.getRequestHeaders().get("Accept-Encoding")
|
|
|
|
log.info "AcceptEncoding Header List: " + acceptEncodingHeaderList
|
|
|
|
|
|
|
|
if( acceptEncodingHeaderList.contains("gzip,deflate") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "GZiped Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on body
|
|
|
|
def requestBody = mockRequest.getRequestContent()
|
|
|
|
log.info "Request body: " + requestBody
|
|
|
|
|
|
|
|
if( requestBody.contains("some data") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response N"
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
</con:dispatchPath><con:response name="Response 1" id="5d34d9cc-cac9-40f9-b74a-0ca0567694c8" httpResponseStatus="200" mediaType="application/json"><con:settings/><con:responseContent>{"version":1,"generation_timestamp":"2020-06-22T13:14:01.559008Z","brewers":[{"char_id":258842,"name":"Atelier Rorona","points":4445498},{"char_id":257120,"name":"Joslyn","points":2642349},{"char_id":224329,"name":"FoCKeR","points":2000864},{"char_id":239814,"name":"Starbucks","points":1860584},{"char_id":200487,"name":"Flighty Broad","points":1688256},{"char_id":254305,"name":"Tanuki-chan","points":1592621},{"char_id":232593,"name":"Inochi","points":1511863},{"char_id":303593,"name":"Zerpotter","points":1319614},{"char_id":290697,"name":"Kushat'Podano","points":1295753},{"char_id":166165,"name":"game assassins need thi","points":1251074}],"forgers":[{"char_id":255525,"name":"Ikonic","points":36101},{"char_id":156764,"name":"Champer","points":24438},{"char_id":241569,"name":"Lucky Candy","points":23428},{"char_id":162068,"name":"Giuseppe","points":22330},{"char_id":246019,"name":"It's Not You, It's Me!","points":12345},{"char_id":323081,"name":"`Madhouse`","points":8661},{"char_id":321297,"name":"Valkyries","points":6859},{"char_id":157640,"name":"Diamond Tiara","points":6688},{"char_id":310828,"name":"Restorator","points":3557},{"char_id":221397,"name":"Maitai","points":3009}]}
|
|
|
|
</con:responseContent><con:header><con:name>X-RateLimit-Remaining</con:name><con:value>11</con:value></con:header><con:header><con:name>Retry-After</con:name><con:value>3600</con:value></con:header><con:header><con:name>Server</con:name><con:value>soapui</con:value></con:header><con:header><con:name>X-RateLimit-Reset</con:name><con:value>1592835842</con:value></con:header><con:header><con:name>X-RateLimit-Limit</con:name><con:value>12</con:value></con:header><con:header><con:name>Date</con:name><con:value>Mon, 22 Jun 2020 13:24:01 GMT</con:value></con:header><con:header><con:name>Set-cookie</con:name><con:value>__cfduid=dda2f04d687c87c0f2eda6a4105be95e71592832241; expires=Wed, 22-Jul-20 13:24:01 GMT; path=/; domain=.originsro.org; HttpOnly; SameSite=Lax</con:value></con:header></con:response></con:restMockAction><con:restMockAction name="api/v1/items/icons" method="GET" resourcePath="/api/v1/items/icons" id="39913c5a-5fd0-4d98-9725-06900a6526e1"><con:settings/><con:defaultResponse>Response 1</con:defaultResponse><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:dispatchPath>/*
|
|
|
|
// Script dispatcher is used to select a response based on the incoming request.
|
|
|
|
// Here are few examples showing how to match based on path, query param, header and body
|
|
|
|
|
|
|
|
// Match based on path
|
|
|
|
def requestPath = mockRequest.getPath()
|
|
|
|
log.info "Path: "+ requestPath
|
|
|
|
|
|
|
|
if( requestPath.contains("json") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "JSON Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on query parameter
|
|
|
|
def queryString = mockRequest.getRequest().getQueryString()
|
|
|
|
log.info "QueryString: " + queryString
|
|
|
|
|
|
|
|
if( queryString.contains("stockholm") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response Stockholm"
|
|
|
|
}
|
|
|
|
else if( queryString.contains("london") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response London"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on header
|
|
|
|
def acceptEncodingHeaderList = mockRequest.getRequestHeaders().get("Accept-Encoding")
|
|
|
|
log.info "AcceptEncoding Header List: " + acceptEncodingHeaderList
|
|
|
|
|
|
|
|
if( acceptEncodingHeaderList.contains("gzip,deflate") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "GZiped Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on body
|
|
|
|
def requestBody = mockRequest.getRequestContent()
|
|
|
|
log.info "Request body: " + requestBody
|
|
|
|
|
|
|
|
if( requestBody.contains("some data") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response N"
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
</con:dispatchPath><con:response name="Response 1" id="5d1170ba-2725-4524-8320-13a0d8714f49" httpResponseStatus="200" mediaType="application/json"><con:settings/><con:responseContent>{"version":1,"generation_timestamp":"2020-06-22T03:06:01.343728Z","icons":[{"item_id":501,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEX/AP/XqpHDkHqudmL////ox6X/9LxJSUm3t7eSkpLb29tubm7Kt6//8+u+QzDTjG7tZEfyhVmPIhi4o5v/8OVQ35yOAAAAAXRSTlMAQObYZgAAAAFiS0dEBI9o2VEAAAAHdElNRQfkAg4MBBc1u27AAAAAmElEQVQoz7WP2w6DIBAFsSyedavLRf//W7uQVmk0afvQeSIzOQSc+wfDcPOXnigE/1MYxxBw0szTYAMwv2kikunuPcBEc+8XknkCVNXOfHhADOYYVYG9mE92V2y08iksQBbRp+/CDM3CSRulKNb9E5o4p/QK6/Fe0WyhpVI6bxORZK7SD+pELn0t7ZqTd25raT35mrZL/TUPifEKODGf6AcAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDItMTRUMTI6MDQ6MjMrMDA6MDCsyg5gAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTAyLTE0VDEyOjA0OjIzKzAwOjAw3Ze23AAAAABJRU5ErkJggg=="},{"item_id":502,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAARVBMVEX/AP/XqpHDkHqudmL////ox6X/9LxJSUm3t7dubm7u39fyhVntZEfb29vKt6/7xYv3pXL/8+v/5aP947L38OW4o5v/8OXR8CKxAAAAAXRSTlMAQObYZgAAAAFiS0dEBI9o2VEAAAAHdElNRQfkAg4MBBc1u27AAAAAn0lEQVQoz7WPwRKDIAwFsYCBJkhIq///qQ2tRRw92EP3uDsvA8b8g2G42VPvnPf2pzCO3sNBhxAHHUAIO+2cu2O0FiikNO19zhgjMU+phM0DiEiuMAO0oh5LeayFtLRAsgWkFoqG53qL+zABCqtRiEjD3D6BnHWgTVjTvL03IeshkbrqfZ0o9Ab7UCffsPOfgifemCXVN80HX9Nyqi/zAoU5CtjJcxAAAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIwLTAyLTE0VDEyOjA0OjIzKzAwOjAwrMoOYAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMC0wMi0xNFQxMjowNDoyMyswMDowMN2XttwAAAAASUVORK5CYII="},{"item_id":503,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAARVBMVEX/AP/XqpHDkHqudmL////ox6X/9LxJSUm3t7dubm7/8+vKt6+SkpLyyDDu39fpozfb29v10lXgfT/65p/98MT/8OXsysb/nZu8AAAAAXRSTlMAQObYZgAAAAFiS0dEBI9o2VEAAAAHdElNRQfkAg4MBBc1u27AAAAAqUlEQVQoz7WP0Q6DIAxFcRQLOFYK4v9/6oqbwtSH7WE3ISHn0JSr1D8yDDd9yQGM0T+JcTQGT9haN8gAWvuBAcBbpzW6CWDquffe3p1z4SG3qXFEijEyETEj7qZygMpTSkximsgi5L0Y4iY8Up7nQGvqyCYKhjxnfoUo4LKXCLlGsBwKS/tv4Lwpmeh7V8Hv7aWvHnkV6cir4YoTLeqQsvYoRZ1TyiX+Ok+ktgtuGpBv/gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wMi0xNFQxMjowNDoyMyswMDowMKzKDmAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDItMTRUMTI6MDQ6MjMrMDA6MDDdl7bcAAAAAElFTkSuQmCC"},{"item_id":504,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAATlBMVEX/AP/Lp4+vj3uvf2P////n05ZfX19ISU//8a2bq5tfc197j3vy4+iurr6fm8e3x7f/8+/n5/+/v+OHh4fX19fDtru/q6e1vbGvr6//8+ewK+9fAAAAAXRSTlMAQObYZgAAAAFiS0dEBI9o2VEAAAAHdElNRQfkAg4MBBc1u27AAAAApElEQVQoz7XO3Q7CIAyGYaZgB2P8tU52/zdqIW5sioknfofvkwaE+MeG4XLtdimVun0D6ME49kBrMyg1gdanLKW1s5km47y1/tiDjXE2xjGE4FsH8CnyUnIeYBfuWDtDcsjSgCKVOR41CIBEsqxcRNzhziA3SAlh2V5/YN6EYsal/ZdyfSKTy6deT16AtyMIqlLg3Itg5uF7F2Jl4vzRC63d/POe4PAMjX/7uLQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDItMTRUMTI6MDQ6MjMrMDA6MDCsyg5gAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTAyLTE0VDEyOjA0OjIzKzAwOjAw3Ze23AAAAABJRU5ErkJggg=="},{"item_id":505,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEX/AP/Lp4+vj3uvf2P////n05b/8a1ISU+1vbFrcGfy4+iDe69nX5PX19fDtru/v+Ofm8f/8+/n5///8+e/q6el+l/bAAAAAXRSTlMAQObYZgAAAAFiS0dEBI9o2VEAAAAHdElNRQfkAg4MBBc1u27AAAAAnUlEQVQoz7WPzRKDIAwGsYABEzRE3/9Zm9QRdeTQHrrH3fn4ce4fDMPLd30IMfqfwjjGCA+dUh50ACnddAhhwuw9UCplvvtpwZyJ51JqOj3AIrIYzACtqMdaj0JaWiA5A1ILVcMqe+BrmAGF1ShEpGFrn0C2y7WJDmg731uQ9SARW129TRT6gNdgkyPc/F6w451bi71pe3hLa1d/zRtqAAq2Im6JswAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMC0wMi0xNFQxMjowNDoyMyswMDowMKzKDmAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjAtMDItMTRUMTI6MDQ6MjMrMDA6MDDdl7bcAAAAAElFTkSuQmCC"},{"item_id":506,"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAQlBMVEX/AP/Lp4+vj3uvf2P////X19f/8a1ISU+1vbFrcGf/8+/DtruTlaLrtWvy4+izx3eDqlnT44tb
|
|
|
|
</con:responseContent><con:header><con:name>X-RateLimit-Remaining</con:name><con:value>5</con:value></con:header><con:header><con:name>Server</con:name><con:value>soapui</con:value></con:header><con:header><con:name>Retry-After</con:name><con:value>86400</con:value></con:header><con:header><con:name>X-RateLimit-Reset</con:name><con:value>1592918584</con:value></con:header><con:header><con:name>X-RateLimit-Limit</con:name><con:value>6</con:value></con:header><con:header><con:name>Date</con:name><con:value>Mon, 22 Jun 2020 13:23:03 GMT</con:value></con:header><con:header><con:name>Set-cookie</con:name><con:value>__cfduid=deb11702494dd38a591622d543643db961592832183; expires=Wed, 22-Jul-20 13:23:03 GMT; path=/; domain=.originsro.org; HttpOnly; SameSite=Lax</con:value></con:header></con:response></con:restMockAction><con:restMockAction name="api/v1/items/list" method="GET" resourcePath="/api/v1/items/list" id="170437a6-cd68-4f96-aafe-f0b063a217f9"><con:settings/><con:defaultResponse>Response 1</con:defaultResponse><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:dispatchPath>/*
|
|
|
|
// Script dispatcher is used to select a response based on the incoming request.
|
|
|
|
// Here are few examples showing how to match based on path, query param, header and body
|
|
|
|
|
|
|
|
// Match based on path
|
|
|
|
def requestPath = mockRequest.getPath()
|
|
|
|
log.info "Path: "+ requestPath
|
|
|
|
|
|
|
|
if( requestPath.contains("json") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "JSON Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on query parameter
|
|
|
|
def queryString = mockRequest.getRequest().getQueryString()
|
|
|
|
log.info "QueryString: " + queryString
|
|
|
|
|
|
|
|
if( queryString.contains("stockholm") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response Stockholm"
|
|
|
|
}
|
|
|
|
else if( queryString.contains("london") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response London"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on header
|
|
|
|
def acceptEncodingHeaderList = mockRequest.getRequestHeaders().get("Accept-Encoding")
|
|
|
|
log.info "AcceptEncoding Header List: " + acceptEncodingHeaderList
|
|
|
|
|
|
|
|
if( acceptEncodingHeaderList.contains("gzip,deflate") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "GZiped Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on body
|
|
|
|
def requestBody = mockRequest.getRequestContent()
|
|
|
|
log.info "Request body: " + requestBody
|
|
|
|
|
|
|
|
if( requestBody.contains("some data") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response N"
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
</con:dispatchPath><con:response name="Response 1" id="f25579e4-ca96-4107-a02c-3e80653b974a" httpResponseStatus="200" mediaType="application/json"><con:settings/><con:responseContent>{"version":1,"generation_timestamp":"2020-06-22T03:06:01.306469Z","items":[{"item_id":501,"unique_name":"Red_Potion","name":"Red Potion","type":"IT_HEALING","npc_price":50},{"item_id":502,"unique_name":"Orange_Potion","name":"Orange Potion","type":"IT_HEALING","npc_price":200},{"item_id":503,"unique_name":"Yellow_Potion","name":"Yellow Potion","type":"IT_HEALING","npc_price":550},{"item_id":504,"unique_name":"White_Potion","name":"White Potion","type":"IT_HEALING","npc_price":1200},{"item_id":505,"unique_name":"Blue_Potion","name":"Blue Potion","type":"IT_HEALING","npc_price":5000},{"item_id":506,"unique_name":"Green_Potion","name":"Green Potion","type":"IT_HEALING","npc_price":40},{"item_id":507,"unique_name":"Red_Herb","name":"Red Herb","type":"IT_HEALING","npc_price":18},{"item_id":508,"unique_name":"Yellow_Herb","name":"Yellow Herb","type":"IT_HEALING","npc_price":40},{"item_id":509,"unique_name":"White_Herb","name":"White Herb","type":"IT_HEALING","npc_price":120},{"item_id":510,"unique_name":"Blue_Herb","name":"Blue Herb","type":"IT_HEALING","npc_price":60},{"item_id":511,"unique_name":"Green_Herb","name":"Green Herb","type":"IT_HEALING","npc_price":10},{"item_id":512,"unique_name":"Apple","name":"Apple","type":"IT_HEALING","npc_price":15},{"item_id":513,"unique_name":"Banana","name":"Banana","type":"IT_HEALING","npc_price":15},{"item_id":514,"unique_name":"Grape","name":"Grape","type":"IT_HEALING","npc_price":200},{"item_id":515,"unique_name":"Carrot","name":"Carrot","type":"IT_HEALING","npc_price":15},{"item_id":516,"unique_name":"Sweet_Potato","name":"Potato","type":"IT_HEALING","npc_price":15},{"item_id":517,"unique_name":"Meat","name":"Meat","type":"IT_HEALING","npc_price":50},{"item_id":518,"unique_name":"Honey","name":"Honey","type":"IT_HEALING","npc_price":500},{"item_id":519,"unique_name":"Milk","name":"Milk","type":"IT_HEALING","npc_price":25},{"item_id":520,"unique_name":"Leaflet_Of_Hinal","name":"Hinalle Leaflet","type":"IT_HEALING","npc_price":150},{"item_id":521,"unique_name":"Leaflet_Of_Aloe","name":"Aloe Leaflet","type":"IT_HEALING","npc_price":360},{"item_id":522,"unique_name":"Fruit_Of_Mastela","name":"Mastela Fruit","type":"IT_HEALING","npc_price":8500},{"item_id":523,"unique_name":"Holy_Water","name":"Holy Water","type":"IT_HEALING","npc_price":20},{"item_id":525,"unique_name":"Panacea","name":"Panacea","type":"IT_HEALING","npc_price":500},{"item_id":526,"unique_name":"Royal_Jelly","name":"Royal Jelly","type":"IT_HEALING","npc_price":7000},{"item_id":528,"unique_name":"Monsters_Feed","name":"Monster's Feed","type":"IT_HEALING","npc_price":60},{"item_id":529,"unique_name":"Candy","name":"Candy","type":"IT_HEALING","npc_price":10},{"item_id":530,"unique_name":"Candy_Striper","name":"Candy Cane","type":"IT_HEALING","npc_price":20},{"item_id":531,"unique_name":"Apple_Juice","name":"Apple Juice","type":"IT_HEALING","npc_price":20},{"item_id":532,"unique_name":"Banana_Juice","name":"Banana Juice","type":"IT_HEALING","npc_price":20},{"item_id":533,"unique_name":"Grape_Juice","name":"Grape Juice","type":"IT_HEALING","npc_price":250},{"item_id":534,"unique_name":"Carrot_Juice","name":"Carrot Juice","type":"IT_HEALING","npc_price":20},{"item_id":535,"unique_name":"Pumpkin","name":"Pumpkin","type":"IT_HEALING","npc_price":15},{"item_id":536,"unique_name":"Ice_Cream","name":"Ice Cream","type":"IT_HEALING","npc_price":150},{"item_id":537,"unique_name":"Pet_Food","name":"Pet Food","type":"IT_HEALING","npc_price":1000},{"item_id":538,"unique_name":"Well_Baked_Cookie","name":"Well-baked Cookie","type":"IT_HEALING","npc_price":1000},{"item_id":539,"unique_name":"Piece_Of_Cake","name":"Piece of Cake","type":"IT_HEALING","npc_price":3000},{"item_id":540,"unique_name":"Falcons_Feed","name":"Falcon Food","type":"IT_HEALING","npc_price":2000},{"item_id":541,"unique_name":"Pecopecos_Feed","name":"Pecopeco Food","type":"IT_HEALING","npc_p
|
|
|
|
</con:responseContent><con:header><con:name>X-RateLimit-Remaining</con:name><con:value>5</con:value></con:header><con:header><con:name>Retry-After</con:name><con:value>86400</con:value></con:header><con:header><con:name>Server</con:name><con:value>soapui</con:value></con:header><con:header><con:name>X-RateLimit-Reset</con:name><con:value>1592918516</con:value></con:header><con:header><con:name>X-RateLimit-Limit</con:name><con:value>6</con:value></con:header><con:header><con:name>Date</con:name><con:value>Mon, 22 Jun 2020 13:21:55 GMT</con:value></con:header><con:header><con:name>Set-cookie</con:name><con:value>__cfduid=dac1342771e458af0ce6c7b462db1e18d1592832115; expires=Wed, 22-Jul-20 13:21:55 GMT; path=/; domain=.originsro.org; HttpOnly; SameSite=Lax</con:value></con:header></con:response></con:restMockAction><con:restMockAction name="api/v1/ping" method="GET" resourcePath="/api/v1/ping" id="8b0614cf-c223-47f8-af22-b5010d94f5f3"><con:settings/><con:defaultResponse>Response 1</con:defaultResponse><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:dispatchPath>/*
|
|
|
|
// Script dispatcher is used to select a response based on the incoming request.
|
|
|
|
// Here are few examples showing how to match based on path, query param, header and body
|
|
|
|
|
|
|
|
// Match based on path
|
|
|
|
def requestPath = mockRequest.getPath()
|
|
|
|
log.info "Path: "+ requestPath
|
|
|
|
|
|
|
|
if( requestPath.contains("json") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "JSON Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on query parameter
|
|
|
|
def queryString = mockRequest.getRequest().getQueryString()
|
|
|
|
log.info "QueryString: " + queryString
|
|
|
|
|
|
|
|
if( queryString.contains("stockholm") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response Stockholm"
|
|
|
|
}
|
|
|
|
else if( queryString.contains("london") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response London"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on header
|
|
|
|
def acceptEncodingHeaderList = mockRequest.getRequestHeaders().get("Accept-Encoding")
|
|
|
|
log.info "AcceptEncoding Header List: " + acceptEncodingHeaderList
|
|
|
|
|
|
|
|
if( acceptEncodingHeaderList.contains("gzip,deflate") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "GZiped Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on body
|
|
|
|
def requestBody = mockRequest.getRequestContent()
|
|
|
|
log.info "Request body: " + requestBody
|
|
|
|
|
|
|
|
if( requestBody.contains("some data") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response N"
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
</con:dispatchPath><con:response name="Response 1" id="3e6c4760-87e0-4dab-b0a5-7c2710e177b7" httpResponseStatus="200" mediaType="application/json"><con:settings/><con:responseContent>{"generation_timestamp":"2020-06-22T13:16:00.927871+00:00","message":"pong","version":1}
|
|
|
|
</con:responseContent><con:header><con:name>X-RateLimit-Remaining</con:name><con:value>1</con:value></con:header><con:header><con:name>Retry-After</con:name><con:value>10</con:value></con:header><con:header><con:name>Server</con:name><con:value>soapui</con:value></con:header><con:header><con:name>X-RateLimit-Reset</con:name><con:value>1592831771</con:value></con:header><con:header><con:name>X-RateLimit-Limit</con:name><con:value>2</con:value></con:header><con:header><con:name>Date</con:name><con:value>Mon, 22 Jun 2020 13:16:00 GMT</con:value></con:header><con:header><con:name>Set-cookie</con:name><con:value>__cfduid=db00b974d1175c5928b2e1378398395291592831760; expires=Wed, 22-Jul-20 13:16:00 GMT; path=/; domain=.originsro.org; HttpOnly; SameSite=Lax</con:value></con:header></con:response></con:restMockAction><con:restMockAction name="api/v1/whoami" method="GET" resourcePath="/api/v1/whoami" id="fdbe524c-47ca-42fb-a892-bbd023616c94"><con:settings/><con:defaultResponse>Response 1</con:defaultResponse><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:dispatchPath>/*
|
|
|
|
// Script dispatcher is used to select a response based on the incoming request.
|
|
|
|
// Here are few examples showing how to match based on path, query param, header and body
|
|
|
|
|
|
|
|
// Match based on path
|
|
|
|
def requestPath = mockRequest.getPath()
|
|
|
|
log.info "Path: "+ requestPath
|
|
|
|
|
|
|
|
if( requestPath.contains("json") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "JSON Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on query parameter
|
|
|
|
def queryString = mockRequest.getRequest().getQueryString()
|
|
|
|
log.info "QueryString: " + queryString
|
|
|
|
|
|
|
|
if( queryString.contains("stockholm") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response Stockholm"
|
|
|
|
}
|
|
|
|
else if( queryString.contains("london") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response London"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on header
|
|
|
|
def acceptEncodingHeaderList = mockRequest.getRequestHeaders().get("Accept-Encoding")
|
|
|
|
log.info "AcceptEncoding Header List: " + acceptEncodingHeaderList
|
|
|
|
|
|
|
|
if( acceptEncodingHeaderList.contains("gzip,deflate") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "GZiped Response"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Match based on body
|
|
|
|
def requestBody = mockRequest.getRequestContent()
|
|
|
|
log.info "Request body: " + requestBody
|
|
|
|
|
|
|
|
if( requestBody.contains("some data") )
|
|
|
|
{
|
|
|
|
// return the name of the response you want to dispatch
|
|
|
|
return "Response N"
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
</con:dispatchPath><con:response name="Response 1" id="5a995457-c479-48fd-a721-e6260b43effd" httpResponseStatus="200" mediaType="application/json"><con:settings/><con:responseContent>{"generation_timestamp":"2020-06-22T13:20:13.190015+00:00","master_id":45851,"version":1}
|
|
|
|
</con:responseContent><con:header><con:name>X-RateLimit-Remaining</con:name><con:value>1</con:value></con:header><con:header><con:name>Retry-After</con:name><con:value>10</con:value></con:header><con:header><con:name>Server</con:name><con:value>soapui</con:value></con:header><con:header><con:name>X-RateLimit-Reset</con:name><con:value>1592832024</con:value></con:header><con:header><con:name>X-RateLimit-Limit</con:name><con:value>2</con:value></con:header><con:header><con:name>Date</con:name><con:value>Mon, 22 Jun 2020 13:20:13 GMT</con:value></con:header><con:header><con:name>Set-cookie</con:name><con:value>__cfduid=d453a386801700b9c6e42c98170e5e9af1592832013; expires=Wed, 22-Jul-20 13:20:13 GMT; path=/; domain=.originsro.org; HttpOnly; SameSite=Lax</con:value></con:header></con:response></con:restMockAction></con:restMockService><con:properties/><con:wssContainer/><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/></con:soapui-project>
|