Development of NETCONF RPCs for tr-069 adapter to
[oam/tr069-adapter.git] / mapper / src / test / java / org / commscope / tr069adapter / mapper / NetConfServerManagerTest.java
index 76bd4ba..45315b1 100644 (file)
-/*\r
- * ============LICENSE_START========================================================================\r
- * ONAP : tr-069-adapter\r
- * =================================================================================================\r
- * Copyright (C) 2020 CommScope Inc Intellectual Property.\r
- * =================================================================================================\r
- * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,\r
- * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You\r
- * may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\r
- * either express or implied. See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ===============LICENSE_END=======================================================================\r
- */\r
-\r
-package org.commscope.tr069adapter.mapper;\r
-\r
-import java.util.ArrayList;\r
-\r
-import org.commscope.tr069adapter.acs.common.DeviceDetails;\r
-import org.commscope.tr069adapter.acs.common.DeviceInform;\r
-import org.commscope.tr069adapter.acs.common.InformType;\r
-import org.commscope.tr069adapter.acs.common.ParameterDTO;\r
-import org.commscope.tr069adapter.acs.common.dto.TR069InformType;\r
-import org.commscope.tr069adapter.acs.common.inform.BootstrapInform;\r
-import org.commscope.tr069adapter.mapper.boot.MapperServiceBooter;\r
-import org.commscope.tr069adapter.mapper.model.NetConfServerDetails;\r
-import org.commscope.tr069adapter.mapper.model.VESNotificationResponse;\r
-import org.commscope.tr069adapter.mapper.netconf.NetConfNotificationSender;\r
-import org.commscope.tr069adapter.mapper.netconf.NetConfServerManager;\r
-import org.commscope.tr069adapter.mapper.ves.VESNotificationSender;\r
-import org.junit.Assert;\r
-import org.junit.Test;\r
-import org.junit.runner.RunWith;\r
-import org.mockito.Mockito;\r
-import org.springframework.beans.factory.annotation.Autowired;\r
-import org.springframework.boot.test.context.SpringBootTest;\r
-import org.springframework.boot.test.mock.mockito.MockBean;\r
-import org.springframework.http.HttpStatus;\r
-import org.springframework.http.ResponseEntity;\r
-import org.springframework.test.context.junit4.SpringRunner;\r
-import org.springframework.web.client.RestTemplate;\r
-\r
-@SpringBootTest(classes = {MapperServiceBooter.class})\r
-@RunWith(SpringRunner.class)\r
-public class NetConfServerManagerTest {\r
-\r
-  @Autowired\r
-  NetConfServerManager server;\r
-\r
-  @Autowired\r
-  NetConfNotificationSender nfSender;\r
-\r
-  @Autowired\r
-  VESNotificationSender vesSender;\r
-\r
-  @MockBean\r
-  RestTemplate restTemplate;\r
-\r
-  @Test\r
-  public void createServerTest() {\r
-    ResponseEntity<Object> res = new ResponseEntity<Object>(\r
-        new NetConfServerDetails("0005B9A1", "10.221.55.14", "17830"), HttpStatus.ACCEPTED);\r
-    Mockito.when(\r
-        restTemplate.postForEntity(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))\r
-        .thenReturn(res);\r
-    NetConfServerDetails nfDetails = server.createNetconfServer("0005B9A1", "EnodB1", "4.3.0.0", "*");\r
-\r
-    Assert.assertNotNull(nfDetails);\r
-    Assert.assertEquals("17830", nfDetails.getListenPort());\r
-  }\r
-\r
-  @Test\r
-  public void createServerFailureWithRestCallTest() {\r
-    NetConfServerDetails nfDetails = server.createNetconfServer("0005B9A1", "EnodB1", "4.3.0.0", "*");\r
-    Assert.assertNull(nfDetails);\r
-  }\r
-\r
-  @Test\r
-  public void sendNotificaionTest() {\r
-    ResponseEntity res = new ResponseEntity<>(HttpStatus.ACCEPTED);\r
-    Mockito.when(\r
-        restTemplate.postForObject(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))\r
-        .thenReturn(res);\r
-    DeviceInform inform = new BootstrapInform();\r
-    inform.setDeviceDetails(getDeviceDetails());\r
-    ArrayList<InformType> list = new ArrayList<>();\r
-    list.add(TR069InformType.BOOTSTRAP);\r
-    inform.setInformTypeList(list);\r
-    inform.setParameters(getGeneralParams());\r
-    ResponseEntity response = nfSender.sendNotification(inform);\r
-    Assert.assertNotNull(response);\r
-    Assert.assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());\r
-  }\r
-\r
-  @Test\r
-  public void sendNotificaionInformNullTest() {\r
-    ResponseEntity res = new ResponseEntity<>(HttpStatus.ACCEPTED);\r
-    Mockito.when(\r
-        restTemplate.postForObject(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))\r
-        .thenReturn(res);\r
-    ResponseEntity response = nfSender.sendNotification(null);\r
-    Assert.assertNull(response);\r
-  }\r
-\r
-  @Test\r
-  public void sendVesEventTest() {\r
-\r
-    Mockito.when(\r
-        restTemplate.postForObject(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))\r
-        .thenReturn(new VESNotificationResponse(202, "sucess"));\r
-\r
-    DeviceInform inform = new BootstrapInform();\r
-    inform.setDeviceDetails(getDeviceDetails());\r
-    ArrayList<InformType> list = new ArrayList<InformType>();\r
-    list.add(TR069InformType.BOOTSTRAP);\r
-    inform.setInformTypeList(list);\r
-    inform.setParameters(getGeneralParams());\r
-    VESNotificationResponse response = vesSender.sendNotification(inform,\r
-        new NetConfServerDetails("0005B9A1", "10.221.55.14", "17830"));\r
-    Assert.assertNotNull(response);\r
-    Assert.assertEquals(202, response.getStatusCode());\r
-  }\r
-\r
-  private ArrayList<ParameterDTO> getGeneralParams() {\r
-    ArrayList<ParameterDTO> params = new ArrayList<>();\r
-    params.add(new ParameterDTO("Device.DeviceInfo.ManufacturerOUI", "0005B9"));\r
-    params.add(new ParameterDTO("Device.DeviceInfo.ProductClass", "LTE_Enterprise_C-RANSC_Cntrl"));\r
-    params.add(new ParameterDTO("Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.PLMNID",\r
-        "30324"));\r
-    params.add(new ParameterDTO(\r
-        "Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.IsPrimary", "1"));\r
-    params.add(\r
-        new ParameterDTO("Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.Enable", "0"));\r
-    return params;\r
-  }\r
-\r
-  private DeviceDetails getDeviceDetails() {\r
-    DeviceDetails nf = new DeviceDetails();\r
-    nf.setDeviceId("00005B9A1");\r
-    nf.setDeviceTypeId(50);\r
-    nf.setOui("0005B9");\r
-    nf.setProductClass("LTE_Enterprise_C-RANSC_Cntrl");\r
-    return nf;\r
-  }\r
-}\r
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : tr-069-adapter
+ * =================================================================================================
+ * Copyright (C) 2020 CommScope Inc Intellectual Property.
+ * =================================================================================================
+ * This tr-069-adapter software file is distributed by CommScope Inc 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
+ *
+ * This file 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.
+ * ===============LICENSE_END=======================================================================
+ */
+
+package org.commscope.tr069adapter.mapper;
+
+import java.util.ArrayList;
+
+import org.commscope.tr069adapter.acs.common.DeviceDetails;
+import org.commscope.tr069adapter.acs.common.DeviceInform;
+import org.commscope.tr069adapter.acs.common.InformType;
+import org.commscope.tr069adapter.acs.common.ParameterDTO;
+import org.commscope.tr069adapter.acs.common.dto.TR069InformType;
+import org.commscope.tr069adapter.acs.common.inform.BootstrapInform;
+import org.commscope.tr069adapter.mapper.boot.MapperServiceBooter;
+import org.commscope.tr069adapter.mapper.model.NetConfServerDetails;
+import org.commscope.tr069adapter.mapper.model.VESNotificationResponse;
+import org.commscope.tr069adapter.mapper.netconf.NetConfNotificationSender;
+import org.commscope.tr069adapter.mapper.netconf.NetConfServerManager;
+import org.commscope.tr069adapter.mapper.ves.VESNotificationSender;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.web.client.RestTemplate;
+
+@SpringBootTest(classes = {MapperServiceBooter.class})
+@RunWith(SpringRunner.class)
+public class NetConfServerManagerTest {
+
+  @Autowired
+  NetConfServerManager server;
+
+  @Autowired
+  NetConfNotificationSender nfSender;
+
+  @Autowired
+  VESNotificationSender vesSender;
+
+  @MockBean
+  RestTemplate restTemplate;
+
+  @Test
+  public void createServerTest() {
+    ResponseEntity<Object> res = new ResponseEntity<Object>(
+        new NetConfServerDetails("0005B9A1", "10.221.55.14", "17830"), HttpStatus.ACCEPTED);
+    Mockito.when(
+        restTemplate.postForEntity(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))
+        .thenReturn(res);
+    NetConfServerDetails nfDetails =
+        server.createNetconfServer("0005B9A1", "EnodB1", "4.3.0.0", "*");
+
+    Assert.assertNotNull(nfDetails);
+    Assert.assertEquals("17830", nfDetails.getListenPort());
+  }
+
+  @Test
+  public void createServerFailureWithRestCallTest() {
+    NetConfServerDetails nfDetails =
+        server.createNetconfServer("0005B9A1", "EnodB1", "4.3.0.0", "*");
+    Assert.assertNull(nfDetails);
+  }
+
+  @Test
+  public void sendNotificaionTest() {
+    ResponseEntity res = new ResponseEntity<>(HttpStatus.ACCEPTED);
+    Mockito.when(
+        restTemplate.postForObject(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))
+        .thenReturn(res);
+    DeviceInform inform = new BootstrapInform();
+    inform.setDeviceDetails(getDeviceDetails());
+    ArrayList<InformType> list = new ArrayList<>();
+    list.add(TR069InformType.BOOTSTRAP);
+    inform.setInformTypeList(list);
+    inform.setParameters(getGeneralParams());
+    ResponseEntity response = nfSender.sendNotification(inform);
+    Assert.assertNotNull(response);
+    Assert.assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
+  }
+
+  @Test
+  public void sendNotificaionInformNullTest() {
+    ResponseEntity res = new ResponseEntity<>(HttpStatus.ACCEPTED);
+    Mockito.when(
+        restTemplate.postForObject(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))
+        .thenReturn(res);
+    ResponseEntity response = nfSender.sendNotification(null);
+    Assert.assertNull(response);
+  }
+
+  @Test
+  public void sendVesEventTest() {
+
+    Mockito.when(
+        restTemplate.postForObject(Mockito.anyString(), Mockito.anyObject(), Mockito.anyObject()))
+        .thenReturn(new VESNotificationResponse(202, "sucess"));
+
+    DeviceInform inform = new BootstrapInform();
+    inform.setDeviceDetails(getDeviceDetails());
+    ArrayList<InformType> list = new ArrayList<InformType>();
+    list.add(TR069InformType.BOOTSTRAP);
+    inform.setInformTypeList(list);
+    inform.setParameters(getGeneralParams());
+    VESNotificationResponse response = vesSender.sendNotification(inform,
+        new NetConfServerDetails("0005B9A1", "10.221.55.14", "17830"));
+    Assert.assertNotNull(response);
+    Assert.assertEquals(202, response.getStatusCode());
+  }
+
+  private ArrayList<ParameterDTO> getGeneralParams() {
+    ArrayList<ParameterDTO> params = new ArrayList<>();
+    params.add(new ParameterDTO("Device.DeviceInfo.ManufacturerOUI", "0005B9"));
+    params.add(new ParameterDTO("Device.DeviceInfo.ProductClass", "LTE_Enterprise_C-RANSC_Cntrl"));
+    params.add(new ParameterDTO("Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.PLMNID",
+        "30324"));
+    params.add(new ParameterDTO(
+        "Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.IsPrimary", "1"));
+    params.add(
+        new ParameterDTO("Device.Services.FAPService.1.CellConfig.LTE.EPC.PLMNList.1.Enable", "0"));
+    return params;
+  }
+
+  private DeviceDetails getDeviceDetails() {
+    DeviceDetails nf = new DeviceDetails();
+    nf.setDeviceId("00005B9A1");
+    nf.setDeviceTypeId(50);
+    nf.setOui("0005B9");
+    nf.setProductClass("LTE_Enterprise_C-RANSC_Cntrl");
+    return nf;
+  }
+}