Implement Network slicing KPI Monitoring for new KPI 04/130504/1 5.1.0
authordeepikasatheesh <deepika.s84@wipro.com>
Tue, 30 Aug 2022 08:48:17 +0000 (08:48 +0000)
committerdeepikasatheesh <deepika.s84@wipro.com>
Tue, 30 Aug 2022 08:49:18 +0000 (08:49 +0000)
Issue-ID: USECASEUI-715
Signed-off-by: deepikasatheesh <deepika.s84@wipro.com>
Change-Id: Ic02250ea79b6e0894ae2b0218bb22fbf1828744d

18 files changed:
server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfo.java [new file with mode: 0644]
server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfo.java [new file with mode: 0644]
server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRList.java [new file with mode: 0644]
server/src/main/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorController.java
server/src/main/java/org/onap/usecaseui/server/service/nsmf/ResourceMonitorService.java
server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvert.java
server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/KpiSliceService.java
server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSR.java [new file with mode: 0644]
server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSR.java [new file with mode: 0644]
server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfoTest.java [new file with mode: 0644]
server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfoTest.java [new file with mode: 0644]
server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRListTest.java [new file with mode: 0644]
server/src/test/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorControllerTest.java
server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvertTest.java
server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImplTest.java
server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSRTest.java [new file with mode: 0644]
server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSRTest.java [new file with mode: 0644]

diff --git a/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfo.java b/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfo.java
new file mode 100644 (file)
index 0000000..c60533d
--- /dev/null
@@ -0,0 +1,30 @@
+/*\r
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.onap.usecaseui.server.bean.nsmf.monitor;\r
+\r
+import com.fasterxml.jackson.annotation.JsonProperty;\r
+import lombok.Getter;\r
+import lombok.Setter;\r
+\r
+@Getter\r
+@Setter\r
+public class PDUSessionEstSRInfo {\r
+    \r
+    private String timestamp;\r
+\r
+    private String pduSessionEstSR;\r
+\r
+}\r
diff --git a/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfo.java b/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfo.java
new file mode 100644 (file)
index 0000000..0c71346
--- /dev/null
@@ -0,0 +1,32 @@
+/*\r
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.onap.usecaseui.server.bean.nsmf.monitor;\r
+\r
+import com.fasterxml.jackson.annotation.JsonProperty;\r
+import java.util.List;\r
+import lombok.Getter;\r
+import lombok.Setter;\r
+\r
+@Getter\r
+@Setter\r
+public class ServicePDUSessionEstSRInfo {\r
+\r
+    @JsonProperty("service_id")\r
+    private String id;\r
+\r
+    private List<PDUSessionEstSRInfo> pDUSessionEstSRInfoList;\r
+    \r
+}\r
diff --git a/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRList.java b/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRList.java
new file mode 100644 (file)
index 0000000..f87e2fd
--- /dev/null
@@ -0,0 +1,30 @@
+/*\r
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.onap.usecaseui.server.bean.nsmf.monitor;\r
+\r
+import com.fasterxml.jackson.annotation.JsonProperty;\r
+import java.util.List;\r
+import lombok.Getter;\r
+import lombok.Setter;\r
+\r
+@Getter\r
+@Setter\r
+public class ServicePDUSessionEstSRList {\r
+    \r
+    @JsonProperty("slicing_pDUSessionEstSR_list")\r
+    private List<ServicePDUSessionEstSRInfo> servicePDUSessionEstSRInfoList;\r
+\r
+}\r
index 2819b11..8f35b68 100644 (file)
@@ -68,4 +68,13 @@ public class ResourceMonitorController {
             ServiceList serviceList) {
         return resourceMonitorService.querySlicingTotalBandwidth(queryTimestamp, serviceList);
     }
+
+    @ResponseBody
+    @PostMapping(value = {
+        "/queryTimestamp/{queryTimestamp}/pDUSessionEstSR"}, produces = "application/json")
+    public ServiceResult querySlicingPDUSessionEstSR(@PathVariable(value = "queryTimestamp") String queryTimestamp,
+        @RequestBody
+            ServiceList serviceList) {
+        return resourceMonitorService.querySlicingPDUSessionEstSR(queryTimestamp, serviceList);
+    }
 }
index 7a2a249..19f4e23 100644 (file)
@@ -25,4 +25,6 @@ public interface ResourceMonitorService {
     ServiceResult querySlicingOnlineUserNumber(String queryTimestamp, ServiceList serviceList);
 
     ServiceResult querySlicingTotalBandwidth(String queryTimestamp, ServiceList serviceList);
+
+    ServiceResult querySlicingPDUSessionEstSR(String queryTimestamp, ServiceList serviceList);
 }
index 64e1284..227ce2f 100644 (file)
@@ -27,12 +27,16 @@ import org.onap.usecaseui.server.bean.nsmf.monitor.TotalBandwidthInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.TrafficReqInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.UsageTrafficInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.UserNumberInfo;
+import org.onap.usecaseui.server.bean.nsmf.monitor.ServicePDUSessionEstSRInfo;
+import org.onap.usecaseui.server.bean.nsmf.monitor.PDUSessionEstSRInfo;
 import org.onap.usecaseui.server.constant.nsmf.NsmfParamConstant;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalBandwidth;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalTraffic;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiUserNumber;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.TotalBandwidth;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.UserNumbers;
+import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiPDUSessionEstSR;
+import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.PDUSessionEstSR;
 import org.onap.usecaseui.server.util.nsmf.NsmfCommonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -66,6 +70,14 @@ public class ResourceMonitorServiceConvert {
         return slicingKpiReqInfo;
     }
 
+    SlicingKpiReqInfo buildSlicingPDUSessionEstSRKpiReqInfo(ServiceInfo serviceInfo, String queryTimestamp, int kpiHours) {
+        SlicingKpiReqInfo slicingKpiReqInfo = new SlicingKpiReqInfo();
+        slicingKpiReqInfo.setId("PDUSessionEstSR"+"."+serviceInfo.getServiceId());
+        slicingKpiReqInfo.setTimeStamp(queryTimestamp);
+        slicingKpiReqInfo.setHours(kpiHours);
+        return slicingKpiReqInfo;
+    }
+
     void convertServiceOnlineUserInfo(ServiceOnlineUserInfo serviceOnlineUserInfo, KpiUserNumber kpiUserNumber)
         throws InvocationTargetException, IllegalAccessException, ParseException {
 
@@ -105,4 +117,21 @@ public class ResourceMonitorServiceConvert {
 
         serviceTotalBandwidthInfo.setTotalBandwidthInfoList(totalBandwidthInfoList);
     }
+
+    void convertServicePDUSessionEstSRInfo(ServicePDUSessionEstSRInfo servicePDUSessionEstSRInfo,
+        KpiPDUSessionEstSR kpiPDUSessionEstSR)
+        throws InvocationTargetException, IllegalAccessException, ParseException {
+
+        List<PDUSessionEstSRInfo> kpiPDUSessionEstSRInfoList = new ArrayList<>();
+        servicePDUSessionEstSRInfo.setId(kpiPDUSessionEstSR.getRequest().getId().substring(kpiPDUSessionEstSR.getRequest().getId().lastIndexOf(".") + 1));
+        if (kpiPDUSessionEstSR.getResult() != null) {
+            for (PDUSessionEstSR pDUSessionEstSR : kpiPDUSessionEstSR.getResult()) {
+                PDUSessionEstSRInfo kpiPDUSessionEstSRInfo = new PDUSessionEstSRInfo();
+                kpiPDUSessionEstSRInfo.setTimestamp(pDUSessionEstSR.getTimeStamp());
+                kpiPDUSessionEstSRInfo.setPduSessionEstSR(String.valueOf(pDUSessionEstSR.getPDUSessionEstSR()));
+                kpiPDUSessionEstSRInfoList.add(kpiPDUSessionEstSRInfo);
+            }
+        }
+        servicePDUSessionEstSRInfo.setPDUSessionEstSRInfoList(kpiPDUSessionEstSRInfoList);
+    }
 }
index c9c1604..57de533 100644 (file)
@@ -34,7 +34,9 @@ import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceList;
 import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceOnlineUserInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceOnlineUserList;
 import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceTotalBandwidthInfo;
+import org.onap.usecaseui.server.bean.nsmf.monitor.ServicePDUSessionEstSRInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceTotalBandwidthList;
+import org.onap.usecaseui.server.bean.nsmf.monitor.ServicePDUSessionEstSRList;
 import org.onap.usecaseui.server.bean.nsmf.monitor.SlicingKpiReqInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.TrafficReqInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.UsageTrafficInfo;
@@ -46,6 +48,7 @@ import org.onap.usecaseui.server.service.slicingdomain.kpi.KpiSliceService;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalBandwidth;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalTraffic;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiUserNumber;
+import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiPDUSessionEstSR;
 import org.onap.usecaseui.server.util.RestfulServices;
 import org.onap.usecaseui.server.util.nsmf.NsmfCommonUtil;
 import org.slf4j.Logger;
@@ -250,4 +253,57 @@ public class ResourceMonitorServiceImpl implements ResourceMonitorService {
         serviceResult.setResult_body(serviceTotalBandwidthList);
         return serviceResult;
     }
+
+    @Override
+    public ServiceResult querySlicingPDUSessionEstSR(String queryTimestamp, ServiceList serviceList) {
+        ServiceResult serviceResult = new ServiceResult();
+        ResultHeader resultHeader = new ResultHeader();
+        initConfig();
+        ServicePDUSessionEstSRList servicePDUSessionEstSRList = new ServicePDUSessionEstSRList();
+
+        List<ServicePDUSessionEstSRInfo> servicePDUSessionEstSRInfoList = new ArrayList<>();
+        List<ServiceInfo> serviceInfoList = serviceList.getServiceInfoList();
+
+        String resultMsg = "";
+
+        try {
+            for (ServiceInfo serviceInfo : serviceInfoList) {
+                SlicingKpiReqInfo slicingKpiReqInfo = resourceMonitorServiceConvert
+                    .buildSlicingPDUSessionEstSRKpiReqInfo(serviceInfo, queryTimestamp, kpiHours);
+                String jsonstr = JSON.toJSONString(slicingKpiReqInfo);
+                RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonstr);
+                Response<KpiPDUSessionEstSR> response =this.kpiSliceService.listPDUSessionEstSR(requestBody).execute();
+                if (response.isSuccessful()) {
+                    KpiPDUSessionEstSR kpiPDUSessionEstSR = response.body();
+                    logger.info("querySlicingPDUSessionEstSR: listPDUSessionEstSR reponse is:{}",
+                        gson.toJson(kpiPDUSessionEstSR));
+                    ServicePDUSessionEstSRInfo servicePDUSessionEstSRInfo = new ServicePDUSessionEstSRInfo();
+                    resourceMonitorServiceConvert
+                        .convertServicePDUSessionEstSRInfo(servicePDUSessionEstSRInfo, kpiPDUSessionEstSR);
+                    servicePDUSessionEstSRInfoList.add(servicePDUSessionEstSRInfo);
+                    resultMsg = "5G slicing service PDUSessionEstSR query result.";
+                    resultHeader.setResult_code(NsmfCodeConstant.SUCCESS_CODE);
+                } else {
+                    logger.error(String
+                        .format("querySlicingPDUSessionEstSR: Can not get KpiUserNumber[code={}, message={}]",
+                            response.code(),
+                            response.message()));
+                    resultMsg = "5G slicing PDUSessionEstSR query failed!";
+                    resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+                }
+            }
+        } catch (Exception e) {
+            resultMsg = "5G slicing PDUSessionEstSR query failed. Unknown exception occurred!";
+            resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+            logger.error("Exception in querySlicingPDUSessionEstSR :{}",e);
+        }
+
+        logger.info(resultMsg);
+        logger.info("querySlicingPDUSessionEstSR: 5G slicing kpiPDUSessionEstSR query has been finished.");
+        servicePDUSessionEstSRList.setServicePDUSessionEstSRInfoList(servicePDUSessionEstSRInfoList);
+        resultHeader.setResult_message(resultMsg);
+        serviceResult.setResult_header(resultHeader);
+        serviceResult.setResult_body(servicePDUSessionEstSRList);
+        return serviceResult;
+    }
 }
index 084616b..9522b45 100644 (file)
@@ -19,6 +19,7 @@ package org.onap.usecaseui.server.service.slicingdomain.kpi;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalBandwidth;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalTraffic;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiUserNumber;
+import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiPDUSessionEstSR;
 import okhttp3.RequestBody;
 import retrofit2.Call;
 import retrofit2.http.Body;
@@ -39,4 +40,8 @@ public interface KpiSliceService {
     @POST("/api/datalake/v1/exposure/totalTraffic")
     Call<KpiTotalTraffic> listTotalTraffic(@Body RequestBody body);
 
+    @Headers({"Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", "Accept: application/json"})
+    @POST("/api/datalake/v1/exposure/pDUSessionEstSR")
+    Call<KpiPDUSessionEstSR> listPDUSessionEstSR(@Body RequestBody body);
+
 }
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSR.java b/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSR.java
new file mode 100644 (file)
index 0000000..1a41f26
--- /dev/null
@@ -0,0 +1,35 @@
+/**\r
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.onap.usecaseui.server.service.slicingdomain.kpi.bean;\r
+\r
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;\r
+import java.util.List;\r
+import lombok.Getter;\r
+import lombok.Setter;\r
+import org.onap.usecaseui.server.bean.nsmf.monitor.SlicingKpiReqInfo;\r
+\r
+@Getter\r
+@Setter\r
+@JsonIgnoreProperties(ignoreUnknown=true)\r
+public class KpiPDUSessionEstSR {\r
+\r
+    private List<PDUSessionEstSR> result;\r
+\r
+    private SlicingKpiReqInfo request;\r
+\r
+       private int result_count;\r
+    \r
+}\r
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSR.java b/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSR.java
new file mode 100644 (file)
index 0000000..73da0f4
--- /dev/null
@@ -0,0 +1,38 @@
+/*\r
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+package org.onap.usecaseui.server.service.slicingdomain.kpi.bean;\r
+\r
+public class PDUSessionEstSR {\r
+    private String timeStamp;\r
+\r
+    private int pDUSessionEstSR;\r
+\r
+    public String getTimeStamp() {\r
+        return timeStamp;\r
+    }\r
+\r
+    public void setTimeStamp(String timeStamp) {\r
+        this.timeStamp = timeStamp;\r
+    }\r
+\r
+    public int getPDUSessionEstSR() {\r
+        return pDUSessionEstSR;\r
+    }\r
+\r
+    public void setPDUSessionEstSR(int pDUSessionEstSR) {\r
+        this.pDUSessionEstSR = pDUSessionEstSR;\r
+    }\r
+}\r
diff --git a/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfoTest.java b/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfoTest.java
new file mode 100644 (file)
index 0000000..20eb4b3
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.server.bean.nsmf.monitor;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.jupiter.api.Test;
+
+public class PDUSessionEstSRInfoTest {
+
+       @Before
+    public void before() throws Exception {
+    }
+
+    @After
+    public void after() throws Exception {
+    }
+
+    @Test
+    public void testSetAndGetPDUSessionEstSRInfo() throws Exception {
+        
+        PDUSessionEstSRInfo pDUSessionEstSRInfo = new PDUSessionEstSRInfo();
+        pDUSessionEstSRInfo.setPduSessionEstSR("188");
+        pDUSessionEstSRInfo.setTimestamp("1576143554000");
+        
+        pDUSessionEstSRInfo.getPduSessionEstSR();
+        pDUSessionEstSRInfo.getTimestamp();
+    }
+
+}
diff --git a/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfoTest.java b/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfoTest.java
new file mode 100644 (file)
index 0000000..be75fbc
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.server.bean.nsmf.monitor;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.jupiter.api.Test;
+
+public class ServicePDUSessionEstSRInfoTest {
+
+        @Before
+           public void before() throws Exception {
+           }
+
+           @After
+           public void after() throws Exception {
+           }
+
+           @Test
+           public void testSetAndGetServicePDUSessionEstSRInfo() throws Exception {
+
+               ServicePDUSessionEstSRInfo servicePDUSessionEstSRInfo = new ServicePDUSessionEstSRInfo();
+
+               List<PDUSessionEstSRInfo> pDUSessionEstSRInfoList = new ArrayList<>();
+               
+               PDUSessionEstSRInfo pDUSessionEstSRInfo = new PDUSessionEstSRInfo();
+               pDUSessionEstSRInfo.setPduSessionEstSR("188");
+               pDUSessionEstSRInfo.setTimestamp("1576143554000");
+               pDUSessionEstSRInfoList.add(pDUSessionEstSRInfo);
+               
+               servicePDUSessionEstSRInfo.setId("01000001");
+               servicePDUSessionEstSRInfo.setPDUSessionEstSRInfoList(pDUSessionEstSRInfoList);
+               
+               servicePDUSessionEstSRInfo.getId();
+               servicePDUSessionEstSRInfo.getPDUSessionEstSRInfoList();
+           }
+
+}
diff --git a/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRListTest.java b/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRListTest.java
new file mode 100644 (file)
index 0000000..49593dd
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.server.bean.nsmf.monitor;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.jupiter.api.Test;
+
+public class ServicePDUSessionEstSRListTest {
+
+       @Before
+    public void before() throws Exception {
+    }
+
+    @After
+    public void after() throws Exception {
+    }
+
+    @Test
+    public void testSetAndGetServicePDUSessionEstSRList() throws Exception {
+
+       ServicePDUSessionEstSRList servicePDUSessionEstSRList = new ServicePDUSessionEstSRList();
+        List<ServicePDUSessionEstSRInfo> servicePDUSessionEstSRInfoList = new ArrayList<>();
+
+        ServicePDUSessionEstSRInfo servicePDUSessionEstSRInfo = new ServicePDUSessionEstSRInfo();
+        
+        List<PDUSessionEstSRInfo> pDUSessionEstSRInfoList = new ArrayList<>();
+        
+        PDUSessionEstSRInfo pDUSessionEstSRInfo = new PDUSessionEstSRInfo();
+        pDUSessionEstSRInfo.setPduSessionEstSR("188");
+        pDUSessionEstSRInfo.setTimestamp("1576143554000");
+        pDUSessionEstSRInfoList.add(pDUSessionEstSRInfo);
+        
+        servicePDUSessionEstSRInfo.setId("01000001");
+        servicePDUSessionEstSRInfo.setPDUSessionEstSRInfoList(pDUSessionEstSRInfoList);
+
+        servicePDUSessionEstSRInfoList.add(servicePDUSessionEstSRInfo);
+        servicePDUSessionEstSRList.setServicePDUSessionEstSRInfoList(servicePDUSessionEstSRInfoList);
+
+        servicePDUSessionEstSRList.getServicePDUSessionEstSRInfoList();
+
+    }
+
+}
index 451852a..0371187 100644 (file)
@@ -80,4 +80,21 @@ public class ResourceMonitorControllerTest {
         resourceMonitorController.querySlicingTotalBandwidth("1577016963000", serviceList);
         verify(resourceMonitorService, times(1)).querySlicingTotalBandwidth("1577016963000", serviceList);
     }
+
+    @Test
+    public void testQuerySlicingPDUSessionEstSR() {
+        ResourceMonitorService resourceMonitorService = mock(ResourceMonitorService.class);
+        ResourceMonitorController resourceMonitorController = new ResourceMonitorController();
+        resourceMonitorController.setResourceMonitorService(resourceMonitorService);
+
+        ServiceList serviceList = new ServiceList();
+        List<ServiceInfo> serviceInfoList = new ArrayList<>();
+        ServiceInfo serviceInfo = new ServiceInfo();
+        serviceInfo.setServiceId("1234-9067-4356-9876");
+        serviceInfoList.add(serviceInfo);
+        serviceList.setServiceInfoList(serviceInfoList);
+
+        resourceMonitorController.querySlicingTotalBandwidth("1577016963000", serviceList);
+        verify(resourceMonitorService, times(1)).querySlicingPDUSessionEstSR("1577016963000", serviceList);
+    }
 }
index 1386975..8d0e9db 100644 (file)
@@ -23,13 +23,16 @@ import org.junit.Before;
 import org.junit.Test;
 import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceOnlineUserInfo;
+import org.onap.usecaseui.server.bean.nsmf.monitor.ServicePDUSessionEstSRInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceTotalBandwidthInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.SlicingKpiReqInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.TrafficReqInfo;
 import org.onap.usecaseui.server.bean.nsmf.monitor.UsageTrafficInfo;
+import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiPDUSessionEstSR;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalBandwidth;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalTraffic;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiUserNumber;
+import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.PDUSessionEstSR;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.TotalBandwidth;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.TotalTraffic;
 import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.UserNumbers;
@@ -137,4 +140,35 @@ public class ResourceMonitorServiceConvertTest {
         }
     }
 
+    @Test
+    public void itCanConvertconvertServicePDUSessionEstSRInfo() {
+       ServicePDUSessionEstSRInfo servicePDUSessionEstSRInfo = new ServicePDUSessionEstSRInfo();
+       KpiPDUSessionEstSR kpiPDUSessionEstSR = new KpiPDUSessionEstSR();
+
+        List<PDUSessionEstSR> kpiPDUSessionEstSRInfoList = new ArrayList<>();
+        PDUSessionEstSR kpiPDUSessionEstSRInfo = new PDUSessionEstSR();
+        kpiPDUSessionEstSRInfo.setPDUSessionEstSR(100);
+        kpiPDUSessionEstSRInfo.setTimeStamp("2019-12-23 11:31:19");
+        kpiPDUSessionEstSRInfoList.add(kpiPDUSessionEstSRInfo);
+        kpiPDUSessionEstSR.setResult(kpiPDUSessionEstSRInfoList);
+
+
+        SlicingKpiReqInfo slicingKpiReqInfo = new SlicingKpiReqInfo();
+        slicingKpiReqInfo.setTimeStamp("2019-12-23 11:31:19");
+        slicingKpiReqInfo.setId("112233");
+        slicingKpiReqInfo.setHours(4);
+        kpiPDUSessionEstSR.setRequest(slicingKpiReqInfo);
+
+        try {
+            resourceMonitorServiceConvert
+                .convertServicePDUSessionEstSRInfo(servicePDUSessionEstSRInfo, kpiPDUSessionEstSR);
+        } catch (InvocationTargetException e) {
+            e.printStackTrace();
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+    }
+
 }
index 19ca5db..1352309 100644 (file)
@@ -143,4 +143,19 @@ public class ResourceMonitorServiceImplTest {
         when(kpiSliceService.listTotalBandwidth(body)).thenReturn(failedCall("kpi is not exist!"));
         resourceMonitorService.querySlicingTotalBandwidth(queryTimestamp, serviceList);
     }
+
+    @Test
+    public void querySlicingPDUSessionEstSRWithThrowsException() {
+        ServiceList serviceList = new ServiceList();
+        List<ServiceInfo> serviceInfoList = new ArrayList<>();
+        ServiceInfo serviceInfo = new ServiceInfo();
+        serviceInfo.setServiceId("123e-456t-567t-yui8");
+        serviceInfoList.add(serviceInfo);
+        serviceList.setServiceInfoList(serviceInfoList);
+        String queryTimestamp = "1577071879000";
+
+        RequestBody body = null;
+        when(kpiSliceService.listPDUSessionEstSR(body)).thenReturn(failedCall("kpi is not exist!"));
+        resourceMonitorService.querySlicingPDUSessionEstSR(queryTimestamp, serviceList);
+    }
 }
diff --git a/server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSRTest.java b/server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSRTest.java
new file mode 100644 (file)
index 0000000..933bcff
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.server.service.slicingdomain.kpi.bean;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.jupiter.api.Test;
+import org.onap.usecaseui.server.bean.nsmf.monitor.SlicingKpiReqInfo;
+
+class KpiPDUSessionEstSRTest {
+
+       @Before
+    public void before() throws Exception {
+    }
+
+    @After
+    public void after() throws Exception {
+    }
+
+    @Test
+    public void testSetAndGetKpiPDUSessionEstSR() throws Exception {
+       
+       KpiPDUSessionEstSR kpiPDUSessionEstSR = new KpiPDUSessionEstSR();
+               
+       List<PDUSessionEstSR> pDUSessionEstSRList = new ArrayList<>();
+       PDUSessionEstSR pDUSessionEstSR = new PDUSessionEstSR();
+       pDUSessionEstSR.setTimeStamp("12345634456");
+       pDUSessionEstSR.setPDUSessionEstSR(123);
+
+       pDUSessionEstSRList.add(pDUSessionEstSR);
+       kpiPDUSessionEstSR.setResult(pDUSessionEstSRList);
+        SlicingKpiReqInfo slicingKpiReqInfo = new SlicingKpiReqInfo();
+        kpiPDUSessionEstSR.setRequest(slicingKpiReqInfo);
+        kpiPDUSessionEstSR.setResult_count(1);
+
+        kpiPDUSessionEstSR.getResult();
+        kpiPDUSessionEstSR.getRequest();
+        kpiPDUSessionEstSR.getResult_count();
+    }
+
+}
diff --git a/server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSRTest.java b/server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSRTest.java
new file mode 100644 (file)
index 0000000..9b2db5d
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2022 Wipro Limited. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.server.service.slicingdomain.kpi.bean;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.jupiter.api.Test;
+
+public class PDUSessionEstSRTest {
+
+        @Before
+           public void before() throws Exception {
+           }
+
+           @After
+           public void after() throws Exception {
+           }
+
+           @Test
+           public void testSetAndGetPDUSessionEstSR() throws Exception {
+               PDUSessionEstSR pDUSessionEstSR = new PDUSessionEstSR();
+               pDUSessionEstSR.setTimeStamp("12345634456");
+               pDUSessionEstSR.setPDUSessionEstSR(123);
+               
+               pDUSessionEstSR.getTimeStamp();
+               pDUSessionEstSR.getPDUSessionEstSR();           
+           }
+
+}