Commit 986cfe5cc16aff47ec8a5fe1d3a51a2b34a41e17
1 parent
9e8e46f1
Improve mqtt timeseries integration tests
Showing
1 changed file
with
28 additions
and
1 deletions
... | ... | @@ -127,7 +127,34 @@ public abstract class AbstractMqttTimeseriesIntegrationTest extends AbstractMqtt |
127 | 127 | } else { |
128 | 128 | getTelemetryValuesUrl = "/api/plugins/telemetry/DEVICE/" + deviceId + "/values/timeseries?keys=" + String.join(",", actualKeySet); |
129 | 129 | } |
130 | - Map<String, List<Map<String, String>>> values = doGetAsync(getTelemetryValuesUrl, Map.class); | |
130 | + start = System.currentTimeMillis(); | |
131 | + end = System.currentTimeMillis() + 5000; | |
132 | + Map<String, List<Map<String, String>>> values = null; | |
133 | + while (start <= end) { | |
134 | + values = doGetAsync(getTelemetryValuesUrl, Map.class); | |
135 | + boolean valid = values.size() == expectedKeys.size(); | |
136 | + if (valid) { | |
137 | + for (String key : expectedKeys) { | |
138 | + List<Map<String, String>> tsValues = values.get(key); | |
139 | + if (tsValues != null && tsValues.size() > 0) { | |
140 | + Object ts = tsValues.get(0).get("ts"); | |
141 | + if (ts == null) { | |
142 | + valid = false; | |
143 | + break; | |
144 | + } | |
145 | + } else { | |
146 | + valid = false; | |
147 | + break; | |
148 | + } | |
149 | + } | |
150 | + } | |
151 | + if (valid) { | |
152 | + break; | |
153 | + } | |
154 | + Thread.sleep(100); | |
155 | + start += 100; | |
156 | + } | |
157 | + assertNotNull(values); | |
131 | 158 | |
132 | 159 | if (withTs) { |
133 | 160 | assertTs(values, expectedKeys, 10000, 0); | ... | ... |