Skip to content

Commit 4d721de

Browse files
feat: add queryRows
1 parent eab7095 commit 4d721de

File tree

1 file changed

+74
-0
lines changed
  • src/test/java/com/influxdb/v3/client/integration

1 file changed

+74
-0
lines changed

src/test/java/com/influxdb/v3/client/integration/E2ETest.java

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,80 @@ public void testQueryRows() throws Exception {
277277
}
278278
}
279279

280+
@Test
281+
public void testQueryRowWithParam() throws Exception {
282+
try (InfluxDBClient client = InfluxDBClient.getInstance(
283+
System.getenv("TESTING_INFLUXDB_URL"),
284+
System.getenv("TESTING_INFLUXDB_TOKEN").toCharArray(),
285+
System.getenv("TESTING_INFLUXDB_DATABASE"),
286+
null)) {
287+
String uuid = UUID.randomUUID().toString();
288+
String measurement = "host21";
289+
List<Map<String, Object>> testDatas = new ArrayList<>();
290+
for (int i = 0; i <= 9; i++) {
291+
long timestamp = System.currentTimeMillis();
292+
Map<String, Object> map = Map.of(
293+
"measurement", measurement,
294+
"tag", "tagValue",
295+
"name", "intel",
296+
"mem_total", 2048.0,
297+
"disk_free", 100L,
298+
"temperature", 100.86,
299+
"isActive", true,
300+
"time", timestamp,
301+
"testId", uuid
302+
);
303+
String record = String.format(
304+
"%s,tag=tagValue "
305+
+ "name=\"%s\","
306+
+ "mem_total=%f,"
307+
+ "disk_free=%di,"
308+
+ "temperature=%f,"
309+
+ "isActive=%b,"
310+
+ "testId=\"%s\" %d",
311+
measurement,
312+
map.get("name"),
313+
(Double) map.get("mem_total"),
314+
(Long) map.get("disk_free"),
315+
(Double) map.get("temperature"),
316+
map.get("isActive"),
317+
uuid,
318+
timestamp
319+
);
320+
client.writeRecord(record, new WriteOptions(null, WritePrecision.MS, null));
321+
testDatas.add(map);
322+
}
323+
324+
Map<String, Object> parameters = Map.of("testId", uuid);
325+
// Result set much be ordered by time
326+
String sql = String.format("Select * from %s where \"testId\"=$testId order by time", measurement);
327+
try (Stream<Map<String, Object>> stream = client.queryRows(sql, parameters)) {
328+
List<Map<String, Object>> results = stream.collect(Collectors.toList());
329+
for (int i = 0; i <= 9; i++) {
330+
Map<String, Object> row = results.get(i);
331+
Map<String, Object> testData = testDatas.get(i);
332+
Assertions.assertThat(row.get("tag").getClass()).isEqualTo(String.class);
333+
Assertions.assertThat(row.get("tag")).isEqualTo(testData.get("tag"));
334+
335+
Assertions.assertThat(row.get("name").getClass()).isEqualTo(String.class);
336+
Assertions.assertThat(row.get("name")).isEqualTo(testData.get("name"));
337+
338+
Assertions.assertThat(row.get("mem_total").getClass()).isEqualTo(Double.class);
339+
Assertions.assertThat(row.get("mem_total")).isEqualTo(testData.get("mem_total"));
340+
341+
Assertions.assertThat(row.get("disk_free").getClass()).isEqualTo(Long.class);
342+
Assertions.assertThat(row.get("disk_free")).isEqualTo(testData.get("disk_free"));
343+
344+
Assertions.assertThat(row.get("isActive").getClass()).isEqualTo(Boolean.class);
345+
Assertions.assertThat(row.get("isActive")).isEqualTo(testData.get("isActive"));
346+
347+
Assertions.assertThat(row.get("time").getClass()).isEqualTo(BigInteger.class);
348+
Assertions.assertThat(row.get("time"))
349+
.isEqualTo(BigInteger.valueOf((Long) testData.get("time") * 1_000_000));
350+
}
351+
}
352+
}
353+
}
280354

281355
@EnabledIfEnvironmentVariable(named = "TESTING_INFLUXDB_URL", matches = ".*")
282356
@EnabledIfEnvironmentVariable(named = "TESTING_INFLUXDB_TOKEN", matches = ".*")

0 commit comments

Comments
 (0)