Search in sources :

Example 16 with MetricData

use of com.vmware.flowgate.common.model.MetricData in project flowgate by vmware.

the class AssetService method translateToMetricDataForOtherAsset.

private List<MetricData> translateToMetricDataForOtherAsset(Map<String, List<ValueUnit>> assetAndValueUnitsMap, Asset asset) {
    List<MetricData> metricDatas = new ArrayList<MetricData>();
    Map<String, Map<String, String>> displayNameAndFormulasMap = getMetricDispalyNameAndFormulaMap(asset);
    if (displayNameAndFormulasMap.isEmpty() || !displayNameAndFormulasMap.containsKey(DISPLAYNAMEANDFORMULANAMEMAPKEY)) {
        return metricDatas;
    }
    // The displayNameAndFormulaKeyMap use to find a method to translate the valueUnit to MetricData
    Map<String, String> displayNameAndFormulaKeyMap = displayNameAndFormulasMap.get(DISPLAYNAMEANDFORMULANAMEMAPKEY);
    displayNameAndFormulasMap.remove(DISPLAYNAMEANDFORMULANAMEMAPKEY);
    CompareValueUnitByTime comparator = new CompareValueUnitByTime();
    for (Map.Entry<String, Map<String, String>> entry : displayNameAndFormulasMap.entrySet()) {
        String displayName = entry.getKey();
        Map<String, String> formulaMap = entry.getValue();
        for (Map.Entry<String, String> formulaEntry : formulaMap.entrySet()) {
            String valueUnitName = formulaEntry.getKey();
            String formula = formulaEntry.getValue();
            String[] ids = formula.split("\\+|-|\\*|/|\\(|\\)");
            Map<String, List<ValueUnit>> idAndValues = new HashMap<>();
            for (String id : ids) {
                List<ValueUnit> valueUnits = new ArrayList<ValueUnit>();
                for (ValueUnit valueUnit : assetAndValueUnitsMap.get(id)) {
                    if (!valueUnitName.equals(valueUnit.getKey())) {
                        continue;
                    }
                    valueUnits.add(valueUnit);
                }
                if (valueUnits.isEmpty()) {
                    continue;
                }
                Collections.sort(valueUnits, comparator);
                idAndValues.put(id, valueUnits);
            }
            if (idAndValues.isEmpty()) {
                continue;
            }
            Function<TranslateContext, MetricData> function = TranslateFunctionService.convert;
            String formulaKey = displayNameAndFormulaKeyMap.get(displayName);
            if (TranslateFunctionService.defaultFormulaKeyAndFunction.containsKey(formulaKey)) {
                function = TranslateFunctionService.defaultFormulaKeyAndFunction.get(formulaKey);
            }
            metricDatas.addAll(convertValueUnitToMetricData(displayName, function, formula, idAndValues));
        }
    }
    return metricDatas;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) TranslateContext(com.vmware.flowgate.common.model.TranslateContext) List(java.util.List) ArrayList(java.util.ArrayList) ValueUnit(com.vmware.flowgate.common.model.ValueUnit) Map(java.util.Map) HashMap(java.util.HashMap) MetricData(com.vmware.flowgate.common.model.MetricData)

Example 17 with MetricData

use of com.vmware.flowgate.common.model.MetricData in project flowgate by vmware.

the class AssetService method convertValueUnitToMetricData.

/**
 * Sample of TranslateContext
 * {
 *    DisplayName:"Temperature|%S",
 *    Formulas:"23551d6dacf2432c8a3edbc6bbc922cd + 123456",
 *    valueData:[{id,valueUnit}]
 * }
 * One displayName may correspond to one or multiple values
 * When the API of get-latest-data use the method, One MetricName correspond one value
 * When the API of get-duration-data use the method, One MetricName correspond multiple values
 * @param displayName
 * @param formula
 * @param idAndValues
 * @return
 */
private List<MetricData> convertValueUnitToMetricData(String displayName, Function<TranslateContext, MetricData> function, String formula, Map<String, List<ValueUnit>> idAndValues) {
    List<ValueUnit> valueUnits = idAndValues.get(idAndValues.keySet().iterator().next());
    Map<String, ValueUnit> idAndValueUnitMap = null;
    // Assuming the collection length is the same
    List<MetricData> metricDatas = new ArrayList<MetricData>();
    for (int i = 0; i < valueUnits.size(); i++) {
        // Sample data: <id1, valueUnit1>,<id2, valueUnit1>
        idAndValueUnitMap = new HashMap<String, ValueUnit>();
        TranslateContext translateContext = new TranslateContext();
        for (Map.Entry<String, List<ValueUnit>> valuesEntry : idAndValues.entrySet()) {
            String id = valuesEntry.getKey();
            ValueUnit value = valuesEntry.getValue().get(i);
            idAndValueUnitMap.put(id, value);
        }
        translateContext.setDisplayName(displayName);
        translateContext.setFormula(formula);
        translateContext.setValueUnits(idAndValueUnitMap);
        MetricData metricData = function.apply(translateContext);
        if (metricData != null) {
            metricDatas.add(metricData);
        }
    }
    return metricDatas;
}
Also used : ArrayList(java.util.ArrayList) TranslateContext(com.vmware.flowgate.common.model.TranslateContext) List(java.util.List) ArrayList(java.util.ArrayList) ValueUnit(com.vmware.flowgate.common.model.ValueUnit) Map(java.util.Map) HashMap(java.util.HashMap) MetricData(com.vmware.flowgate.common.model.MetricData)

Example 18 with MetricData

use of com.vmware.flowgate.common.model.MetricData in project flowgate by vmware.

the class AssetControllerTest method getServerMetricsData.

@Test
public void getServerMetricsData() throws Exception {
    FieldDescriptor[] fieldpath = new FieldDescriptor[] { fieldWithPath("metricName").description("metric name").type(JsonFieldType.STRING), fieldWithPath("valueNum").description("valueNum.").type(JsonFieldType.NUMBER), fieldWithPath("value").description("value").type(JsonFieldType.NULL), fieldWithPath("unit").description("metric unit").type(JsonFieldType.STRING), fieldWithPath("timeStamp").description("timeStamp").type(JsonFieldType.NUMBER) };
    Asset asset = createAsset();
    List<RealTimeData> realTimeDatas = new ArrayList<RealTimeData>();
    Long currentTime = System.currentTimeMillis();
    RealTimeData pduRealTimeData = createServerPDURealTimeData(currentTime);
    pduRealTimeData.setAssetID("0001bdc8b25d4c2badfd045ab61aabfa");
    RealTimeData sensorRealTimeData = createSensorRealtimeData(currentTime);
    sensorRealTimeData.setAssetID("00027ca37b004a9890d1bf20349d5ac1");
    RealTimeData serverHostRealTimeData = createServerHostRealTimeData(currentTime);
    serverHostRealTimeData.setAssetID(asset.getId());
    realTimeDatas.add(pduRealTimeData);
    realTimeDatas.add(sensorRealTimeData);
    realTimeDatas.add(serverHostRealTimeData);
    Iterable<RealTimeData> result = realtimeDataRepository.saveAll(realTimeDatas);
    HashMap<String, String> justificationfields = new HashMap<>();
    justificationfields.put(FlowgateConstant.PDU_PORT_FOR_SERVER, "power-2_FIELDSPLIT_CAN1-MDF-R01-PDU-BUILDING_FIELDSPLIT_OUTLET:7_FIELDSPLIT_0001bdc8b25d4c2badfd045ab61aabfa");
    asset.setJustificationfields(justificationfields);
    asset = fillingMetricsformula(asset);
    asset = assetRepository.save(asset);
    MvcResult result1 = this.mockMvc.perform(get("/v1/assets/server/{assetId}/realtimedata", asset.getId()).param("starttime", String.valueOf(currentTime)).param("duration", "300000")).andDo(document("assets-getServerMetricsData-example", pathParameters(parameterWithName("assetId").description("The id of asset,generated by flowgate.")), requestParameters(parameterWithName("starttime").description("Start time of you want to query.Default value: the system current time in Millis").optional(), parameterWithName("duration").description("Duration of you want to query.Default value: 300000 ms").optional()), responseFields(fieldWithPath("[]").description("An array of realTimeDatas")).andWithPrefix("[].", fieldpath))).andReturn();
    String res = result1.getResponse().getContentAsString();
    MetricData[] datas = mapper.readValue(res, MetricData[].class);
    try {
        for (MetricData serverdata : datas) {
            String metricName = serverdata.getMetricName();
            if (String.format(MetricKeyName.SERVER_CONNECTED_PDUX_OUTLETX_CURRENT, "0001bdc8b25d4c2badfd045ab61aabfa", "OUTLET:7").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 0.633);
            } else if (String.format(MetricKeyName.SERVER_CONNECTED_PDUX_OUTLETX_POWER, "0001bdc8b25d4c2badfd045ab61aabfa", "OUTLET:7").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 1.033);
            } else if (String.format(MetricKeyName.SERVER_CONNECTED_PDUX_OUTLETX_VOLTAGE, "0001bdc8b25d4c2badfd045ab61aabfa", "OUTLET:7").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 226.0);
            } else if (String.format(MetricKeyName.SERVER_CONNECTED_PDUX_POWER_LOAD, "0001bdc8b25d4c2badfd045ab61aabfa").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 0.134);
            } else if (String.format(MetricKeyName.SERVER_CONNECTED_PDUX_CURRENT_LOAD, "0001bdc8b25d4c2badfd045ab61aabfa").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 0.1427);
            } else if (String.format(MetricKeyName.SERVER_CONNECTED_PDUX_TOTAL_CURRENT, "0001bdc8b25d4c2badfd045ab61aabfa").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 4.566);
            } else if (String.format(MetricKeyName.SERVER_CONNECTED_PDUX_TOTAL_POWER, "0001bdc8b25d4c2badfd045ab61aabfa").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 1.033);
            } else if (String.format(MetricKeyName.SERVER_BACK_HUMIDITY_LOCATIONX, "OUTLET").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 20.0);
            } else if (String.format(MetricKeyName.SERVER_BACK_TEMPREATURE_LOCATIONX, "OUTLET").equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 32.0);
            } 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(serverdata.getValueNum(), 226.0);
            } else if (MetricName.SERVER_STORAGEUSAGE.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 65.0);
                }
            } else if (MetricName.SERVER_MEMORYUSAGE.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 87.22);
                }
            } else if (MetricName.SERVER_CPUUSEDINMHZ.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 746.00);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 570.00);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 552.00);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 844.00);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 651.00);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 566.00);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 552.00);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 569.00);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 538.00);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 836.00);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 655.00);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 565.00);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 571.00);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 551.00);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 570.00);
                }
            } else if (MetricName.SERVER_CPUUSAGE.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 4.67);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.57);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.46);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 5.28);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 4.08);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.55);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.45);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.56);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.37);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 5.23);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 4.1);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.53);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.57);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.45);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 3.57);
                }
            } else if (MetricName.SERVER_ACTIVEMEMORY.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1561416.00);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1561416.00);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 2065824.00);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 2065824.00);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 2065824.00);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 2065428.00);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 2065428.00);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 2065428.00);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1729924.00);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1729924.00);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1729924.00);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1561072.00);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1561072.00);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 1561072.00);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 2063852.00);
                }
            } else if (MetricName.SERVER_SHAREDMEMORY.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 8.00);
                }
            } else if (MetricName.SERVER_CONSUMEDMEMORY.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291220.00);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291236.00);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291236.00);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291236.00);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291252.00);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291252.00);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291252.00);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291156.00);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291156.00);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291200.00);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291060.00);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291172.00);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291172.00);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291188.00);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18291188.00);
                }
            } else if (MetricName.SERVER_SWAPMEMORY.equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 0.00);
            } else if (MetricName.SERVER_BALLOONMEMORY.equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 0.0);
            } else if (MetricName.SERVER_NETWORKUTILIZATION.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 146.00);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 18.00);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 15.00);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 16.00);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 16.00);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 12.00);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 9.00);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 16.00);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 10.00);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 16.00);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 17.00);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 12.00);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 12.00);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 19.00);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 29.00);
                }
            } else if (MetricName.SERVER_STORAGEIORATEUSAGE.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 330.00);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 98.00);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 57.00);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 852.00);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 224.00);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 95.00);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 209.00);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 66.00);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 56.00);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 798.00);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 236.00);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 81.00);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 213.00);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 63.00);
                } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 61.00);
                }
            } else if (MetricName.SERVER_POWER.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.56);
                } else {
                    if (serverdata.getTimeStamp() == currentTime + 20000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.070);
                    } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    } else if (serverdata.getTimeStamp() == currentTime + 300000) {
                        TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                    }
                }
            } else if (MetricName.SERVER_PEAK_USED_POWER.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.070);
                } else {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.80);
                }
            } else if (MetricName.SERVER_MINIMUM_USED_POWER.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.069);
                } else {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.50);
                }
            } else if (MetricName.SERVER_AVERAGE_USED_POWER.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.06906666666666665);
                } else {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.60);
                }
            } else if (MetricName.SERVER_ENERGY_CONSUMPTION.equals(metricName)) {
                if (serverdata.getTimeStamp() == currentTime) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.00038805555555555555);
                } else if (serverdata.getTimeStamp() == currentTime + 20000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 40000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 60000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003869444444444444);
                } else if (serverdata.getTimeStamp() == currentTime + 80000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.00038888888888888887);
                } else if (serverdata.getTimeStamp() == currentTime + 100000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.00038805555555555555);
                } else if (serverdata.getTimeStamp() == currentTime + 120000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 140000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 160000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 180000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.00038555555555555554);
                } else if (serverdata.getTimeStamp() == currentTime + 200000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.00038805555555555555);
                } else if (serverdata.getTimeStamp() == currentTime + 220000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 240000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 260000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.0003833333333333333);
                } else if (serverdata.getTimeStamp() == currentTime + 280000) {
                    TestCase.assertEquals(serverdata.getValueNum(), 0.00038555555555555554);
                } else {
                    TestCase.assertEquals(serverdata.getValueNum(), 356.00);
                }
            } else if (MetricName.SERVER_AVERAGE_TEMPERATURE.equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 24.00);
            } else if (MetricName.SERVER_PEAK_TEMPERATURE.equals(metricName)) {
                TestCase.assertEquals(serverdata.getValueNum(), 30.00);
            } else {
                TestCase.fail("Unknown metric :" + metricName);
            }
        }
    } finally {
        assetRepository.deleteById(asset.getId());
        realtimeDataRepository.deleteById(pduRealTimeData.getId());
        realtimeDataRepository.deleteById(sensorRealTimeData.getId());
        realtimeDataRepository.deleteById(serverHostRealTimeData.getId());
    }
}
Also used : RealTimeData(com.vmware.flowgate.common.model.RealTimeData) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MvcResult(org.springframework.test.web.servlet.MvcResult) FieldDescriptor(org.springframework.restdocs.payload.FieldDescriptor) Asset(com.vmware.flowgate.common.model.Asset) MetricData(com.vmware.flowgate.common.model.MetricData) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Test(org.junit.Test)

Example 19 with MetricData

use of com.vmware.flowgate.common.model.MetricData in project flowgate by vmware.

the class AssetControllerTest method testGetPDUMetricsByID.

@Test
public void testGetPDUMetricsByID() {
    Asset pduAsset = createPDU();
    pduAsset = assetRepository.save(pduAsset);
    List<RealTimeData> datas = new ArrayList<>();
    long time = System.currentTimeMillis();
    int duration = 30 * 60 * 1000;
    long startTime = time - duration;
    RealTimeData pduUsageMetricData = createPduAllRealTimeData(startTime);
    pduUsageMetricData.setAssetID(pduAsset.getId());
    RealTimeData tempRealTimeData = createTemperatureSensorRealtimeData(startTime, "00027ca37b004a9890d1bf20349d5ac1");
    RealTimeData humdityRealTimeData = createHumiditySensorRealtimeData(startTime, "34527ca37b004a9890d1bf20349d5ac1");
    datas.add(humdityRealTimeData);
    datas.add(tempRealTimeData);
    datas.add(pduUsageMetricData);
    realtimeDataRepository.saveAll(datas);
    List<MetricData> metricDatas = assetService.getMetricsByID(pduAsset.getId(), startTime, duration);
    int metricResultSize = pduUsageMetricData.getValues().size() + tempRealTimeData.getValues().size() + humdityRealTimeData.getValues().size();
    TestCase.assertEquals(metricResultSize, metricDatas.size());
    for (MetricData pduMetricdata : metricDatas) {
        String metricName = pduMetricdata.getMetricName();
        if (String.format(MetricName.PDU_XLET_ACTIVE_POWER, "OUTLET:1").equals(metricName)) {
            TestCase.assertEquals(0.054, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_APPARENT_POWER, "OUTLET:1").equals(metricName)) {
            TestCase.assertEquals(0.081, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_CURRENT, "OUTLET:1").equals(metricName)) {
            TestCase.assertEquals(0.365, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_FREE_CAPACITY, "OUTLET:1").equals(metricName)) {
            TestCase.assertEquals(9.635, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_VOLTAGE, "OUTLET:1").equals(metricName)) {
            TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_ACTIVE_POWER, "OUTLET:2").equals(metricName)) {
            TestCase.assertEquals(0.2, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_APPARENT_POWER, "OUTLET:2").equals(metricName)) {
            TestCase.assertEquals(0.241, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_CURRENT, "OUTLET:2").equals(metricName)) {
            TestCase.assertEquals(1.09, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_FREE_CAPACITY, "OUTLET:2").equals(metricName)) {
            TestCase.assertEquals(8.91, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_XLET_VOLTAGE, "OUTLET:2").equals(metricName)) {
            TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
        } else if (String.format(MetricKeyName.PDU_HUMIDITY_LOCATIONX, "OUTLET").equals(metricName)) {
            TestCase.assertEquals(20.0, pduMetricdata.getValueNum());
        } else if (String.format(MetricKeyName.PDU_TEMPERATURE_LOCATIONX, "INLET").equals(metricName)) {
            TestCase.assertEquals(32.0, pduMetricdata.getValueNum());
        } else if (MetricName.PDU_CURRENT_LOAD.equals(metricName)) {
            TestCase.assertEquals(0.05, pduMetricdata.getValueNum());
        } else if (MetricName.PDU_POWER_LOAD.equals(metricName)) {
            TestCase.assertEquals(0.05, pduMetricdata.getValueNum());
        } else if (MetricName.PDU_TOTAL_CURRENT.equals(metricName)) {
            TestCase.assertEquals(1.455, pduMetricdata.getValueNum());
        } else if (MetricName.PDU_TOTAL_POWER.equals(metricName)) {
            TestCase.assertEquals(0.322, pduMetricdata.getValueNum());
        } else if (MetricName.PDU_VOLTAGE.equals(metricName)) {
            TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_INLET_XPOLE_CURRENT, "INLET:1", "L1").equals(metricName)) {
            TestCase.assertEquals(1.455, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_INLET_XPOLE_FREE_CAPACITY, "INLET:1", "L1").equals(metricName)) {
            TestCase.assertEquals(30.545, pduMetricdata.getValueNum());
        } else if (String.format(MetricName.PDU_INLET_XPOLE_VOLTAGE, "INLET:1", "L1").equals(metricName)) {
            TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
        } else {
            TestCase.fail("Unkown metric");
        }
    }
    assetRepository.deleteById(pduAsset.getId());
    realtimeDataRepository.deleteById(pduUsageMetricData.getId());
    realtimeDataRepository.deleteById(tempRealTimeData.getId());
    realtimeDataRepository.deleteById(humdityRealTimeData.getId());
}
Also used : RealTimeData(com.vmware.flowgate.common.model.RealTimeData) ArrayList(java.util.ArrayList) Asset(com.vmware.flowgate.common.model.Asset) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MetricData(com.vmware.flowgate.common.model.MetricData) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Test(org.junit.Test)

Example 20 with MetricData

use of com.vmware.flowgate.common.model.MetricData in project flowgate by vmware.

the class AssetControllerTest method testRealtimedataPDUExample.

@Test
public void testRealtimedataPDUExample() throws Exception {
    Asset pduAsset = createPDU();
    pduAsset = assetRepository.save(pduAsset);
    List<RealTimeData> datas = new ArrayList<>();
    long time = System.currentTimeMillis();
    int duration = 30 * 60 * 1000;
    long startTime = time - duration;
    RealTimeData pduUsageMetricData = createPduAllRealTimeData(startTime);
    pduUsageMetricData.setAssetID(pduAsset.getId());
    RealTimeData tempRealTimeData = createTemperatureSensorRealtimeData(startTime, "00027ca37b004a9890d1bf20349d5ac1");
    RealTimeData humdityRealTimeData = createHumiditySensorRealtimeData(startTime, "34527ca37b004a9890d1bf20349d5ac1");
    datas.add(humdityRealTimeData);
    datas.add(tempRealTimeData);
    datas.add(pduUsageMetricData);
    realtimeDataRepository.saveAll(datas);
    MvcResult result1 = this.mockMvc.perform(get("/v1/assets/{assetId}/realtimedata", pduAsset.getId()).param("starttime", String.valueOf(startTime)).param("duration", String.valueOf(duration))).andReturn();
    String res = result1.getResponse().getContentAsString();
    MetricData[] metricDatas = mapper.readValue(res, MetricData[].class);
    int metricResultSize = pduUsageMetricData.getValues().size() + tempRealTimeData.getValues().size() + humdityRealTimeData.getValues().size();
    TestCase.assertEquals(metricResultSize, metricDatas.length);
    try {
        for (MetricData pduMetricdata : metricDatas) {
            String metricName = pduMetricdata.getMetricName();
            if (String.format(MetricName.PDU_XLET_ACTIVE_POWER, "OUTLET:1").equals(metricName)) {
                TestCase.assertEquals(0.054, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_APPARENT_POWER, "OUTLET:1").equals(metricName)) {
                TestCase.assertEquals(0.081, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_CURRENT, "OUTLET:1").equals(metricName)) {
                TestCase.assertEquals(0.365, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_FREE_CAPACITY, "OUTLET:1").equals(metricName)) {
                TestCase.assertEquals(9.635, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_VOLTAGE, "OUTLET:1").equals(metricName)) {
                TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_ACTIVE_POWER, "OUTLET:2").equals(metricName)) {
                TestCase.assertEquals(0.2, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_APPARENT_POWER, "OUTLET:2").equals(metricName)) {
                TestCase.assertEquals(0.241, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_CURRENT, "OUTLET:2").equals(metricName)) {
                TestCase.assertEquals(1.09, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_FREE_CAPACITY, "OUTLET:2").equals(metricName)) {
                TestCase.assertEquals(8.91, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_XLET_VOLTAGE, "OUTLET:2").equals(metricName)) {
                TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
            } else if (String.format(MetricKeyName.PDU_HUMIDITY_LOCATIONX, "OUTLET").equals(metricName)) {
                TestCase.assertEquals(20.0, pduMetricdata.getValueNum());
            } else if (String.format(MetricKeyName.PDU_TEMPERATURE_LOCATIONX, "INLET").equals(metricName)) {
                TestCase.assertEquals(32.0, pduMetricdata.getValueNum());
            } else if (MetricName.PDU_CURRENT_LOAD.equals(metricName)) {
                TestCase.assertEquals(0.05, pduMetricdata.getValueNum());
            } else if (MetricName.PDU_POWER_LOAD.equals(metricName)) {
                TestCase.assertEquals(0.05, pduMetricdata.getValueNum());
            } else if (MetricName.PDU_TOTAL_CURRENT.equals(metricName)) {
                TestCase.assertEquals(1.455, pduMetricdata.getValueNum());
            } else if (MetricName.PDU_TOTAL_POWER.equals(metricName)) {
                TestCase.assertEquals(0.322, pduMetricdata.getValueNum());
            } else if (MetricName.PDU_VOLTAGE.equals(metricName)) {
                TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_INLET_XPOLE_CURRENT, "INLET:1", "L1").equals(metricName)) {
                TestCase.assertEquals(1.455, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_INLET_XPOLE_FREE_CAPACITY, "INLET:1", "L1").equals(metricName)) {
                TestCase.assertEquals(30.545, pduMetricdata.getValueNum());
            } else if (String.format(MetricName.PDU_INLET_XPOLE_VOLTAGE, "INLET:1", "L1").equals(metricName)) {
                TestCase.assertEquals(221.0, pduMetricdata.getValueNum());
            } else {
                TestCase.fail("Unkown metric");
            }
        }
    } finally {
        assetRepository.deleteById(pduAsset.getId());
        realtimeDataRepository.deleteById(pduUsageMetricData.getId());
        realtimeDataRepository.deleteById(tempRealTimeData.getId());
        realtimeDataRepository.deleteById(humdityRealTimeData.getId());
    }
}
Also used : RealTimeData(com.vmware.flowgate.common.model.RealTimeData) ArrayList(java.util.ArrayList) Asset(com.vmware.flowgate.common.model.Asset) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) MvcResult(org.springframework.test.web.servlet.MvcResult) MetricData(com.vmware.flowgate.common.model.MetricData) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Test(org.junit.Test)

Aggregations

MetricData (com.vmware.flowgate.common.model.MetricData)35 ArrayList (java.util.ArrayList)25 HashMap (java.util.HashMap)24 ValueUnit (com.vmware.flowgate.common.model.ValueUnit)23 Test (org.junit.Test)23 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)23 Asset (com.vmware.flowgate.common.model.Asset)16 RealTimeData (com.vmware.flowgate.common.model.RealTimeData)16 TranslateContext (com.vmware.flowgate.common.model.TranslateContext)13 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)13 MvcResult (org.springframework.test.web.servlet.MvcResult)8 Map (java.util.Map)7 List (java.util.List)6 FieldDescriptor (org.springframework.restdocs.payload.FieldDescriptor)4 HashSet (java.util.HashSet)3 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1 AssetIPMapping (com.vmware.flowgate.common.model.AssetIPMapping)1 IntegrationStatus (com.vmware.flowgate.common.model.IntegrationStatus)1 ServerMapping (com.vmware.flowgate.common.model.ServerMapping)1 MetricClient (com.vmware.flowgate.vroworker.vro.MetricClient)1