diff --git a/docker/thingsboard/run_thingsboard.sh b/docker/thingsboard/run_thingsboard.sh
index c41e53e..920d4ec 100755
--- a/docker/thingsboard/run_thingsboard.sh
+++ b/docker/thingsboard/run_thingsboard.sh
@@ -32,7 +32,7 @@ do
done
# Copying env variables into conf files
-printenv | while read x; do echo export $x; done >> /usr/share/thingsboard/conf/thingsboard.conf
+printenv | awk -F "=" '{print "export " $1 "='\''" $2 "'\''"}' >> /usr/share/thingsboard/conf/thingsboard.conf
cat /usr/share/thingsboard/conf/thingsboard.conf
diff --git a/tools/src/main/java/org/thingsboard/client/tools/TestParams.java b/tools/src/main/java/org/thingsboard/client/tools/TestParams.java
index eb1328b..1286f5e 100644
--- a/tools/src/main/java/org/thingsboard/client/tools/TestParams.java
+++ b/tools/src/main/java/org/thingsboard/client/tools/TestParams.java
@@ -27,7 +27,7 @@ public class TestParams {
static final String TEST_PROPERTIES = "test.properties";
static final long DEFAULT_TEST_DURATION = TimeUnit.MINUTES.toMillis(1);
static final long DEFAULT_TEST_INTERVAL = TimeUnit.MILLISECONDS.toMillis(100);
- static final int DEFAULT_DEVICE_COUNT = 100;
+ static final int DEFAULT_DEVICE_COUNT = 25;
static final String DEFAULT_REST_URL = "http://localhost:8080";
static final String DEFAULT_MQTT_URLS = "tcp://localhost:1883";
static final String DEFAULT_USERNAME = "tenant@thingsboard.org";
diff --git a/tools/src/test/scala/org/thingsboard/client/tools/MqttSimulation.scala b/tools/src/test/scala/org/thingsboard/client/tools/MqttSimulation.scala
index d82ed5b..6002ede 100644
--- a/tools/src/test/scala/org/thingsboard/client/tools/MqttSimulation.scala
+++ b/tools/src/test/scala/org/thingsboard/client/tools/MqttSimulation.scala
@@ -1,4 +1,19 @@
/**
+ * Copyright © 2016 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
* Copyright © 2016 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,14 +42,21 @@ class MqttSimulation extends Simulation {
.host("tcp://localhost:1883")
.userName("${deviceCredentialsId}")
- val scn = scenario("MQTT Test")
- .feed(csv("/tmp/mqtt.csv").circular)
- .exec(mqtt("request")
+ val connect = exec(mqtt("connect")
+ .connect())
+
+ val publish = repeat(400) {
+ exec(mqtt("publish")
.publish("v1/devices/me/telemetry", "{\"key1\":\"value1\", \"key2\":\"value2\"}", QoS.AT_LEAST_ONCE, retain = false))
+ }
+
+ val scn = scenario("Scenario Name")
+ .feed(csv("/tmp/mqtt.csv").circular)
+ .exec(connect, publish)
setUp(
scn
- .inject(constantUsersPerSec(1000) during (5 seconds))
+ .inject(constantUsersPerSec(25) during (1 seconds))
).protocols(mqttConf)
}
\ No newline at end of file