From 361511c01e4e51dddb6e3bfe11b6728a76dbbfd0 Mon Sep 17 00:00:00 2001 From: Piotr Borelowski Date: Tue, 11 Feb 2020 10:00:02 +0100 Subject: Fixed, simplified and tested AuthorizationHeadersProvider (+small changes in poms) Ve-Vnfm (SOL002) Adapter project Issue-ID: SO-2574 Signed-off-by: Piotr Borelowski Change-Id: I480ac1d5b46aae5a9d4db8249d98c186b59fd12f --- adapters/mso-ve-vnfm-adapter/pom.xml | 11 + .../provider/AuthorizationHeadersProvider.java | 20 +- .../adapters/vevnfm/service/SubscriberService.java | 2 +- .../provider/AuthorizationHeadersProviderTest.java | 47 + packages/docker/pom.xml | 960 +++++++++++---------- 5 files changed, 557 insertions(+), 483 deletions(-) create mode 100644 adapters/mso-ve-vnfm-adapter/src/test/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProviderTest.java diff --git a/adapters/mso-ve-vnfm-adapter/pom.xml b/adapters/mso-ve-vnfm-adapter/pom.xml index 3518445b45..4472956eb7 100644 --- a/adapters/mso-ve-vnfm-adapter/pom.xml +++ b/adapters/mso-ve-vnfm-adapter/pom.xml @@ -59,10 +59,21 @@ + ${project.artifactId}-${project.version} org.springframework.boot spring-boot-maven-plugin + + org.onap.so.adapters.vevnfm.Application + + + + + repackage + + + diff --git a/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProvider.java b/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProvider.java index eca5240cb5..251e0c426b 100644 --- a/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProvider.java +++ b/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProvider.java @@ -20,29 +20,15 @@ package org.onap.so.adapters.vevnfm.provider; -import java.util.List; -import org.apache.logging.log4j.util.Strings; import org.onap.so.configuration.rest.BasicHttpHeadersProvider; -import org.springframework.http.HttpHeaders; public class AuthorizationHeadersProvider extends BasicHttpHeadersProvider { - private List previousAuthorization; - public void addAuthorization(final String authorization) { - final HttpHeaders headers = getHttpHeaders(); - previousAuthorization = headers.get(AUTHORIZATION_HEADER); - headers.set(AUTHORIZATION_HEADER, authorization); - } - - public void resetPrevious() { - if (!isPreviousAuthorizationBlank()) { - getHttpHeaders().addAll(AUTHORIZATION_HEADER, previousAuthorization); - } + getHttpHeaders().set(AUTHORIZATION_HEADER, authorization); } - private boolean isPreviousAuthorizationBlank() { - return previousAuthorization == null || previousAuthorization.isEmpty() - || Strings.isBlank(previousAuthorization.get(0)); + public void removeAuthorization() { + getHttpHeaders().remove(AUTHORIZATION_HEADER); } } diff --git a/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/service/SubscriberService.java b/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/service/SubscriberService.java index 0e77ce4073..eefd9ba93b 100644 --- a/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/service/SubscriberService.java +++ b/adapters/mso-ve-vnfm-adapter/src/main/java/org/onap/so/adapters/vevnfm/service/SubscriberService.java @@ -68,7 +68,7 @@ public class SubscriberService { final LccnSubscriptionRequest request = createRequest(); return sender.send(info, request); } finally { - headersProvider.resetPrevious(); + headersProvider.removeAuthorization(); } } diff --git a/adapters/mso-ve-vnfm-adapter/src/test/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProviderTest.java b/adapters/mso-ve-vnfm-adapter/src/test/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProviderTest.java new file mode 100644 index 0000000000..64503ddfc2 --- /dev/null +++ b/adapters/mso-ve-vnfm-adapter/src/test/java/org/onap/so/adapters/vevnfm/provider/AuthorizationHeadersProviderTest.java @@ -0,0 +1,47 @@ +/*- + * ============LICENSE_START======================================================= + * SO + * ================================================================================ + * Copyright (C) 2020 Samsung. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.so.adapters.vevnfm.provider; + +import static org.junit.Assert.*; +import static org.onap.so.configuration.rest.BasicHttpHeadersProvider.AUTHORIZATION_HEADER; +import org.junit.Test; +import org.springframework.http.HttpHeaders; + +public class AuthorizationHeadersProviderTest { + + private static final String AUTHORIZATION_EXAMPLE = "authorization"; + + private final AuthorizationHeadersProvider provider = new AuthorizationHeadersProvider(); + + @Test + public void testSuccessValidAuthorizationAndRemoval() { + final HttpHeaders headers = provider.getHttpHeaders(); + final int size = headers.size(); + + provider.addAuthorization(AUTHORIZATION_EXAMPLE); + assertEquals(size + 1, headers.size()); + assertTrue(headers.containsKey(AUTHORIZATION_HEADER)); + + provider.removeAuthorization(); + assertEquals(size, headers.size()); + assertFalse(headers.containsKey(AUTHORIZATION_HEADER)); + } +} diff --git a/packages/docker/pom.xml b/packages/docker/pom.xml index f29a4451f6..44d94dfdbf 100644 --- a/packages/docker/pom.xml +++ b/packages/docker/pom.xml @@ -1,47 +1,47 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 4.0.0 + 4.0.0 - - org.onap.so - packages - 1.4.0-SNAPSHOT - + + org.onap.so + packages + 1.4.0-SNAPSHOT + - pom - docker - Docker Images - Docker Images + pom + docker + Docker Images + Docker Images - - UTF-8 - UTF-8 - ${project.version} - false - false - false - nexus3.onap.org:10001 - nexus3.onap.org:10003 - onap/so - deploy - + + UTF-8 + UTF-8 + ${project.version} + false + false + false + nexus3.onap.org:10001 + nexus3.onap.org:10003 + onap/so + deploy + - - ${project.artifactId}-${project.version} - - - org.codehaus.groovy.maven - gmaven-plugin - 1.0 - - - validate - - execute - - - + + ${project.artifactId}-${project.version} + + + org.codehaus.groovy.maven + gmaven-plugin + 1.0 + + + validate + + execute + + + println 'Project version: ' + project.properties['so.project.version']; def versionArray; if ( project.properties['so.project.version'] != null ) { @@ -56,439 +56,469 @@ println 'New tag for docker: ' + project.properties['project.docker.latesttag.version']; - - - - + + + + - - io.fabric8 - docker-maven-plugin - 0.31.0 + + io.fabric8 + docker-maven-plugin + 0.31.0 - - true - 1.23 - ${docker.pull.registry} - ${docker.push.registry} + + true + 1.23 + ${docker.pull.registry} + ${docker.push.registry} - - - ${docker.image.prefix}/base-image:1.0 - - try - docker-files - Dockerfile.so-base-image - - - - ${docker.image.prefix}/vnfm-adapter - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so.adapters:mso-vnfm-etsi-adapter - - app.jar - - - - - - - - ${docker.image.prefix}/catalog-db-adapter - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so.adapters:mso-catalog-db-adapter - - app.jar - - - - - - - - ${docker.image.prefix}/request-db-adapter - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so.adapters:mso-requests-db-adapter - - app.jar - - - - - - - - ${docker.image.prefix}/sdnc-adapter - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so:mso-sdnc-adapter - - app.jar - - - - - - - - ${docker.image.prefix}/openstack-adapter - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so:mso-openstack-adapters - - app.jar - - - - - - - - ${docker.image.prefix}/vfc-adapter - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so.adapters:mso-vfc-adapter - - app.jar - - - - - - - - ${docker.image.prefix}/so-appc-orchestrator - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so.adapters:so-appc-orchestrator - - app.jar - - - - - - - - ${docker.image.prefix}/sdc-controller - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so:asdc-controller - - app.jar - - - - - - - - ${docker.image.prefix}/bpmn-infra - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so:mso-infrastructure-bpmn - - app.jar - - - - - - - - ${docker.image.prefix}/api-handler-infra - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so:mso-api-handler-infra - - app.jar - - - - - - - - ${docker.image.prefix}/so-monitoring - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so.monitoring:so-monitoring-service - - app.jar - - - - - - - - ${docker.image.prefix}/so-simulator - - try - docker-files - Dockerfile.so-app - - ${project.version} - ${project.version}-${maven.build.timestamp} - ${project.docker.latesttag.version} - - - - - - - org.onap.so:so-simulator - - app.jar - - - - - - - - + + + ${docker.image.prefix}/base-image:1.0 + + try + docker-files + Dockerfile.so-base-image + + + + ${docker.image.prefix}/vnfm-adapter + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so.adapters:mso-vnfm-etsi-adapter + + app.jar + + + + + + + + ${docker.image.prefix}/ve-vnfm-adapter + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so.adapters:mso-ve-vnfm-adapter + + app.jar + + + + + + + + ${docker.image.prefix}/catalog-db-adapter + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so.adapters:mso-catalog-db-adapter + + app.jar + + + + + + + + ${docker.image.prefix}/request-db-adapter + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so.adapters:mso-requests-db-adapter + + app.jar + + + + + + + + ${docker.image.prefix}/sdnc-adapter + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so:mso-sdnc-adapter + + app.jar + + + + + + + + ${docker.image.prefix}/openstack-adapter + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so:mso-openstack-adapters + + app.jar + + + + + + + + ${docker.image.prefix}/vfc-adapter + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so.adapters:mso-vfc-adapter + + app.jar + + + + + + + + ${docker.image.prefix}/so-appc-orchestrator + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so.adapters:so-appc-orchestrator + + app.jar + + + + + + + + ${docker.image.prefix}/sdc-controller + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so:asdc-controller + + app.jar + + + + + + + + ${docker.image.prefix}/bpmn-infra + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so:mso-infrastructure-bpmn + + app.jar + + + + + + + + ${docker.image.prefix}/api-handler-infra + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so:mso-api-handler-infra + + app.jar + + + + + + + + ${docker.image.prefix}/so-monitoring + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so.monitoring:so-monitoring-service + + app.jar + + + + + + + + ${docker.image.prefix}/so-simulator + + try + docker-files + Dockerfile.so-app + + ${project.version} + ${project.version}-${maven.build.timestamp} + ${project.docker.latesttag.version} + + + + + + + org.onap.so:so-simulator + + app.jar + + + + + + + + - - - clean-images - pre-clean - - remove - - - true - - + + + clean-images + pre-clean + + remove + + + true + + - - generate-images - generate-sources - - build - - + + generate-images + generate-sources + + build + + - - push-images - ${docker.push.phase} - - build - push - - - ${docker.image.prefix}/catalog-db-adapter,${docker.image.prefix}/request-db-adapter,${docker.image.prefix}/sdnc-adapter,${docker.image.prefix}/openstack-adapter,${docker.image.prefix}/vfc-adapter,${docker.image.prefix}/sdc-controller,${docker.image.prefix}/bpmn-infra,${docker.image.prefix}/api-handler-infra,${docker.image.prefix}/so-monitoring,${docker.image.prefix}/so-simulator - - - - + + push-images + ${docker.push.phase} + + build + push + + + ${docker.image.prefix}/catalog-db-adapter,${docker.image.prefix}/request-db-adapter,${docker.image.prefix}/sdnc-adapter,${docker.image.prefix}/openstack-adapter,${docker.image.prefix}/vfc-adapter,${docker.image.prefix}/sdc-controller,${docker.image.prefix}/bpmn-infra,${docker.image.prefix}/api-handler-infra,${docker.image.prefix}/so-monitoring,${docker.image.prefix}/so-simulator + + + + - - org.apache.maven.plugins - maven-deploy-plugin - 2.8 - - true - - - - + + org.apache.maven.plugins + maven-deploy-plugin + 2.8 + + true + + + + - - - org.onap.so.adapters - mso-vnfm-etsi-adapter - ${project.version} - - - org.onap.so.adapters - mso-catalog-db-adapter - ${project.version} - - - org.onap.so.adapters - mso-requests-db-adapter - ${project.version} - - - org.onap.so - mso-sdnc-adapter - ${project.version} - - - org.onap.so - mso-openstack-adapters - ${project.version} - - - org.onap.so.adapters - mso-vfc-adapter - ${project.version} - - - org.onap.so.adapters - so-appc-orchestrator - ${project.version} - - - org.onap.so - asdc-controller - ${project.version} - - - org.onap.so - mso-infrastructure-bpmn - ${project.version} - - - org.onap.so - mso-api-handler-infra - ${project.version} - - - org.onap.so.monitoring - so-monitoring-service - ${project.version} - - - org.onap.so - so-simulator - ${project.version} - - + + + org.onap.so.adapters + mso-vnfm-etsi-adapter + ${project.version} + + + org.onap.so.adapters + mso-ve-vnfm-adapter + ${project.version} + + + org.onap.so.adapters + mso-catalog-db-adapter + ${project.version} + + + org.onap.so.adapters + mso-requests-db-adapter + ${project.version} + + + org.onap.so + mso-sdnc-adapter + ${project.version} + + + org.onap.so + mso-openstack-adapters + ${project.version} + + + org.onap.so.adapters + mso-vfc-adapter + ${project.version} + + + org.onap.so.adapters + so-appc-orchestrator + ${project.version} + + + org.onap.so + asdc-controller + ${project.version} + + + org.onap.so + mso-infrastructure-bpmn + ${project.version} + + + org.onap.so + mso-api-handler-infra + ${project.version} + + + org.onap.so.monitoring + so-monitoring-service + ${project.version} + + + org.onap.so + so-simulator + ${project.version} + + -- cgit