From e3a88b2f0052f36c196cfb480d1def13000d27ba Mon Sep 17 00:00:00 2001 From: mabofu Date: Wed, 26 Mar 2025 17:18:55 +0800 Subject: [PATCH] Fixed code coverage: fixed DefaultQueryResult code coverage --- .../result/DefaultQueryResultTest.java | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 dsms-engine-application/src/test/java/com/dsms/common/prometheus/converter/result/DefaultQueryResultTest.java diff --git a/dsms-engine-application/src/test/java/com/dsms/common/prometheus/converter/result/DefaultQueryResultTest.java b/dsms-engine-application/src/test/java/com/dsms/common/prometheus/converter/result/DefaultQueryResultTest.java new file mode 100644 index 00000000..aa18c07d --- /dev/null +++ b/dsms-engine-application/src/test/java/com/dsms/common/prometheus/converter/result/DefaultQueryResultTest.java @@ -0,0 +1,90 @@ +package com.dsms.common.prometheus.converter.result; + +import com.dsms.common.util.PrometheusUtils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class DefaultQueryResultTest { + + @Test + void getQueryResult() { + String vector = "{\"status\":\"success\",\"data\":{\"resultType\":\"vector\",\"result\":[{\"metric\":{},\"value\":[1742977682.864,\"0.016983333333334204\"]}]}}"; + String matrix = "{\"status\":\"success\",\"data\":{\"resultType\":\"matrix\",\"result\":[{\"metric\":{},\"values\":[[1742976920,\"0\"]]}]}}"; + DefaultQueryResult vectorDataDefaultQueryResult = PrometheusUtils.convertQueryResultString(vector); + DefaultQueryResult matrixDataDefaultQueryResult = PrometheusUtils.convertQueryResultString(matrix); + Assertions.assertInstanceOf(QueryResultItemValue.class, vectorDataDefaultQueryResult.getQueryResult()); + Assertions.assertInstanceOf(double[][].class, matrixDataDefaultQueryResult.getQueryResult()); + + DefaultQueryResult defaultQueryResult = new DefaultQueryResult(); + Object queryResult = defaultQueryResult.getQueryResult(); + Object queryResult1 = defaultQueryResult.getQueryResultAll(null); + Assertions.assertNull(queryResult); + Assertions.assertEquals(Collections.emptyMap(), queryResult1); + + defaultQueryResult.addData(null); + Object queryResult2 = defaultQueryResult.getQueryResult(); + Object queryResult3 = defaultQueryResult.getQueryResultAll(null); + + Assertions.assertNull(queryResult2); + Assertions.assertEquals(new HashMap<>(), queryResult3); + defaultQueryResult.result = null; + Object queryResult4 = defaultQueryResult.getQueryResult(); + Object queryResult5 = defaultQueryResult.getQueryResultAll(null); + Assertions.assertNull(queryResult4); + Assertions.assertEquals(Collections.emptyMap(), queryResult5); + } + + @Test + void getQueryResultAll() { + String matrix = "{\"status\":\"success\",\"data\":{\"resultType\":\"matrix\",\"result\":[{\"metric\":{\"mode\":\"iowait\"},\"values\":[[1742976858,\"0.5104083266613301\"]]}]}}"; + DefaultQueryResult matrixDataDefaultQueryResult = PrometheusUtils.convertQueryResultString(matrix); + Map mode1 = matrixDataDefaultQueryResult.getQueryResultAll("mode"); + Assertions.assertTrue(mode1.containsKey("iowait")); + + String vector = "{\"status\":\"success\",\"data\":{\"resultType\":\"vector\",\"result\":[{\"metric\":{\"mode\":\"iowait\"},\"value\":[1742977682.864,\"0.016983333333334204\"]}]}}"; + DefaultQueryResult vectorDataDefaultQueryResult = PrometheusUtils.convertQueryResultString(vector); + Map mode = vectorDataDefaultQueryResult.getQueryResultAll("mode"); + Assertions.assertInstanceOf(QueryResultItemValue.class, mode.get("iowait")); + + } + + @Test + void addTest() { + DefaultQueryResult queryResult = new DefaultQueryResult<>(); + MatrixData resultDataItem = new MatrixData(); + queryResult.addData(resultDataItem); + + Assertions.assertEquals(queryResult.getResult(), List.of(resultDataItem)); + + DefaultQueryResult queryResult1 = new DefaultQueryResult<>(); + queryResult1.setStatus("test"); + queryResult1.setResultType("test"); + DefaultQueryResult queryResult2 = new DefaultQueryResult<>(); + queryResult2.setStatus("test1"); + queryResult2.setResultType("test1"); + + Assertions.assertNotEquals(queryResult1.hashCode(), queryResult2.hashCode()); + Assertions.assertNotEquals(queryResult1, queryResult2); + + DefaultQueryResult queryResult3 = new DefaultQueryResult(); + DefaultQueryResult queryResult4 = new DefaultQueryResult(); + + Assertions.assertEquals(queryResult3, queryResult4); + Assertions.assertEquals(queryResult3.hashCode(), queryResult4.hashCode()); + + queryResult3.setResult(new ArrayList<>()); + queryResult4.setResult(List.of("test")); + + Assertions.assertNotEquals(queryResult3, queryResult4); + Assertions.assertNotEquals(queryResult3.hashCode(), queryResult4.hashCode()); + + + } + +} \ No newline at end of file -- Gitee