From 6d389faac0f96e049ad7970c39a957e587929121 Mon Sep 17 00:00:00 2001 From: Pengpeng Wang Date: Mon, 17 May 2021 11:28:28 +0800 Subject: [PATCH] Add a test case about host usage formula Signed-off-by: Pengpeng Wang --- .../controller/AssetControllerTest.java | 82 ++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/flowgate-api/src/test/java/com/vmware/flowgate/controller/AssetControllerTest.java b/flowgate-api/src/test/java/com/vmware/flowgate/controller/AssetControllerTest.java index 1d117b69..b2c2070f 100644 --- a/flowgate-api/src/test/java/com/vmware/flowgate/controller/AssetControllerTest.java +++ b/flowgate-api/src/test/java/com/vmware/flowgate/controller/AssetControllerTest.java @@ -3016,13 +3016,93 @@ public void testGetServerMetricsByIDFormulaIsEmpty() { Map formulars = new HashMap(); asset.setMetricsformulars(formulars); asset = assetRepository.save(asset); - List metricDatas = assetService.getMetricsByID(asset.getId(), startTime, duration); TestCase.assertEquals(0, metricDatas.size()); assetRepository.deleteById(asset.getId()); } + @Test + public void testGetServerMetricsByIDHostUsageFormulaIsNull() { + Asset asset = createAsset(); + List realTimeDatas = new ArrayList(); + long time = System.currentTimeMillis(); + int duration = 30*60*1000; + long startTime = time - duration; + RealTimeData pduUsageMetricData = createPduAllRealTimeData(startTime); + pduUsageMetricData.setAssetID("0001bdc8b25d4c2badfd045ab61aabfa"); + RealTimeData tempRealTimeData = + createTemperatureSensorRealtimeData(startTime, "00027ca37b004a9890d1bf20349d5ac1"); + RealTimeData humdityRealTimeData = + createHumiditySensorRealtimeData(startTime, "34527ca37b004a9890d1bf20349d5ac1"); + RealTimeData backTemperature = + createBackTemperatureSensorRealtimeData(startTime, "968765a37b004a9890d1bf20349d5ac1"); + RealTimeData backHumidity = + createBackHumiditySensorRealtimeData(startTime, "486970a37b004a9890d1bf20349d5ac1"); + realTimeDatas.add(humdityRealTimeData); + realTimeDatas.add(tempRealTimeData); + realTimeDatas.add(backHumidity); + realTimeDatas.add(backTemperature); + realTimeDatas.add(pduUsageMetricData); + realtimeDataRepository.saveAll(realTimeDatas); + + asset = fillingMetricsformula(asset); + Map metricFormula = asset.getMetricsformulars(); + metricFormula.remove(FlowgateConstant.HOST_METRICS); + asset.setMetricsformulars(metricFormula); + HashMap justificationfields = new HashMap<>(); + justificationfields.put(FlowgateConstant.PDU_PORT_FOR_SERVER, "power-2_FIELDSPLIT_CAN1-MDF-R01-PDU-BUILDING_FIELDSPLIT_OUTLET:1_FIELDSPLIT_0001bdc8b25d4c2badfd045ab61aabfa"); + asset.setJustificationfields(justificationfields); + asset = assetRepository.save(asset); + List metricDatas = + assetService.getMetricsByID(asset.getId(), startTime, duration); + for(MetricData serverdata : metricDatas) { + String metricName = serverdata.getMetricName(); + if(String.format(MetricKeyName.SERVER_CONNECTED_PDUX_OUTLETX_CURRENT, "0001bdc8b25d4c2badfd045ab61aabfa","OUTLET:1"). + equals(metricName)) { + TestCase.assertEquals(0.365, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_CONNECTED_PDUX_OUTLETX_POWER, "0001bdc8b25d4c2badfd045ab61aabfa","OUTLET:1"). + equals(metricName)) { + TestCase.assertEquals(0.081,serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_CONNECTED_PDUX_OUTLETX_VOLTAGE, "0001bdc8b25d4c2badfd045ab61aabfa","OUTLET:1"). + equals(metricName)) { + TestCase.assertEquals(221.0, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_CONNECTED_PDUX_POWER_LOAD, "0001bdc8b25d4c2badfd045ab61aabfa"). + equals(metricName)) { + TestCase.assertEquals(0.05, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_CONNECTED_PDUX_CURRENT_LOAD, "0001bdc8b25d4c2badfd045ab61aabfa"). + equals(metricName)) { + TestCase.assertEquals(0.05, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_CONNECTED_PDUX_TOTAL_CURRENT, "0001bdc8b25d4c2badfd045ab61aabfa"). + equals(metricName)) { + TestCase.assertEquals(1.455, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_CONNECTED_PDUX_TOTAL_POWER, "0001bdc8b25d4c2badfd045ab61aabfa"). + equals(metricName)) { + TestCase.assertEquals(0.322, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_BACK_HUMIDITY_LOCATIONX, "OUTLET"). + equals(metricName)) { + TestCase.assertEquals(19.0, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_BACK_TEMPREATURE_LOCATIONX, "OUTLET"). + equals(metricName)) { + TestCase.assertEquals(25.0, serverdata.getValueNum()); + }else if(String.format(MetricKeyName.SERVER_FRONT_HUMIDITY_LOCATIONX, "INLET"). + equals(metricName)) { + TestCase.assertEquals(serverdata.getValueNum(), 20.0); + }else if(String.format(MetricKeyName.SERVER_FRONT_TEMPERATURE_LOCATIONX, "INLET"). + equals(metricName)) { + TestCase.assertEquals(serverdata.getValueNum(), 32.0); + }else if(MetricName.SERVER_VOLTAGE.equals(metricName)) { + TestCase.assertEquals(221.0, serverdata.getValueNum()); + } + } + assetRepository.deleteById(asset.getId()); + realtimeDataRepository.deleteById(pduUsageMetricData.getId()); + realtimeDataRepository.deleteById(tempRealTimeData.getId()); + realtimeDataRepository.deleteById(humdityRealTimeData.getId()); + realtimeDataRepository.deleteById(backHumidity.getId()); + realtimeDataRepository.deleteById(backTemperature.getId()); + } + @Test public void testGetServerMetricsByID() { Asset asset = createAsset();