From d8424ef4e21880f5dc97131b0adb89509586031c Mon Sep 17 00:00:00 2001 From: deepikasatheesh Date: Tue, 30 Aug 2022 08:48:17 +0000 Subject: Implement Network slicing KPI Monitoring for new KPI Issue-ID: USECASEUI-715 Signed-off-by: deepikasatheesh Change-Id: Ic02250ea79b6e0894ae2b0218bb22fbf1828744d --- .../bean/nsmf/monitor/PDUSessionEstSRInfo.java | 30 +++++++++++ .../nsmf/monitor/ServicePDUSessionEstSRInfo.java | 32 ++++++++++++ .../nsmf/monitor/ServicePDUSessionEstSRList.java | 30 +++++++++++ .../controller/nsmf/ResourceMonitorController.java | 9 ++++ .../service/nsmf/ResourceMonitorService.java | 2 + .../nsmf/impl/ResourceMonitorServiceConvert.java | 29 +++++++++++ .../nsmf/impl/ResourceMonitorServiceImpl.java | 56 ++++++++++++++++++++ .../service/slicingdomain/kpi/KpiSliceService.java | 5 ++ .../slicingdomain/kpi/bean/KpiPDUSessionEstSR.java | 35 +++++++++++++ .../slicingdomain/kpi/bean/PDUSessionEstSR.java | 38 ++++++++++++++ .../bean/nsmf/monitor/PDUSessionEstSRInfoTest.java | 43 ++++++++++++++++ .../monitor/ServicePDUSessionEstSRInfoTest.java | 53 +++++++++++++++++++ .../monitor/ServicePDUSessionEstSRListTest.java | 59 ++++++++++++++++++++++ .../nsmf/ResourceMonitorControllerTest.java | 17 +++++++ .../impl/ResourceMonitorServiceConvertTest.java | 34 +++++++++++++ .../nsmf/impl/ResourceMonitorServiceImplTest.java | 15 ++++++ .../kpi/bean/KpiPDUSessionEstSRTest.java | 56 ++++++++++++++++++++ .../kpi/bean/PDUSessionEstSRTest.java | 42 +++++++++++++++ 18 files changed, 585 insertions(+) create mode 100644 server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfo.java create mode 100644 server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfo.java create mode 100644 server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRList.java create mode 100644 server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSR.java create mode 100644 server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSR.java create mode 100644 server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfoTest.java create mode 100644 server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfoTest.java create mode 100644 server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRListTest.java create mode 100644 server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSRTest.java create mode 100644 server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSRTest.java 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 index 00000000..c60533de --- /dev/null +++ b/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfo.java @@ -0,0 +1,30 @@ +/* + * 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 com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class PDUSessionEstSRInfo { + + private String timestamp; + + private String pduSessionEstSR; + +} 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 index 00000000..0c71346a --- /dev/null +++ b/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfo.java @@ -0,0 +1,32 @@ +/* + * 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 com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ServicePDUSessionEstSRInfo { + + @JsonProperty("service_id") + private String id; + + private List pDUSessionEstSRInfoList; + +} 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 index 00000000..f87e2fdf --- /dev/null +++ b/server/src/main/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRList.java @@ -0,0 +1,30 @@ +/* + * 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 com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ServicePDUSessionEstSRList { + + @JsonProperty("slicing_pDUSessionEstSR_list") + private List servicePDUSessionEstSRInfoList; + +} diff --git a/server/src/main/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorController.java b/server/src/main/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorController.java index 2819b115..8f35b68b 100644 --- a/server/src/main/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorController.java +++ b/server/src/main/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorController.java @@ -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); + } } diff --git a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/ResourceMonitorService.java b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/ResourceMonitorService.java index 7a2a249e..19f4e234 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/ResourceMonitorService.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/ResourceMonitorService.java @@ -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); } diff --git a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvert.java b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvert.java index 64e12846..227ce2f7 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvert.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvert.java @@ -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 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); + } } diff --git a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java index c9c16041..57de5338 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java @@ -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 servicePDUSessionEstSRInfoList = new ArrayList<>(); + List 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 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; + } } diff --git a/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/KpiSliceService.java b/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/KpiSliceService.java index 084616be..9522b45f 100644 --- a/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/KpiSliceService.java +++ b/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/KpiSliceService.java @@ -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 listTotalTraffic(@Body RequestBody body); + @Headers({"Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==", "Accept: application/json"}) + @POST("/api/datalake/v1/exposure/pDUSessionEstSR") + Call 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 index 00000000..1a41f262 --- /dev/null +++ b/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSR.java @@ -0,0 +1,35 @@ +/** + * 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 com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.util.List; +import lombok.Getter; +import lombok.Setter; +import org.onap.usecaseui.server.bean.nsmf.monitor.SlicingKpiReqInfo; + +@Getter +@Setter +@JsonIgnoreProperties(ignoreUnknown=true) +public class KpiPDUSessionEstSR { + + private List result; + + private SlicingKpiReqInfo request; + + private int result_count; + +} 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 index 00000000..73da0f46 --- /dev/null +++ b/server/src/main/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSR.java @@ -0,0 +1,38 @@ +/* + * 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; + +public class PDUSessionEstSR { + private String timeStamp; + + private int pDUSessionEstSR; + + public String getTimeStamp() { + return timeStamp; + } + + public void setTimeStamp(String timeStamp) { + this.timeStamp = timeStamp; + } + + public int getPDUSessionEstSR() { + return pDUSessionEstSR; + } + + public void setPDUSessionEstSR(int pDUSessionEstSR) { + this.pDUSessionEstSR = pDUSessionEstSR; + } +} 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 index 00000000..20eb4b35 --- /dev/null +++ b/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/PDUSessionEstSRInfoTest.java @@ -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 index 00000000..be75fbcc --- /dev/null +++ b/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRInfoTest.java @@ -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 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 index 00000000..49593dd0 --- /dev/null +++ b/server/src/test/java/org/onap/usecaseui/server/bean/nsmf/monitor/ServicePDUSessionEstSRListTest.java @@ -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 servicePDUSessionEstSRInfoList = new ArrayList<>(); + + ServicePDUSessionEstSRInfo servicePDUSessionEstSRInfo = new ServicePDUSessionEstSRInfo(); + + List 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(); + + } + +} diff --git a/server/src/test/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorControllerTest.java b/server/src/test/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorControllerTest.java index 451852a1..0371187e 100644 --- a/server/src/test/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorControllerTest.java +++ b/server/src/test/java/org/onap/usecaseui/server/controller/nsmf/ResourceMonitorControllerTest.java @@ -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 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); + } } diff --git a/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvertTest.java b/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvertTest.java index 13869751..8d0e9db4 100644 --- a/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvertTest.java +++ b/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceConvertTest.java @@ -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 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(); + } + } + } diff --git a/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImplTest.java b/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImplTest.java index 19ca5dbb..1352309f 100644 --- a/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImplTest.java +++ b/server/src/test/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImplTest.java @@ -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 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 index 00000000..933bcff3 --- /dev/null +++ b/server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/KpiPDUSessionEstSRTest.java @@ -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 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 index 00000000..9b2db5d5 --- /dev/null +++ b/server/src/test/java/org/onap/usecaseui/server/service/slicingdomain/kpi/bean/PDUSessionEstSRTest.java @@ -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(); + } + +} -- cgit 1.2.3-korg