false true false srv ${__property(srv,,127.0.0.1)} = rest_port 9081 = mqtt_srv ${__property(mqtt_srv,,127.0.0.1)} = continue false 1 1 1 false 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 ${mqtt_srv} 1883 3.1 10 false 10 TCP false conn_ true 300 0 0 true false { "sql" : "create stream demo (temperature float, humidity bigint) WITH (FORMAT=\"JSON\", DATASOURCE=\"devices/+/messages\" )" } = ${srv} ${rest_port} /streams POST true false true false Stream demo is created. Assertion.response_data true 16 true false { "id": "rule1", "sql": "SELECT avg(temperature) AS t_av, max(temperature) AS t_max, min(temperature) AS t_min, COUNT(*) As t_count, split_value(mqtt(topic), \"/\", 1) AS device_id FROM demo GROUP BY device_id, TUMBLINGWINDOW(ss, 5)", "actions": [ { "mqtt": { "server": "tcp://${mqtt_srv}:1883", "topic": "devices/result", "qos": 1, "clientId": "demo_001" } } ] } = ${srv} ${rest_port} /rules POST true false true false Rule rule1 was created Assertion.response_data true 16 true false = ${srv} ${rest_port} /rules/rule1/status GET true false true false $.source_demo_0_records_in_total 0 true false false false true 10 , iot_data.txt false false true shareMode.thread false device_id,temperature,humidity devices/${device_id}/messages 0 false String 1024 {"temperature": ${temperature}, "humidity" : ${humidity}} true false = ${srv} ${rest_port} /rules/rule1/status GET true false true false $.source_demo_0_records_in_total 10 true false false false $.sink_mqtt_0_0_records_in_total 6 true false false false 5000 true false = ${srv} ${rest_port} /rules/rule1 DELETE true false true false Rule rule1 is dropped. Assertion.response_data false 16 true false = ${srv} ${rest_port} /streams/demo DELETE true false true false Stream demo is dropped. Assertion.response_data false 16 500 continue false 1 1 1 false 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 ${mqtt_srv} 1883 3.1 10 false 10 TCP false conn_ true 300 0 0 devices/result 0 false true specified elapsed time (ms) 15000 import net.sf.json.JSONArray; import net.sf.json.JSONObject; String response = SampleResult.getResponseDataAsString(); String[] arr = response.split("\n"); for(int i = 0; i < arr.length; i++) { JSONArray jsonArr = JSONArray.fromObject(arr[i]); for(int j = 0; j < jsonArr.size(); j++) { String deviceid = jsonArr.getJSONObject(j).getString("device_id"); int count = jsonArr.getJSONObject(j).getInt("t_count"); String oldCount = vars.get(deviceid); if(oldCount == null) { vars.put(deviceid, String.valueOf(count)); } else { int c = Integer.parseInt(oldCount); c += count; vars.put(deviceid, String.valueOf(c)); } } } String d1 = vars.get("1"); String d2 = vars.get("2"); if(d1 == null || (!"5".equals(d1)) || d2 == null || (!"5".equals(d2))) { Failure = true; FailureMessage = "The analyis result is not correct!"; } false