false true false srv 127.0.0.1 = rest_port 9081 = continue false 1 1 1 false true false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true false false true false {"content":"{\n \"streams\": {\n \"demo\": \"CREATE STREAM demo () WITH (DATASOURCE=\\\"users\\\", CONF_KEY=\\\"td\\\", FORMAT=\\\"JSON\\\")\"\n },\n \"tables\": {\n \"T110\":\"\\n CREATE TABLE T110\\n (\\n S1 string\\n )\\n WITH (DATASOURCE=\\\"test.json\\\", FORMAT=\\\"json\\\", TYPE=\\\"file\\\", KIND=\\\"scan\\\", );\\n \"\n },\n \"rules\": {\n \"rule1\": \"{\\\"id\\\": \\\"rule1\\\",\\\"sql\\\": \\\"SELECT * FROM demo\\\",\\\"actions\\\": [{\\\"log\\\": {}}]}\",\n \"rule2\": \"{\\\"id\\\": \\\"rule2\\\",\\\"sql\\\": \\\"SELECT revert(name) FROM demo\\\",\\\"actions\\\": [{\\\"mqtt\\\":{\\\"sendSingle\\\":true,\\\"resourceId\\\":\\\"remote\\\",\\\"server\\\":\\\"tcp://emqx:1883\\\",\\\"topic\\\":\\\"demo1When_result\\\"}}]}\"\n },\n \"nativePlugins\":{\n },\n \"portablePlugins\":{\n \"pysam\":\"{\\\"name\\\":\\\"pysam\\\",\\\"file\\\":\\\"http://127.0.0.1:9090/plugins/pysam.zip\\\",\\\"shellParas\\\":[]}\"\n },\n \"sourceConfig\":{\n \"mqtt\":\"{\\\"td\\\":{\\\"insecureSkipVerify\\\":false,\\\"password\\\":\\\"public\\\",\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":1,\\\"server\\\":\\\"tcp://broker.emqx.io:1883\\\",\\\"username\\\":\\\"admin\\\"},\\\"test\\\":{\\\"insecureSkipVerify\\\":false,\\\"password\\\":\\\"public\\\",\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":1,\\\"server\\\":\\\"tcp://127.0.0.1:1883\\\",\\\"username\\\":\\\"admin\\\"}}\"\n },\n \"sinkConfig\":{\n \"edgex\":\"{\\\"test\\\":{\\\"bufferLength\\\":1024,\\\"contentType\\\":\\\"application/json\\\",\\\"enableCache\\\":false,\\\"format\\\":\\\"json\\\",\\\"messageType\\\":\\\"event\\\",\\\"omitIfEmpty\\\":false,\\\"port\\\":6379,\\\"protocol\\\":\\\"redis\\\",\\\"sendSingle\\\":true,\\\"server\\\":\\\"localhost\\\",\\\"topic\\\":\\\"application\\\",\\\"type\\\":\\\"redis\\\"}}\",\n \"mqtt\":\"{\\\"local\\\":{\\\"bufferLength\\\":1024,\\\"enableCache\\\":false,\\\"format\\\":\\\"json\\\",\\\"insecureSkipVerify\\\":false,\\\"omitIfEmpty\\\":false,\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":0,\\\"sendSingle\\\":true,\\\"server\\\":\\\"tcp://122.9.166.75:1883\\\",\\\"topic\\\":\\\"demo_out\\\"},\\\"remote\\\":{\\\"bufferLength\\\":1024,\\\"enableCache\\\":false,\\\"format\\\":\\\"json\\\",\\\"insecureSkipVerify\\\":false,\\\"omitIfEmpty\\\":false,\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":0,\\\"sendSingle\\\":true,\\\"server\\\":\\\"tcp://broker.emqx.io:1883\\\",\\\"topic\\\":\\\"result/ruleRevert\\\"}}\"\n },\n \"connectionConfig\":{\n },\n \"Service\":{\n },\n \"Schema\":{\n }\n}"} = ${srv} ${rest_port} /data/import?stop=0 POST true false true false 200 Assertion.response_code true 16 String responseBody = new String(ResponseData); log.info("Response body of full import: " + responseBody); false 500 ${srv} ${rest_port} /streams GET true false true false ["demo"] Assertion.response_data true 16 ${srv} ${rest_port} /tables GET true false true false ["T110"] Assertion.response_data true 16 true false {"id": "rule2","sql": "SELECT revert(name) FROM demo","actions": [{"mqtt":{"sendSingle":true,"resourceId":"remote","server":"tcp://emqx:1883","topic":"demo1When_result"}}]} = ${srv} ${rest_port} /rules/rule2 GET true false true false {"id": "rule2","sql": "SELECT revert(name) FROM demo","actions": [{"mqtt":{"sendSingle":true,"resourceId":"remote","server":"tcp://emqx:1883","topic":"demo1When_result"}}]} Assertion.response_data true 16 ${srv} ${rest_port} /metadata/sinks/yaml/mqtt GET true false true false {"local":{"bufferLength":1024,"enableCache":false,"format":"json","insecureSkipVerify":false,"omitIfEmpty":false,"protocolVersion":"3.1.1","qos":0,"sendSingle":true,"server":"tcp://122.9.166.75:1883","topic":"demo_out"},"remote":{"bufferLength":1024,"enableCache":false,"format":"json","insecureSkipVerify":false,"omitIfEmpty":false,"protocolVersion":"3.1.1","qos":0,"sendSingle":true,"server":"tcp://broker.emqx.io:1883","topic":"result/ruleRevert"}} Assertion.response_data true 16 ${srv} ${rest_port} /data/export GET true false true false {"streams":{"demo":"CREATE STREAM demo () WITH (DATASOURCE=\"users\", CONF_KEY=\"td\", FORMAT=\"JSON\")"},"tables":{"T110":"\n CREATE TABLE T110\n (\n S1 string\n )\n WITH (DATASOURCE=\"test.json\", FORMAT=\"json\", TYPE=\"file\", KIND=\"scan\", );\n "},"rules":{"rule1":"{\"id\": \"rule1\",\"sql\": \"SELECT * FROM demo\",\"actions\": [{\"log\": {}}]}","rule2":"{\"id\": \"rule2\",\"sql\": \"SELECT revert(name) FROM demo\",\"actions\": [{\"mqtt\":{\"sendSingle\":true,\"resourceId\":\"remote\",\"server\":\"tcp://emqx:1883\",\"topic\":\"demo1When_result\"}}]}"},"nativePlugins":{},"portablePlugins":{"pysam":"{\"name\":\"pysam\",\"file\":\"http://127.0.0.1:9090/plugins/pysam.zip\",\"shellParas\":[]}"},"sourceConfig":{"mqtt":"{\"td\":{\"insecureSkipVerify\":false,\"password\":\"public\",\"protocolVersion\":\"3.1.1\",\"qos\":1,\"server\":\"tcp://broker.emqx.io:1883\",\"username\":\"admin\"},\"test\":{\"insecureSkipVerify\":false,\"password\":\"public\",\"protocolVersion\":\"3.1.1\",\"qos\":1,\"server\":\"tcp://127.0.0.1:1883\",\"username\":\"admin\"}}","pyjson":"{\"default\":{}}"},"sinkConfig":{"edgex":"{\"test\":{\"bufferLength\":1024,\"contentType\":\"application/json\",\"enableCache\":false,\"format\":\"json\",\"messageType\":\"event\",\"omitIfEmpty\":false,\"port\":6379,\"protocol\":\"redis\",\"sendSingle\":true,\"server\":\"localhost\",\"topic\":\"application\",\"type\":\"redis\"}}","mqtt":"{\"local\":{\"bufferLength\":1024,\"enableCache\":false,\"format\":\"json\",\"insecureSkipVerify\":false,\"omitIfEmpty\":false,\"protocolVersion\":\"3.1.1\",\"qos\":0,\"sendSingle\":true,\"server\":\"tcp://122.9.166.75:1883\",\"topic\":\"demo_out\"},\"remote\":{\"bufferLength\":1024,\"enableCache\":false,\"format\":\"json\",\"insecureSkipVerify\":false,\"omitIfEmpty\":false,\"protocolVersion\":\"3.1.1\",\"qos\":0,\"sendSingle\":true,\"server\":\"tcp://broker.emqx.io:1883\",\"topic\":\"result/ruleRevert\"}}"},"connectionConfig":{},"Service":{},"Schema":{},"uploads":{}} Assertion.response_data false 16 String responseBody = new String(ResponseData); log.info("Response body of full export: " + responseBody); false true false {"content": "{\n \"streams\":{},\n \"tables\":{},\n \"rules\":{},\n \"nativePlugins\":{},\n \"portablePlugins\":{},\n \"sourceConfig\":{},\n \"sinkConfig\":{},\n \"connectionConfig\":{},\n \"Service\":{},\n \"Schema\":{}\n}\n"} = ${srv} ${rest_port} /data/import?partial=0&stop=0 POST true false true false 200 Assertion.response_code false 16 500 false false true false {"content":"{\n \"streams\": {\n \"demo\": \"CREATE STREAM demo () WITH (DATASOURCE=\\\"users\\\", CONF_KEY=\\\"td\\\", FORMAT=\\\"JSON\\\")\"\n },\n \"tables\": {\n \"T110\":\"\\n CREATE TABLE T110\\n (\\n S1 string\\n )\\n WITH (DATASOURCE=\\\"test.json\\\", FORMAT=\\\"json\\\", TYPE=\\\"file\\\", KIND=\\\"scan\\\", );\\n \"\n },\n \"rules\": {\n \"rule1\": \"{\\\"id\\\": \\\"rule1\\\",\\\"sql\\\": \\\"SELECT * FROM demo\\\",\\\"actions\\\": [{\\\"log\\\": {}}]}\",\n \"rule2\": \"{\\\"id\\\": \\\"rule2\\\",\\\"sql\\\": \\\"SELECT revert(name) FROM demo\\\",\\\"actions\\\": [{\\\"mqtt\\\":{\\\"sendSingle\\\":true,\\\"resourceId\\\":\\\"remote\\\",\\\"server\\\":\\\"tcp://emqx:1883\\\",\\\"topic\\\":\\\"demo1When_result\\\"}}]}\"\n },\n \"nativePlugins\":{\n },\n \"portablePlugins\":{\n \"pysam\":\"{\\\"name\\\":\\\"pysam\\\",\\\"file\\\":\\\"http://127.0.0.1:9090/plugins/pysam.zip\\\",\\\"shellParas\\\":[]}\"\n },\n \"sourceConfig\":{\n \"mqtt\":\"{\\\"td\\\":{\\\"insecureSkipVerify\\\":false,\\\"password\\\":\\\"public\\\",\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":1,\\\"server\\\":\\\"tcp://broker.emqx.io:1883\\\",\\\"username\\\":\\\"admin\\\"},\\\"test\\\":{\\\"insecureSkipVerify\\\":false,\\\"password\\\":\\\"public\\\",\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":1,\\\"server\\\":\\\"tcp://127.0.0.1:1883\\\",\\\"username\\\":\\\"admin\\\"}}\"\n },\n \"sinkConfig\":{\n \"edgex\":\"{\\\"test\\\":{\\\"bufferLength\\\":1024,\\\"contentType\\\":\\\"application/json\\\",\\\"enableCache\\\":false,\\\"format\\\":\\\"json\\\",\\\"messageType\\\":\\\"event\\\",\\\"omitIfEmpty\\\":false,\\\"port\\\":6379,\\\"protocol\\\":\\\"redis\\\",\\\"sendSingle\\\":true,\\\"server\\\":\\\"localhost\\\",\\\"topic\\\":\\\"application\\\",\\\"type\\\":\\\"redis\\\"}}\",\n \"mqtt\":\"{\\\"local\\\":{\\\"bufferLength\\\":1024,\\\"enableCache\\\":false,\\\"format\\\":\\\"json\\\",\\\"insecureSkipVerify\\\":false,\\\"omitIfEmpty\\\":false,\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":0,\\\"sendSingle\\\":true,\\\"server\\\":\\\"tcp://122.9.166.75:1883\\\",\\\"topic\\\":\\\"demo_out\\\"},\\\"remote\\\":{\\\"bufferLength\\\":1024,\\\"enableCache\\\":false,\\\"format\\\":\\\"json\\\",\\\"insecureSkipVerify\\\":false,\\\"omitIfEmpty\\\":false,\\\"protocolVersion\\\":\\\"3.1.1\\\",\\\"qos\\\":0,\\\"sendSingle\\\":true,\\\"server\\\":\\\"tcp://broker.emqx.io:1883\\\",\\\"topic\\\":\\\"result/ruleRevert\\\"}}\"\n },\n \"connectionConfig\":{\n },\n \"Service\":{\n },\n \"Schema\":{\n }\n}"} = ${srv} ${rest_port} /data/import?stop=0&partial=1 POST true false true false 200 Assertion.response_code true 16 500 ${srv} ${rest_port} /streams GET true false true false ["demo"] Assertion.response_data true 16 ${srv} ${rest_port} /tables GET true false true false ["T110"] Assertion.response_data true 16 true false {"id": "rule2","sql": "SELECT revert(name) FROM demo","actions": [{"mqtt":{"sendSingle":true,"resourceId":"remote","server":"tcp://emqx:1883","topic":"demo1When_result"}}]} = ${srv} ${rest_port} /rules/rule2 GET true false true false {"id": "rule2","sql": "SELECT revert(name) FROM demo","actions": [{"mqtt":{"sendSingle":true,"resourceId":"remote","server":"tcp://emqx:1883","topic":"demo1When_result"}}]} Assertion.response_data true 16 ${srv} ${rest_port} /metadata/sinks/yaml/mqtt GET true false true false {"local":{"bufferLength":1024,"enableCache":false,"format":"json","insecureSkipVerify":false,"omitIfEmpty":false,"protocolVersion":"3.1.1","qos":0,"sendSingle":true,"server":"tcp://122.9.166.75:1883","topic":"demo_out"},"remote":{"bufferLength":1024,"enableCache":false,"format":"json","insecureSkipVerify":false,"omitIfEmpty":false,"protocolVersion":"3.1.1","qos":0,"sendSingle":true,"server":"tcp://broker.emqx.io:1883","topic":"result/ruleRevert"}} Assertion.response_data true 16 true false ["rule2"] = ${srv} ${rest_port} /data/export POST true false true false {"streams":{"demo":"CREATE STREAM demo () WITH (DATASOURCE=\"users\", CONF_KEY=\"td\", FORMAT=\"JSON\")"},"tables":{},"rules":{"rule2":"{\"id\": \"rule2\",\"sql\": \"SELECT revert(name) FROM demo\",\"actions\": [{\"mqtt\":{\"sendSingle\":true,\"resourceId\":\"remote\",\"server\":\"tcp://emqx:1883\",\"topic\":\"demo1When_result\"}}]}"},"nativePlugins":{},"portablePlugins":{"pysam":"{\"name\":\"pysam\",\"file\":\"http://127.0.0.1:9090/plugins/pysam.zip\",\"shellParas\":[]}"},"sourceConfig":{},"sinkConfig":{"mqtt":"{\"remote\":{\"bufferLength\":1024,\"enableCache\":false,\"format\":\"json\",\"insecureSkipVerify\":false,\"omitIfEmpty\":false,\"protocolVersion\":\"3.1.1\",\"qos\":0,\"sendSingle\":true,\"server\":\"tcp://broker.emqx.io:1883\",\"topic\":\"result/ruleRevert\"}}"},"connectionConfig":{},"Service":{},"Schema":{},"uploads":{}} Assertion.response_data false 16 String responseBody = new String(ResponseData); log.info("Response body of partial import: " + responseBody); false true false {"content": "{\n \"streams\":{},\n \"tables\":{},\n \"rules\":{},\n \"nativePlugins\":{},\n \"portablePlugins\":{},\n \"sourceConfig\":{},\n \"sinkConfig\":{},\n \"connectionConfig\":{},\n \"Service\":{},\n \"Schema\":{}\n}\n"} = ${srv} ${rest_port} /data/import?partial=0&stop=0 POST true false true false 200 Assertion.response_code false 16 500 continue false 1 1 0 false true false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true false 0 ./server ${__property(fvt,,)}/test/plugins/service/