aboutsummaryrefslogtreecommitdiffstats
path: root/cps-ncmp-rest-stub/src
diff options
context:
space:
mode:
authorwaqas.ikram <waqas.ikram@est.tech>2023-06-16 13:05:04 +0100
committerWaqas Ikram <waqas.ikram@est.tech>2023-06-20 09:40:08 +0000
commitcb0256d46fa8fd75f54482917ec1cd4aba02fb55 (patch)
tree74f8ac08831951889e1b2269a3a70d80a18276ec /cps-ncmp-rest-stub/src
parenta47d9766d027cb0ffcc92c3e0c401a46bc2e8ab8 (diff)
Refactored code to enable its utilization in Junit
tests for the client Change-Id: I847ae0f48444af907039bfddb9879581003c0f35 Issue-ID: CPS-1751 Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
Diffstat (limited to 'cps-ncmp-rest-stub/src')
-rw-r--r--cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/Application.java32
-rw-r--r--cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java116
-rw-r--r--cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/handlers/NetworkCmProxyApiStubDefaultImpl.java143
-rw-r--r--cps-ncmp-rest-stub/src/main/resources/application.yml39
-rw-r--r--cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json8
-rw-r--r--cps-ncmp-rest-stub/src/main/resources/stubs/passthrough-operational-example.json45
-rw-r--r--cps-ncmp-rest-stub/src/test/java/org/onap/cps/TestApplication.java30
7 files changed, 0 insertions, 413 deletions
diff --git a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/Application.java b/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/Application.java
deleted file mode 100644
index 0f0035dab5..0000000000
--- a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/Application.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2022 Bell Canada.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps.ncmp.rest.stub;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class Application {
-
- public static void main(final String[] args) {
- SpringApplication.run(Application.class, args);
- }
-}
diff --git a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java b/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java
deleted file mode 100644
index 688f624036..0000000000
--- a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/controller/NetworkCmProxyStubController.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2022 Bell Canada
- * Modifications Copyright (c) 2022-2023 Nordix Foundation
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps.ncmp.rest.stub.controller;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import lombok.extern.slf4j.Slf4j;
-import org.onap.cps.ncmp.api.impl.operations.DatastoreType;
-import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters;
-import org.onap.cps.ncmp.rest.model.RestOutputCmHandle;
-import org.onap.cps.ncmp.rest.stub.handlers.NetworkCmProxyApiStubDefaultImpl;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@Slf4j
-@RestController
-@RequestMapping("${rest.api.ncmp-stub-base-path}")
-public class NetworkCmProxyStubController implements NetworkCmProxyApiStubDefaultImpl {
-
- @Value("${stub.path}")
- private String pathToResponseFiles;
-
- @Override
- public ResponseEntity<Object> getResourceDataForCmHandle(final String dataStoreName,
- final String cmHandle,
- final String resourceIdentifier,
- final String optionsParamInQuery,
- final String topicParamInQuery,
- final Boolean includeDescendants) {
- if (DatastoreType.PASSTHROUGH_OPERATIONAL == DatastoreType.fromDatastoreName(dataStoreName)) {
- final ResponseEntity<Map<String, Object>> asyncResponse = populateAsyncResponse(topicParamInQuery);
- final Map<String, Object> asyncResponseData = asyncResponse.getBody();
- Object responseObject = null;
- // read JSON file and map/convert to java POJO
- final ClassPathResource resource =
- new ClassPathResource(pathToResponseFiles + "passthrough-operational-example.json");
- try (InputStream inputStream = resource.getInputStream()) {
- final String string = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
- final ObjectMapper mapper = new ObjectMapper();
- responseObject = mapper.readValue(string, Object.class);
- } catch (final IOException exception) {
- log.error("Error reading the file.", exception);
- return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
- }
- if (asyncResponseData == null) {
- return ResponseEntity.ok(responseObject);
- }
- return ResponseEntity.ok(asyncResponse);
- }
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- public ResponseEntity<List<RestOutputCmHandle>> searchCmHandles(
- final CmHandleQueryParameters cmHandleQueryParameters) {
- List<RestOutputCmHandle> restOutputCmHandles = null;
- // read JSON file and map/convert to java POJO
- final ClassPathResource resource = new ClassPathResource(pathToResponseFiles + "cmHandlesSearch.json");
- try (InputStream inputStream = resource.getInputStream()) {
- final String string = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
- final ObjectMapper mapper = new ObjectMapper();
- restOutputCmHandles = Arrays.asList(mapper.readValue(string, RestOutputCmHandle[].class));
- } catch (final IOException exception) {
- log.error("Error reading the file.", exception);
- return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
- }
- return ResponseEntity.ok(restOutputCmHandles);
- }
-
- private ResponseEntity<Map<String, Object>> populateAsyncResponse(final String topicParamInQuery) {
- final Map<String, Object> responseData;
- if (topicParamInQuery == null) {
- responseData = null;
- } else {
- responseData = getAsyncResponseData();
- }
- return ResponseEntity.ok().body(responseData);
- }
-
- private Map<String, Object> getAsyncResponseData() {
- final Map<String, Object> asyncResponseData = new HashMap<>(1);
- final String resourceDataRequestId = UUID.randomUUID().toString();
- asyncResponseData.put(ASYNC_REQUEST_ID, resourceDataRequestId);
- return asyncResponseData;
- }
-}
diff --git a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/handlers/NetworkCmProxyApiStubDefaultImpl.java b/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/handlers/NetworkCmProxyApiStubDefaultImpl.java
deleted file mode 100644
index 7bd3acbf65..0000000000
--- a/cps-ncmp-rest-stub/src/main/java/org/onap/cps/ncmp/rest/stub/handlers/NetworkCmProxyApiStubDefaultImpl.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2023 Nordix Foundation
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps.ncmp.rest.stub.handlers;
-
-import java.util.List;
-import org.onap.cps.ncmp.rest.api.NetworkCmProxyApi;
-import org.onap.cps.ncmp.rest.model.CmHandleQueryParameters;
-import org.onap.cps.ncmp.rest.model.ResourceDataBatchRequest;
-import org.onap.cps.ncmp.rest.model.RestModuleDefinition;
-import org.onap.cps.ncmp.rest.model.RestModuleReference;
-import org.onap.cps.ncmp.rest.model.RestOutputCmHandle;
-import org.onap.cps.ncmp.rest.model.RestOutputCmHandleCompositeState;
-import org.onap.cps.ncmp.rest.model.RestOutputCmHandlePublicProperties;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-public interface NetworkCmProxyApiStubDefaultImpl extends NetworkCmProxyApi {
-
- String ASYNC_REQUEST_ID = "requestId";
-
- @Override
- default ResponseEntity<Object> getResourceDataForCmHandle(final String datastoreName,
- final String cmHandle,
- final String resourceIdentifier,
- final String optionsParamInQuery,
- final String topicParamInQuery,
- final Boolean includeDescendants) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<Object> getResourceDataForCmHandleBatch(final String topicParamInQuery,
- final ResourceDataBatchRequest
- resourceDataBatchRequest) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<List<RestOutputCmHandle>> searchCmHandles(
- final CmHandleQueryParameters cmHandleQueryParameters) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<Void> createResourceDataRunningForCmHandle(final String datastoreName,
- final String resourceIdentifier,
- final String cmHandleId,
- final Object requestBody,
- final String contentType) {
- return new ResponseEntity<>(HttpStatus.CREATED);
- }
-
- @Override
- default ResponseEntity<Void> deleteResourceDataRunningForCmHandle(final String datastoreName,
- final String cmHandleId,
- final String resourceIdentifier,
- final String contentType) {
- return new ResponseEntity<>(HttpStatus.NO_CONTENT);
- }
-
- @Override
- default ResponseEntity<Object> setDataSyncEnabledFlagForCmHandle(final String cmHandleId,
- final Boolean dataSyncEnabled) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<List<String>> searchCmHandleIds(final CmHandleQueryParameters cmHandleQueryParameters) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<RestOutputCmHandlePublicProperties> getCmHandlePublicPropertiesByCmHandleId(
- final String cmHandleId) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<RestOutputCmHandleCompositeState> getCmHandleStateByCmHandleId(final String cmHandle) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<List<RestModuleDefinition>> getModuleDefinitionsByCmHandleId(final String cmHandle) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<List<RestModuleReference>> getModuleReferencesByCmHandle(final String cmHandleId) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<Object> patchResourceDataRunningForCmHandle(final String datastoreName,
- final String resourceIdentifier,
- final String cmHandleId,
- final Object requestBody,
- final String contentType) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<Object> queryResourceDataForCmHandle(final String datastoreName,
- final String cmHandle,
- final String cpsPath,
- final String optionsParamInQuery,
- final String topicParamInQuery,
- final Boolean includeDescendants) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<RestOutputCmHandle> retrieveCmHandleDetailsById(final String cmHandleId) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-
- @Override
- default ResponseEntity<Object> updateResourceDataRunningForCmHandle(final String datastoreName,
- final String resourceIdentifier,
- final String cmHandleId,
- final Object requestBody,
- final String contentType) {
- return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
- }
-}
diff --git a/cps-ncmp-rest-stub/src/main/resources/application.yml b/cps-ncmp-rest-stub/src/main/resources/application.yml
deleted file mode 100644
index 9fbd359655..0000000000
--- a/cps-ncmp-rest-stub/src/main/resources/application.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-# ============LICENSE_START=======================================================
-# Copyright (C) 2022 Bell Canada
-# ================================================================================
-# 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.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-server:
- port: 8091
-
-rest:
- api:
- ncmp-stub-base-path: /ncmp
-
-spring:
- main:
- banner-mode: "off"
- application:
- name: "cps-ncmp-rest-stub"
-
-logging:
- level:
- org:
- springframework: INFO
- onap:
- cps: INFO
-
-stub:
- path: "/stubs/" \ No newline at end of file
diff --git a/cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json b/cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json
deleted file mode 100644
index 9a2e1ed5d1..0000000000
--- a/cps-ncmp-rest-stub/src/main/resources/stubs/cmHandlesSearch.json
+++ /dev/null
@@ -1,8 +0,0 @@
-[
- {
- "cmHandle": "stub-cm-handle-id"
- },
- {
- "cmHandle": "stub-cm-handle-id2"
- }
- ] \ No newline at end of file
diff --git a/cps-ncmp-rest-stub/src/main/resources/stubs/passthrough-operational-example.json b/cps-ncmp-rest-stub/src/main/resources/stubs/passthrough-operational-example.json
deleted file mode 100644
index 1838b47ca9..0000000000
--- a/cps-ncmp-rest-stub/src/main/resources/stubs/passthrough-operational-example.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "stores:bookstore": {
- "categories": [
- {
- "code": "02",
- "books": [
- {
- "title": "A Horror book",
- "price": "2000",
- "pub_year": 2003,
- "lang": "English",
- "authors": [
- "Joe"
- ]
- },
- {
- "title": "Another Horror Book",
- "price": "2000",
- "pub_year": 2003,
- "lang": "English",
- "authors": [
- "Joe"
- ]
- }
- ],
- "name": "Horror"
- },
- {
- "code": "100",
- "books": [
- {
- "title": "A Cook book",
- "price": "2011",
- "pub_year": 2019,
- "lang": "English",
- "authors": [
- "Rahul"
- ]
- }
- ],
- "name": "Cooking Books"
- }
- ]
- }
-} \ No newline at end of file
diff --git a/cps-ncmp-rest-stub/src/test/java/org/onap/cps/TestApplication.java b/cps-ncmp-rest-stub/src/test/java/org/onap/cps/TestApplication.java
deleted file mode 100644
index a095edc422..0000000000
--- a/cps-ncmp-rest-stub/src/test/java/org/onap/cps/TestApplication.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2022 Bell Canada.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps;
-
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * The @SpringBootApplication annotated class is required in order to run tests
- * marked with @SpringBootTest annotation.
- */
-@SpringBootApplication
-public class TestApplication {
-}