From 7c3b8301076b986c22dbec3287339f44b1c1a542 Mon Sep 17 00:00:00 2001 From: ecaiyanlinux Date: Tue, 13 Oct 2020 14:22:46 +0200 Subject: [PATCH] Prepare Mock for EnrichmentController Signed-off-by: ecaiyanlinux Issue-ID: NONRTRIC-296 Change-Id: I9b954652c0737269aaf03cf6722924d7175f65e6 --- .../config/WebSecurityConfiguration.java | 2 +- .../controller/EnrichmentController.java | 6 +- .../eiproducerapi/EiProducerApiImpl.java | 3 + .../src/main/resources/application.properties | 2 +- .../portal/nonrtric/controlpanel/mock/EiJob.java | 42 ++++ .../portal/nonrtric/controlpanel/mock/EiJobs.java | 29 +++ .../nonrtric/controlpanel/mock/EiProducer.java | 43 ++++ .../nonrtric/controlpanel/mock/EiProducers.java | 29 +++ .../portal/nonrtric/controlpanel/mock/EiType.java | 37 +++ .../portal/nonrtric/controlpanel/mock/EiTypes.java | 29 +++ .../EnrichmentControllerMockConfiguration.java | 280 +++++++++++++++++++++ .../PolicyControllerMockConfiguration.java | 2 +- .../PortalApIMockConfiguration.java | 2 +- .../WebSecurityMockConfiguration.java | 3 +- webapp-backend/src/test/resources/ei-type-1.json | 6 + webapp-backend/src/test/resources/ei-type-2.json | 6 + webapp-backend/src/test/resources/job-1.json | 5 + 17 files changed, 519 insertions(+), 7 deletions(-) create mode 100644 webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJob.java create mode 100644 webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJobs.java create mode 100644 webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducer.java create mode 100644 webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducers.java create mode 100644 webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiType.java create mode 100644 webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiTypes.java create mode 100644 webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EnrichmentControllerMockConfiguration.java rename webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/{config => mock}/PolicyControllerMockConfiguration.java (99%) rename webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/{config => mock}/PortalApIMockConfiguration.java (98%) rename webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/{config => mock}/WebSecurityMockConfiguration.java (96%) create mode 100644 webapp-backend/src/test/resources/ei-type-1.json create mode 100644 webapp-backend/src/test/resources/ei-type-2.json create mode 100644 webapp-backend/src/test/resources/job-1.json diff --git a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/config/WebSecurityConfiguration.java b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/config/WebSecurityConfiguration.java index d8c2b94..88751b9 100644 --- a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/config/WebSecurityConfiguration.java +++ b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/config/WebSecurityConfiguration.java @@ -86,7 +86,7 @@ public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter { * Swagger-generated documentation. */ @SuppressWarnings("squid:S1075") // URIs should not be hardcoded - protected static final String[] OPEN_PATHS = { // + public static final String[] OPEN_PATHS = { // "/v2/api-docs", // "/swagger-resources/**", // "/swagger-ui.html", // diff --git a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/controller/EnrichmentController.java b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/controller/EnrichmentController.java index 558923f..300def5 100644 --- a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/controller/EnrichmentController.java +++ b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/controller/EnrichmentController.java @@ -19,7 +19,10 @@ */ package org.oransc.portal.nonrtric.controlpanel.controller; +import io.swagger.annotations.ApiOperation; + import java.lang.invoke.MethodHandles; + import org.oransc.portal.nonrtric.controlpanel.ControlPanelConstants; import org.oransc.portal.nonrtric.controlpanel.eiproducerapi.EiProducerApi; import org.slf4j.Logger; @@ -33,7 +36,6 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import io.swagger.annotations.ApiOperation; /** * Proxies calls from the front end to the EI Producer API. @@ -120,4 +122,4 @@ public class EnrichmentController { logger.debug("getEiProducerStatus {}", eiProducerId); return this.eiProducerApi.getEiProducerStatus(eiProducerId); } -} \ No newline at end of file +} diff --git a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java index ca45e27..3ce3cc0 100644 --- a/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java +++ b/webapp-backend/src/main/java/org/oransc/portal/nonrtric/controlpanel/eiproducerapi/EiProducerApiImpl.java @@ -20,8 +20,11 @@ package org.oransc.portal.nonrtric.controlpanel.eiproducerapi; import com.google.gson.GsonBuilder; + import java.lang.invoke.MethodHandles; + import javax.net.ssl.SSLException; + import org.json.JSONArray; import org.json.JSONObject; import org.oransc.portal.nonrtric.controlpanel.util.AsyncRestClient; diff --git a/webapp-backend/src/main/resources/application.properties b/webapp-backend/src/main/resources/application.properties index 6533651..e795dca 100644 --- a/webapp-backend/src/main/resources/application.properties +++ b/webapp-backend/src/main/resources/application.properties @@ -56,7 +56,7 @@ policycontroller.url.prefix = http://policy-agent-container:8081 # URL for enrichment coordinator service # enrichmentcontroller.url.prefix = https://enrichment-service-container:8434 -enrichmentcontroller.url.prefix = http://enrichment-service-container:8082/ei-producer/v1 +enrichmentcontroller.url.prefix = http://enrichment-service-container:8083/ei-producer/v1 # Mimic slow endpoints by defining sleep period, in milliseconds mock.config.delay = 0 diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJob.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJob.java new file mode 100644 index 0000000..56d3fc8 --- /dev/null +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJob.java @@ -0,0 +1,42 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 Nordix Foundation + * Modifications Copyright (C) 2020 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. + * ========================LICENSE_END=================================== + */ +package org.oransc.portal.nonrtric.controlpanel.mock; + +import org.immutables.gson.Gson; +import org.immutables.value.Value; + +@Value.Immutable +@Gson.TypeAdapters +public interface EiJob { + + public String ei_job_identity(); + + public String target_uri(); + + public Object ei_job_data(); + + public String ei_type_identity(); + + public String owner(); + + public String status(); + +} diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJobs.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJobs.java new file mode 100644 index 0000000..0a486ec --- /dev/null +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiJobs.java @@ -0,0 +1,29 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 Nordix Foundation + * Modifications Copyright (C) 2020 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. + * ========================LICENSE_END=================================== + */ +package org.oransc.portal.nonrtric.controlpanel.mock; + +import java.util.ArrayList; + +public class EiJobs extends ArrayList { + + private static final long serialVersionUID = -928428052502491021L; + +} diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducer.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducer.java new file mode 100644 index 0000000..01bcee8 --- /dev/null +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducer.java @@ -0,0 +1,43 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 Nordix Foundation + * Modifications Copyright (C) 2020 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. + * ========================LICENSE_END=================================== + */ +package org.oransc.portal.nonrtric.controlpanel.mock; + +import java.util.List; + +import org.immutables.gson.Gson; +import org.immutables.value.Value; + +@Value.Immutable +@Gson.TypeAdapters +public interface EiProducer { + + public String ei_producer_id(); + + public String ei_job_creation_callback_url(); + + public String ei_job_deletion_callback_url(); + + public String ei_producer_supervision_callback_url(); + + public List supported_ei_types(); + + public String status(); +} diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducers.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducers.java new file mode 100644 index 0000000..5bc3ec8 --- /dev/null +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiProducers.java @@ -0,0 +1,29 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 Nordix Foundation + * Modifications Copyright (C) 2020 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. + * ========================LICENSE_END=================================== + */ +package org.oransc.portal.nonrtric.controlpanel.mock; + +import java.util.ArrayList; + +public class EiProducers extends ArrayList { + + private static final long serialVersionUID = -928428052502491021L; + +} diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiType.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiType.java new file mode 100644 index 0000000..ce64fad --- /dev/null +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiType.java @@ -0,0 +1,37 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 Nordix Foundation + * Modifications Copyright (C) 2020 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. + * ========================LICENSE_END=================================== + */ +package org.oransc.portal.nonrtric.controlpanel.mock; + +import java.util.List; + +import org.immutables.gson.Gson; +import org.immutables.value.Value; + +@Value.Immutable +@Gson.TypeAdapters +public interface EiType { + + public String ei_type_identity(); + + public Object ei_job_data_schema(); + + public List ei_producer_ids(); +} diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiTypes.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiTypes.java new file mode 100644 index 0000000..8fc9eaf --- /dev/null +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EiTypes.java @@ -0,0 +1,29 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 Nordix Foundation + * Modifications Copyright (C) 2020 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. + * ========================LICENSE_END=================================== + */ +package org.oransc.portal.nonrtric.controlpanel.mock; + +import java.util.ArrayList; + +public class EiTypes extends ArrayList { + + private static final long serialVersionUID = -928428052502491021L; + +} diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EnrichmentControllerMockConfiguration.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EnrichmentControllerMockConfiguration.java new file mode 100644 index 0000000..626f0c4 --- /dev/null +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/EnrichmentControllerMockConfiguration.java @@ -0,0 +1,280 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 Nordix Foundation + * Modifications Copyright (C) 2020 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. + * ========================LICENSE_END=================================== + */ +package org.oransc.portal.nonrtric.controlpanel.mock; + +import com.google.gson.GsonBuilder; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.invoke.MethodHandles; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; + +import org.oransc.portal.nonrtric.controlpanel.eiproducerapi.EiProducerApi; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestClientException; + +/** + * Creates a mock implementation of the policy controller client API. + */ +@TestConfiguration +public class EnrichmentControllerMockConfiguration { + + private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + + private static com.google.gson.Gson gson = new GsonBuilder() // + .serializeNulls() // + .create(); // + + @Bean + public EiProducerApi eiProducerApi() { + MockEiProducerApi apiClient = new MockEiProducerApi(); + return apiClient; + } + + class MockEiProducerApi implements EiProducerApi { + private final Database database = new Database(); + + @Override + public ResponseEntity getAllEiTypeIds() { + List result = new ArrayList<>(); + result.addAll(database.getAllEiTypeIds()); + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); + } + + public ResponseEntity getAllEiTypes() { + EiTypes result = new EiTypes(); + result.addAll(database.getAllEiTypes()); + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); + } + + @Override + public ResponseEntity getEiType(String eiTypeId) { + EiType result = database.getEiTypeInstance(eiTypeId); + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); + } + + @Override + public ResponseEntity getAllEiProducerIds() { + List result = new ArrayList<>(); + result.addAll(database.getAllEiProducerIds()); + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); + } + + public ResponseEntity getAllEiProducers() { + EiProducers result = new EiProducers(); + result.addAll(database.getAllEiProducers()); + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); + } + + @Override + public ResponseEntity getEiProducer(String eiProducerId) { + EiProducer result = database.getEiProducerInstance(eiProducerId); + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); + } + + @Override + public ResponseEntity getEiJobsForOneEiProducer(String eiProducerId) { + EiJobs result = new EiJobs(); + List inst = database.getEiJobsForOneEiProducer(Optional.of(eiProducerId)); + result.addAll(inst); + return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); + } + + @Override + public ResponseEntity getEiProducerStatus(String eiProducerId) { + EiProducer result = database.getEiProducerInstance(eiProducerId); + return new ResponseEntity<>(gson.toJson(result.status()), HttpStatus.OK); + } + + public ResponseEntity deleteEiProducerInstance(String eiProducerId) { + database.deleteEiProducerInstance(eiProducerId); + return new ResponseEntity<>(HttpStatus.OK); + } + + public ResponseEntity deleteEiTypeInstance(String eiTypeId) { + database.deleteEiTypeInstance(eiTypeId); + return new ResponseEntity<>(HttpStatus.OK); + } + + public ResponseEntity deleteEiJobInstance(String eiJobId) { + database.deleteEiJobInstance(eiJobId); + return new ResponseEntity<>(HttpStatus.OK); + } + } + + class Database { + + Database() { + + List supported_types = new ArrayList(); + + // Create EiType instance + String schema = getStringFromFile("ei-type-1.json"); + EiType eiType1 = putEiTypeInstance("type1", schema, Arrays.asList("prod-1")); + supported_types.add(eiType1); + + // Create EiType instance + schema = getStringFromFile("ei-type-2.json"); + EiType eiType2 = putEiTypeInstance("type2", schema, Arrays.asList("prod-1")); + supported_types.add(eiType2); + + // Create EiProducer instance + putEiProducerInstance("prod-1", "http://example.com/", "http://example.com/", "http://example.com/", + supported_types, "ENABLED"); + + // Create EiJob instance + schema = getStringFromFile("job-1.json"); + putEiJobInstance("type1", "job1", schema, "prod-1", "http://example.com/"); + } + + private String getStringFromFile(String path) { + try { + InputStream inputStream = + MethodHandles.lookup().lookupClass().getClassLoader().getResourceAsStream(path); + return new BufferedReader(new InputStreamReader(inputStream)).lines().collect(Collectors.joining("\n")); + } catch (Exception e) { + logger.error("Cannot read file :" + path, e); + return ""; + } + } + + String normalize(String str) { + return str.replace('\n', ' '); + } + + void putEiJobInstance(String typeId, String instanceId, Object instanceData, String owner, String targetUrl) { + EiJob i = ImmutableEiJob.builder() // + .ei_job_data(instanceData) // + .ei_job_identity(instanceId) // + .owner(owner) // + .ei_type_identity(typeId) // + .target_uri(targetUrl) // + .status("ENABLED") // + .build(); // + eiJobs.put(instanceId, i); + } + + void putEiProducerInstance(String id, String creation_url, String deletion_url, String callback_url, + List supported_types, String status) { + EiProducer eiProducer = ImmutableEiProducer.builder() // + .ei_producer_id(id) // + .ei_job_creation_callback_url(creation_url) // + .ei_job_deletion_callback_url(deletion_url) // + .ei_producer_supervision_callback_url(callback_url) // + .supported_ei_types(supported_types) // + .status(status).build(); // + eiProducers.put(id, eiProducer); + } + + EiType putEiTypeInstance(String id, Object data, List producer_ids) { + EiType i = ImmutableEiType.builder() // + .ei_type_identity(id) // + .ei_job_data_schema(data) // + .ei_producer_ids(producer_ids) // + .build(); // + eiTypes.put(id, i); + return eiTypes.get(id); + } + + public void deleteEiTypeInstance(String id) { + eiTypes.remove(id); + } + + public void deleteEiProducerInstance(String id) { + eiProducers.remove(id); + } + + public void deleteEiJobInstance(String id) { + eiJobs.remove(id); + } + + EiType getEiTypeInstance(String id) throws RestClientException { + EiType i = eiTypes.get(id); + if (i == null) { + throw new RestClientException("Type not found: " + id); + } + return i; + } + + EiProducer getEiProducerInstance(String id) throws RestClientException { + EiProducer i = eiProducers.get(id); + if (i == null) { + throw new RestClientException("Producer not found: " + id); + } + return i; + } + + public Collection getAllEiTypeIds() { + return Collections.unmodifiableCollection(eiTypes.keySet()); + } + + public Collection getAllEiTypes() { + return eiTypes.values(); + } + + public Collection getAllEiProducerIds() { + return Collections.unmodifiableCollection(eiProducers.keySet()); + } + + public Collection getAllEiProducers() { + return eiProducers.values(); + } + + public Collection getAllEiJobs() { + return eiJobs.values(); + } + + public List getEiJobsForOneEiProducer(Optional eiProducerId) { + List result = new ArrayList<>(); + for (EiJob i : eiJobs.values()) { + if (eiProducerId.isPresent()) { + if (i.owner().equals(eiProducerId.get())) { + result.add(i); + } + + } else { + result.add(i); + } + } + return result; + } + + private Map eiTypes = new HashMap<>(); + private Map eiProducers = new HashMap<>(); + private Map eiJobs = new HashMap<>(); + + } + +} diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/PolicyControllerMockConfiguration.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/PolicyControllerMockConfiguration.java similarity index 99% rename from webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/PolicyControllerMockConfiguration.java rename to webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/PolicyControllerMockConfiguration.java index 7727daa..e593736 100644 --- a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/PolicyControllerMockConfiguration.java +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/PolicyControllerMockConfiguration.java @@ -18,7 +18,7 @@ * limitations under the License. * ========================LICENSE_END=================================== */ -package org.oransc.portal.nonrtric.controlpanel.config; +package org.oransc.portal.nonrtric.controlpanel.mock; import com.google.gson.GsonBuilder; diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/PortalApIMockConfiguration.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/PortalApIMockConfiguration.java similarity index 98% rename from webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/PortalApIMockConfiguration.java rename to webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/PortalApIMockConfiguration.java index ced6b75..1a89fac 100644 --- a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/PortalApIMockConfiguration.java +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/PortalApIMockConfiguration.java @@ -18,7 +18,7 @@ * limitations under the License. * ========================LICENSE_END=================================== */ -package org.oransc.portal.nonrtric.controlpanel.config; +package org.oransc.portal.nonrtric.controlpanel.mock; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/WebSecurityMockConfiguration.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/WebSecurityMockConfiguration.java similarity index 96% rename from webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/WebSecurityMockConfiguration.java rename to webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/WebSecurityMockConfiguration.java index 1566044..15c2ed9 100644 --- a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/config/WebSecurityMockConfiguration.java +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/mock/WebSecurityMockConfiguration.java @@ -18,11 +18,12 @@ * limitations under the License. * ========================LICENSE_END=================================== */ -package org.oransc.portal.nonrtric.controlpanel.config; +package org.oransc.portal.nonrtric.controlpanel.mock; import java.lang.invoke.MethodHandles; import org.oransc.portal.nonrtric.controlpanel.ControlPanelConstants; +import org.oransc.portal.nonrtric.controlpanel.config.WebSecurityConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; diff --git a/webapp-backend/src/test/resources/ei-type-1.json b/webapp-backend/src/test/resources/ei-type-1.json new file mode 100644 index 0000000..c74ba28 --- /dev/null +++ b/webapp-backend/src/test/resources/ei-type-1.json @@ -0,0 +1,6 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "STD_Type1_1.0.0", + "description": "EI-Type 1", + "type": "object" +} \ No newline at end of file diff --git a/webapp-backend/src/test/resources/ei-type-2.json b/webapp-backend/src/test/resources/ei-type-2.json new file mode 100644 index 0000000..68a1137 --- /dev/null +++ b/webapp-backend/src/test/resources/ei-type-2.json @@ -0,0 +1,6 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "STD_Type2_1.0.0", + "description": "EI-Type 2", + "type": "object" +} \ No newline at end of file diff --git a/webapp-backend/src/test/resources/job-1.json b/webapp-backend/src/test/resources/job-1.json new file mode 100644 index 0000000..3f9e757 --- /dev/null +++ b/webapp-backend/src/test/resources/job-1.json @@ -0,0 +1,5 @@ +{ + "jobparam1":"value1", + "jobparam2":"value2", + "jobparam3":"value3" +} -- 2.16.6