Add JUnit tests of backend controllers
[portal/ric-dashboard.git] / webapp-backend / src / main / java / org / oransc / ric / portal / dashboard / controller / E2ManagerController.java
index a4533b6..3d52b8c 100644 (file)
@@ -62,13 +62,20 @@ import io.swagger.annotations.ApiOperation;
  */
 @Configuration
 @RestController
-@RequestMapping(value = DashboardConstants.ENDPOINT_PREFIX + "/e2mgr", produces = MediaType.APPLICATION_JSON_VALUE)
+@RequestMapping(value = E2ManagerController.CONTROLLER_PATH, produces = MediaType.APPLICATION_JSON_VALUE)
 public class E2ManagerController {
 
        private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
-       private final List<NodebIdentity> mockNodebIdList;
-
+       // Publish paths in constants so tests are easy to write
+       public static final String CONTROLLER_PATH = DashboardConstants.ENDPOINT_PREFIX + "/e2mgr";
+       // Endpoints
+       public static final String HEALTH_METHOD = "health";
+       public static final String NODEB_METHOD = "/nodeb";
+       public static final String NODEB_LIST_METHOD = "/nodeb-ids";
+       public static final String RAN_METHOD = "/ran";
+       public static final String ENDC_SETUP_METHOD = "/endcSetup";
+       public static final String X2_SETUP_METHOD = "/x2Setup";
        // Path parameters
        private static final String PP_RANNAME = "ranName";
 
@@ -76,6 +83,9 @@ public class E2ManagerController {
        private final HealthCheckApi e2HealthCheckApi;
        private final NodebApi e2NodebApi;
 
+       // TODO: remove this when E2 delivers the feature
+       private final List<NodebIdentity> mockNodebIdList;
+
        @Autowired
        public E2ManagerController(final HealthCheckApi e2HealthCheckApi, final NodebApi e2NodebApi,
                        @Value("${e2mgr.mock.rannames:#{null}}") final String mockRanNames) {
@@ -94,13 +104,13 @@ public class E2ManagerController {
        }
 
        @ApiOperation(value = "Gets the E2 manager client library MANIFEST.MF property Implementation-Version.", response = SuccessTransport.class)
-       @RequestMapping(value = DashboardConstants.VERSION_PATH, method = RequestMethod.GET)
+       @RequestMapping(value = DashboardConstants.VERSION_METHOD, method = RequestMethod.GET)
        public SuccessTransport getE2ManagerClientVersion() {
                return new SuccessTransport(200, DashboardApplication.getImplementationVersion(HealthCheckApi.class));
        }
 
        @ApiOperation(value = "Gets the health from the E2 manager, expressed as the response code.")
-       @RequestMapping(value = "/health", method = RequestMethod.GET)
+       @RequestMapping(value = HEALTH_METHOD, method = RequestMethod.GET)
        public void healthGet(HttpServletResponse response) {
                logger.debug("healthGet");
                e2HealthCheckApi.healthGet();
@@ -109,7 +119,7 @@ public class E2ManagerController {
 
        // This calls other methods to simplify the task of the front-end.
        @ApiOperation(value = "Gets all RAN identities and statuses from the E2 manager.", response = RanDetailsTransport.class, responseContainer = "List")
-       @RequestMapping(value = "/ran", method = RequestMethod.GET)
+       @RequestMapping(value = RAN_METHOD, method = RequestMethod.GET)
        public List<RanDetailsTransport> getRanDetails() {
                logger.debug("getRanDetails");
                // TODO: remove mock when e2mgr delivers the getNodebIdList() method
@@ -131,21 +141,21 @@ public class E2ManagerController {
        }
 
        @ApiOperation(value = "Get RAN identities list.", response = NodebIdentity.class, responseContainer = "List")
-       @RequestMapping(value = "/nodeb-ids", method = RequestMethod.GET)
+       @RequestMapping(value = NODEB_LIST_METHOD, method = RequestMethod.GET)
        public List<NodebIdentity> getNodebIdList() {
                logger.debug("getNodebIdList");
                return e2NodebApi.getNodebIdList();
        }
 
        @ApiOperation(value = "Get RAN by name.", response = GetNodebResponse.class)
-       @RequestMapping(value = "/nodeb/{" + PP_RANNAME + "}", method = RequestMethod.GET)
+       @RequestMapping(value = NODEB_METHOD + "/{" + PP_RANNAME + "}", method = RequestMethod.GET)
        public GetNodebResponse getNb(@PathVariable(PP_RANNAME) String ranName) {
                logger.debug("getNb {}", ranName);
                return e2NodebApi.getNb(ranName);
        }
 
        @ApiOperation(value = "Close all connections to the RANs and delete the data from the nodeb-rnib DB.")
-       @RequestMapping(value = "/nodeb", method = RequestMethod.DELETE)
+       @RequestMapping(value = NODEB_METHOD, method = RequestMethod.DELETE)
        public void nodebDelete(HttpServletResponse response) {
                logger.debug("nodebDelete");
                e2NodebApi.nodebDelete();
@@ -153,7 +163,7 @@ public class E2ManagerController {
        }
 
        @ApiOperation(value = "Sets up an EN-DC RAN connection via the E2 manager.")
-       @RequestMapping(value = "/endcSetup", method = RequestMethod.POST)
+       @RequestMapping(value = ENDC_SETUP_METHOD, method = RequestMethod.POST)
        public void endcSetup(@RequestBody SetupRequest setupRequest, HttpServletResponse response) {
                logger.debug("endcSetup {}", setupRequest);
                e2NodebApi.endcSetup(setupRequest);
@@ -161,7 +171,7 @@ public class E2ManagerController {
        }
 
        @ApiOperation(value = "Sets up an X2 RAN connection via the E2 manager.")
-       @RequestMapping(value = "/x2Setup", method = RequestMethod.POST)
+       @RequestMapping(value = X2_SETUP_METHOD, method = RequestMethod.POST)
        public void x2Setup(@RequestBody SetupRequest setupRequest, HttpServletResponse response) {
                logger.debug("x2Setup {}", setupRequest);
                e2NodebApi.x2Setup(setupRequest);