diff options
author | Michal Kabaj <michal.kabaj@nokia.com> | 2019-11-28 13:04:16 +0100 |
---|---|---|
committer | Michal Kabaj <michal.kabaj@nokia.com> | 2019-11-29 10:47:09 +0100 |
commit | 64f2aa24065291fb62c687fc3e0efa12f492481c (patch) | |
tree | b344bdcd2d299f3fa0623356fab546bf1975a1ce /rest-services/aai-client/src | |
parent | 2f1cf71e142b1c3494bd4f652f3af2a296430b8f (diff) |
aaiclient api refactor
aai-client logic moved to PRH
Issue-ID: DCAEGEN2-1955
Change-Id: I3ff2fe942b29b13d0a2a6c859d98bd11b2c7a6a5
Signed-off-by: Michal Kabaj <michal.kabaj@nokia.com>
Diffstat (limited to 'rest-services/aai-client/src')
24 files changed, 0 insertions, 1140 deletions
diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiClientConfiguration.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiClientConfiguration.java deleted file mode 100644 index df3339f6..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiClientConfiguration.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018-2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api; - -import java.io.Serializable; -import java.util.Map; -import org.immutables.gson.Gson; -import org.immutables.value.Value; - -@Value.Immutable(prehash = true) -@Value.Style(builder = "new") -@Gson.TypeAdapters -public abstract class AaiClientConfiguration implements Serializable { - - private static final String PNF_PATH = "/network/pnfs/pnf"; - private static final String SERVICE_INSTANCE_PATH = "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}"; - - private static final long serialVersionUID = 1L; - - @Value.Parameter - @Value.Default - public String baseUrl() { - return ""; - } - - /** - * Please use baseUrl() instead - */ - @Deprecated - @Value.Default - public String pnfUrl() { - return baseUrl() + PNF_PATH; - } - - @Value.Parameter - public abstract String aaiUserName(); - - @Value.Parameter - public abstract String aaiUserPassword(); - - @Value.Parameter - public abstract Boolean aaiIgnoreSslCertificateErrors(); - - /** - * Please use baseUrl() instead - */ - @Deprecated - @Value.Default - public String aaiServiceInstancePath() { - return SERVICE_INSTANCE_PATH; - } - - @Value.Parameter - public abstract Map<String, String> aaiHeaders(); - - @Value.Parameter - public abstract String trustStorePath(); - - @Value.Parameter - public abstract String trustStorePasswordPath(); - - @Value.Parameter - public abstract String keyStorePath(); - - @Value.Parameter - public abstract String keyStorePasswordPath(); - - @Value.Parameter - public abstract Boolean enableAaiCertAuth(); -}
\ No newline at end of file diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiHttpClient.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiHttpClient.java deleted file mode 100644 index 442eea22..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiHttpClient.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018-2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api; - -import reactor.core.publisher.Mono; - -import java.util.function.Function; - -public interface AaiHttpClient<T, U> { - Mono<U> getAaiResponse(T aaiModel); - - default <S> AaiHttpClient<T, S> map(final Function<U,S> fn) { - return aaiModel -> AaiHttpClient.this.getAaiResponse(aaiModel).map(fn); - } -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiGetServiceInstanceClient.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiGetServiceInstanceClient.java deleted file mode 100644 index dd53bfc2..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiGetServiceInstanceClient.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.get; - -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.impl.AaiRequests.createAaiGetRequest; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.main.AaiHttpClientFactory.createRequestDiagnosticContext; - -import io.vavr.collection.HashMap; -import io.vavr.collection.Map; -import org.apache.commons.text.StringSubstitutor; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiServiceInstanceQueryModel; -import org.onap.dcaegen2.services.sdk.rest.services.uri.URI; -import reactor.core.publisher.Mono; - -public class AaiGetServiceInstanceClient implements - AaiHttpClient<AaiServiceInstanceQueryModel, HttpResponse> { - - private static final String CUSTOMER = "customer"; - private static final String SERVICE_TYPE = "serviceType"; - private static final String SERVICE_INSTANCE_ID = "serviceInstanceId"; - - private final RxHttpClient httpClient; - private final AaiClientConfiguration configuration; - - public AaiGetServiceInstanceClient(final AaiClientConfiguration configuration, - final RxHttpClient httpClient) { - this.configuration = configuration; - this.httpClient = httpClient; - } - - @Override - public Mono<HttpResponse> getAaiResponse(AaiServiceInstanceQueryModel aaiModel) { - final Map<String, String> mapping = HashMap.of( - CUSTOMER, aaiModel.customerId(), - SERVICE_TYPE, aaiModel.serviceType(), - SERVICE_INSTANCE_ID, aaiModel.serviceInstanceId()); - - final StringSubstitutor substitutor = new StringSubstitutor(mapping.toJavaMap()); - final String replaced = substitutor.replace(configuration.aaiServiceInstancePath()); - - final HttpRequest getRequest = createAaiGetRequest(getUri(replaced), - createRequestDiagnosticContext(), configuration.aaiHeaders()); - - return httpClient.call(getRequest); - } - - private String getUri(final String endpoint) { - return new URI.URIBuilder().path(configuration.baseUrl() + endpoint).build().toString(); - } -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiHttpGetClient.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiHttpGetClient.java deleted file mode 100644 index 6041a7c1..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiHttpGetClient.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018-2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.get; - -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.impl.AaiRequests.createAaiGetRequest; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.main.AaiHttpClientFactory.createRequestDiagnosticContext; - -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; -import org.onap.dcaegen2.services.sdk.rest.services.uri.URI; -import reactor.core.publisher.Mono; - -public final class AaiHttpGetClient implements AaiHttpClient<AaiModel, HttpResponse> { - - private final RxHttpClient httpClient; - private final AaiClientConfiguration configuration; - - - public AaiHttpGetClient(AaiClientConfiguration configuration, RxHttpClient httpClient) { - this.configuration = configuration; - this.httpClient = httpClient; - } - - @Override - public Mono<HttpResponse> getAaiResponse(AaiModel aaiModel) { - final HttpRequest getRequest = createAaiGetRequest(getUri(aaiModel.getCorrelationId()), - createRequestDiagnosticContext(), configuration.aaiHeaders()); - - return httpClient.call(getRequest); - } - - - private String getUri(String pnfName) { - return new URI.URIBuilder().path(configuration.pnfUrl() + "/" + pnfName).build().toString(); - } -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/patch/AaiHttpPatchClient.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/patch/AaiHttpPatchClient.java deleted file mode 100644 index 4979855e..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/patch/AaiHttpPatchClient.java +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.patch; - -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.impl.AaiRequests.createAaiPatchRequest; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.main.AaiHttpClientFactory.createRequestDiagnosticContext; - -import io.vavr.collection.HashMap; -import io.vavr.collection.Map; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.JsonBodyBuilder; -import org.onap.dcaegen2.services.sdk.rest.services.uri.URI; -import reactor.core.publisher.Mono; - -public final class AaiHttpPatchClient implements AaiHttpClient<AaiModel, HttpResponse> { - - private final static Map<String, String> CONTENT_TYPE = HashMap.of("Content-Type", "application/merge-patch+json"); - - private RxHttpClient httpClient; - private final AaiClientConfiguration configuration; - private final JsonBodyBuilder jsonBodyBuilder; - - - public AaiHttpPatchClient(final AaiClientConfiguration configuration, JsonBodyBuilder jsonBodyBuilder, - RxHttpClient httpClient) { - this.configuration = configuration; - this.jsonBodyBuilder = jsonBodyBuilder; - this.httpClient = httpClient; - } - - public Mono<HttpResponse> getAaiResponse(AaiModel aaiModel) { - final Map<String, String> headers = CONTENT_TYPE.merge(HashMap.ofAll(configuration.aaiHeaders())); - - final HttpRequest aaiPatchRequest = createAaiPatchRequest( - getUri(aaiModel.getCorrelationId()), - createRequestDiagnosticContext(), - headers.toJavaMap(), - jsonBodyBuilder, - aaiModel); - - return httpClient.call(aaiPatchRequest); - } - - private String getUri(String pnfName) { - return new URI.URIBuilder() - .path(configuration.pnfUrl() + "/" + pnfName).build().toString(); - } -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/put/AaiHttpPutClient.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/put/AaiHttpPutClient.java deleted file mode 100644 index a33370c2..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/put/AaiHttpPutClient.java +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.put; - -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.impl.AaiRequests.createAaiPutRequest; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.main.AaiHttpClientFactory.createRequestDiagnosticContext; - -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.JsonBodyBuilder; -import reactor.core.publisher.Mono; - -public class AaiHttpPutClient implements AaiHttpClient<AaiModel, HttpResponse> { - - private RxHttpClient httpClient; - private final AaiClientConfiguration configuration; - private final JsonBodyBuilder jsonBodyBuilder; - private final String uri; - - public AaiHttpPutClient(final AaiClientConfiguration configuration, JsonBodyBuilder jsonBodyBuilder, String uri, - RxHttpClient httpClient) { - this.configuration = configuration; - this.jsonBodyBuilder = jsonBodyBuilder; - this.uri = uri; - this.httpClient = httpClient; - } - - @Override - public Mono<HttpResponse> getAaiResponse(AaiModel aaiModel) { - final HttpRequest aaiPutRequest = createAaiPutRequest(uri, createRequestDiagnosticContext(), - configuration.aaiHeaders(), jsonBodyBuilder, aaiModel); - return httpClient.call(aaiPutRequest); - } -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/impl/AaiRequests.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/impl/AaiRequests.java deleted file mode 100644 index d46873aa..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/impl/AaiRequests.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018-2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.impl; - -import io.vavr.collection.HashMap; -import java.util.Map; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpMethod; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.ImmutableHttpRequest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RequestBody; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.ClientModel; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.JsonBodyBuilder; -import org.onap.dcaegen2.services.sdk.rest.services.model.logging.RequestDiagnosticContext; - -public final class AaiRequests { - - private AaiRequests(){} - - public static HttpRequest createAaiPatchRequest(String url, - RequestDiagnosticContext context, - Map<String, String> customHeaders, - JsonBodyBuilder jsonBodyBuilder, - ClientModel clientModel) { - - return buildAaiRequestWithBody(url, context, customHeaders, - jsonBodyBuilder, clientModel, HttpMethod.PATCH); - } - - public static HttpRequest createAaiPutRequest(String url, - RequestDiagnosticContext context, - Map<String, String> customHeaders, - JsonBodyBuilder jsonBodyBuilder, - ClientModel clientModel) { - - return buildAaiRequestWithBody(url, context, customHeaders, - jsonBodyBuilder, clientModel, HttpMethod.PUT); - } - - private static HttpRequest buildAaiRequestWithBody(String url, - RequestDiagnosticContext context, - Map<String, String> customHeaders, - JsonBodyBuilder jsonBodyBuilder, - ClientModel clientModel, - HttpMethod method) { - - String jsonBody = jsonBodyBuilder.createJsonBody(clientModel); - - return ImmutableHttpRequest.builder() - .url(url) - .customHeaders(HashMap.ofAll(customHeaders)) - .diagnosticContext(context) - .body(RequestBody.fromString(jsonBody)) - .method(method) - .build(); - } - - public static HttpRequest createAaiGetRequest(String url, - RequestDiagnosticContext context, - Map<String, String> customHeaders) { - return ImmutableHttpRequest.builder() - .method(HttpMethod.GET) - .url(url) - .customHeaders(HashMap.ofAll(customHeaders)) - .diagnosticContext(context) - .build(); - } -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/main/AaiHttpClientFactory.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/main/AaiHttpClientFactory.java deleted file mode 100644 index 743fa44d..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/main/AaiHttpClientFactory.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018-2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.main; - -import java.nio.file.Paths; -import java.util.UUID; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClientFactory; -import org.onap.dcaegen2.services.sdk.rest.services.model.logging.ImmutableRequestDiagnosticContext; -import org.onap.dcaegen2.services.sdk.rest.services.model.logging.RequestDiagnosticContext; -import org.onap.dcaegen2.services.sdk.security.ssl.ImmutableSecurityKeys; -import org.onap.dcaegen2.services.sdk.security.ssl.ImmutableSecurityKeysStore; -import org.onap.dcaegen2.services.sdk.security.ssl.Passwords; -import org.onap.dcaegen2.services.sdk.security.ssl.SecurityKeys; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class AaiHttpClientFactory { - - private static final Logger LOGGER = LoggerFactory.getLogger(AaiHttpClientFactory.class); - - private final AaiClientConfiguration configuration; - - public AaiHttpClientFactory(AaiClientConfiguration configuration) { - this.configuration = configuration; - } - - public RxHttpClient build() { - LOGGER.debug("Setting ssl context"); - - if (configuration.enableAaiCertAuth()) { - return RxHttpClientFactory.create(createSslKeys()); - } else { - return RxHttpClientFactory.createInsecure(); - } - } - - private SecurityKeys createSslKeys() { - return ImmutableSecurityKeys.builder() - .keyStore(ImmutableSecurityKeysStore.of(Paths.get(configuration.keyStorePath()))) - .keyStorePassword(Passwords.fromPath(Paths.get(configuration.keyStorePasswordPath()))) - .trustStore(ImmutableSecurityKeysStore.of(Paths.get(configuration.trustStorePath()))) - .trustStorePassword(Passwords.fromPath(Paths.get(configuration.trustStorePasswordPath()))) - .build(); - } - - public static RequestDiagnosticContext createRequestDiagnosticContext() { - return ImmutableRequestDiagnosticContext.builder() - .invocationId(UUID.randomUUID()).requestId(UUID.randomUUID()).build(); - } - -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/AaiModel.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/AaiModel.java deleted file mode 100644 index eb96031e..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/AaiModel.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.model; - -@FunctionalInterface -public interface AaiModel extends ClientModel { - - String getCorrelationId(); -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/AaiServiceInstanceQueryModel.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/AaiServiceInstanceQueryModel.java deleted file mode 100644 index a0135a99..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/AaiServiceInstanceQueryModel.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.model; - -import org.immutables.value.Value; - -@Value.Style(stagedBuilder = true) -@Value.Immutable -public interface AaiServiceInstanceQueryModel extends ClientModel { - String customerId(); - String serviceType(); - String serviceInstanceId(); -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/ClientModel.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/ClientModel.java deleted file mode 100644 index d4457c6f..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/ClientModel.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.model; - -public interface ClientModel { -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/DmaapModel.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/DmaapModel.java deleted file mode 100644 index 7cae908d..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/DmaapModel.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.model; - -public interface DmaapModel extends ClientModel { -} diff --git a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/JsonBodyBuilder.java b/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/JsonBodyBuilder.java deleted file mode 100644 index 4b674aaf..00000000 --- a/rest-services/aai-client/src/main/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/model/JsonBodyBuilder.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2018 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.model; - -@FunctionalInterface -public interface JsonBodyBuilder<T extends ClientModel> { - - /** - * Method for serialization object by GSON. - * - * @param t - object which will be serialized - * @return string from serialization - */ - - String createJsonBody(T t); -}
\ No newline at end of file diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiClientConfigurations.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiClientConfigurations.java deleted file mode 100644 index 096f3fca..00000000 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AaiClientConfigurations.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api; - -import java.util.HashMap; -import java.util.Map; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.ImmutableAaiClientConfiguration; - -public final class AaiClientConfigurations { - - private AaiClientConfigurations() { - } - - public static AaiClientConfiguration secureConfiguration() { - return secureConfiguration(new HashMap<>()); - } - - public static AaiClientConfiguration secureConfiguration(Map<String, String> headers) { - return validConfiguration(headers, true); - } - - public static AaiClientConfiguration insecureConfiguration() { - return validConfiguration(new HashMap<>(), false); - } - - private static AaiClientConfiguration validConfiguration(Map<String, String> headers, boolean secure) { - return new ImmutableAaiClientConfiguration.Builder() - .baseUrl("https://aai.onap.svc.cluster.local:8443/aai/v12") - .aaiUserName("sample-username") - .aaiUserPassword("sample-password") - .aaiIgnoreSslCertificateErrors(false) - .trustStorePath("/trust.pkcs12") - .trustStorePasswordPath("/trust.pass") - .keyStorePath("/server.pkcs12") - .keyStorePasswordPath("/server.pass") - .enableAaiCertAuth(secure) - .aaiHeaders(headers) - .aaiServiceInstancePath("/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}") - .build(); - } -}
\ No newline at end of file diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AbstractHttpClientTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AbstractHttpClientTest.java deleted file mode 100644 index 9fd46edc..00000000 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/AbstractHttpClientTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api; - -import static org.mockito.Mockito.mock; - -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.JsonBodyBuilder; -import org.onap.dcaegen2.services.sdk.rest.services.uri.URI; - -public class AbstractHttpClientTest { - - protected final AaiModel aaiModel = () -> "test-id"; - protected final RxHttpClient httpClient = mock(RxHttpClient.class); - protected final JsonBodyBuilder bodyBuilder = mock(JsonBodyBuilder.class); - protected final HttpResponse response = mock(HttpResponse.class); - - - protected String constructAaiUri(AaiClientConfiguration configuration, String pnfName) { - return new URI.URIBuilder().path(configuration.pnfUrl() + "/" + pnfName).build().toString(); - } -} diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiGetServiceInstanceClientTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiGetServiceInstanceClientTest.java deleted file mode 100644 index 142bf593..00000000 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiGetServiceInstanceClientTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.get; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfigurations.secureConfiguration; - -import io.vavr.collection.HashMap; -import io.vavr.collection.Map; -import org.junit.jupiter.api.Test; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AbstractHttpClientTest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiServiceInstanceQueryModel; -import reactor.core.publisher.Mono; -import reactor.test.StepVerifier; - -class AaiGetServiceInstanceClientTest extends AbstractHttpClientTest { - - public static final String SERVICE_INSTANCE_PATH = "https://aai.onap.svc.cluster.local:8443/aai/v12/business/customers/customer/Demonstration/" - + "service-subscriptions/service-subscription/VCPE/service-instances/service-instance/df018f76-7fc8-46ab-8444-7d67e1efc284"; - - @Test - void getAaiResponse_shouldCallGetMethod_withGivenAaiHeaders() { - - // given - AaiServiceInstanceQueryModel model = mock(AaiServiceInstanceQueryModel.class); - Map<String, String> headers = HashMap.of("sample-key", "sample-value"); - AaiGetServiceInstanceClient cut = new AaiGetServiceInstanceClient(secureConfiguration(headers.toJavaMap()), - httpClient); - - given(model.customerId()).willReturn("Demonstration"); - given(model.serviceInstanceId()).willReturn("df018f76-7fc8-46ab-8444-7d67e1efc284"); - given(model.serviceType()).willReturn("VCPE"); - - given(httpClient.call(any(HttpRequest.class))) - .willReturn(Mono.just(response)); - - // when - StepVerifier - .create(cut.getAaiResponse(model)) - .expectNext(response) - .verifyComplete(); - - //then - verify(httpClient) - .call(argThat(httpRequest -> httpRequest.customHeaders().equals(headers) && - httpRequest.url().equals(SERVICE_INSTANCE_PATH))); - } -} diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiHttpGetClientTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiHttpGetClientTest.java deleted file mode 100644 index 49fbf8c5..00000000 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/get/AaiHttpGetClientTest.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.get; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.verify; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfigurations.secureConfiguration; - -import io.vavr.collection.HashMap; -import io.vavr.collection.Map; -import org.junit.jupiter.api.Test; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AbstractHttpClientTest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import reactor.core.publisher.Mono; -import reactor.test.StepVerifier; - -class AaiHttpGetClientTest extends AbstractHttpClientTest { - - @Test - void getAaiResponse_shouldCallGetMethod_withGivenAaiHeaders() { - - // given - Map<String, String> headers = HashMap.of("sample-key", "sample-value"); - AaiHttpGetClient cut = new AaiHttpGetClient(secureConfiguration(headers.toJavaMap()), httpClient); - - given(httpClient.call(any(HttpRequest.class))) - .willReturn(Mono.just(response)); - - // when - StepVerifier - .create(cut.getAaiResponse(aaiModel)) - .expectNext(response) - .verifyComplete(); - - //then - verify(httpClient) - .call(argThat(httpRequest -> httpRequest.customHeaders().equals(headers))); - } - - @Test - void getAaiResponse_shouldCallGetMethod_withProperUri() { - - // given - AaiClientConfiguration configuration = secureConfiguration(); - String uri = constructAaiUri(configuration, aaiModel.getCorrelationId()); - AaiHttpGetClient cut = new AaiHttpGetClient(configuration, httpClient); - - given(httpClient.call(any(HttpRequest.class))) - .willReturn(Mono.just(response)); - - // when - StepVerifier - .create(cut.getAaiResponse(aaiModel)) - .expectNext(response) - .verifyComplete(); - - // then - verify(httpClient) - .call(argThat(httpRequest -> httpRequest.url().equals(uri))); - } -} diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/patch/AaiHttpPatchClientTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/patch/AaiHttpPatchClientTest.java deleted file mode 100644 index 7d28ec1e..00000000 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/patch/AaiHttpPatchClientTest.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.patch; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.verify; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfigurations.secureConfiguration; - -import io.vavr.collection.HashMap; -import io.vavr.collection.Map; -import org.junit.jupiter.api.Test; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AbstractHttpClientTest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import reactor.core.publisher.Mono; -import reactor.test.StepVerifier; - -class AaiHttpPatchClientTest extends AbstractHttpClientTest { - - private final Map<String, String> DEFAULT_PATCH_HEADERS = - HashMap.of("Content-Type", "application/merge-patch+json"); - - @Test - void getAaiResponse_shouldCallPatchMethod_withGivenHeaders_combinedWithContentType() { - - // given - Map<String, String> headers = HashMap.of("sample-key", "sample-value"); - Map<String, String> expectedHeaders = DEFAULT_PATCH_HEADERS.merge(headers); - - AaiHttpPatchClient cut = - new AaiHttpPatchClient(secureConfiguration(headers.toJavaMap()), bodyBuilder, httpClient); - - given(bodyBuilder.createJsonBody(eq(aaiModel))) - .willReturn("test-body"); - - given(httpClient.call(any(HttpRequest.class))) - .willReturn(Mono.just(response)); - - // when - StepVerifier - .create(cut.getAaiResponse(aaiModel)) - .expectNext(response) - .verifyComplete(); - - // then - verify(httpClient) - .call(argThat(httpRequest -> httpRequest.customHeaders().equals(expectedHeaders))); - } - - @Test - void getAaiResponse_shouldCallPatchMethod_withProperUri() { - - // given - AaiClientConfiguration configuration = secureConfiguration(); - String uri = constructAaiUri(configuration, aaiModel.getCorrelationId()); - AaiHttpPatchClient cut = new AaiHttpPatchClient(configuration, bodyBuilder, httpClient); - - given(bodyBuilder.createJsonBody(eq(aaiModel))) - .willReturn("test-body"); - - given(httpClient.call(any(HttpRequest.class))) - .willReturn(Mono.just(response)); - - // when - StepVerifier - .create(cut.getAaiResponse(aaiModel)) - .expectNext(response) - .verifyComplete(); - - // then - verify(httpClient) - .call(argThat(httpRequest -> httpRequest.url().equals(uri))); - } -} diff --git a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/put/AaiHttpPutClientTest.java b/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/put/AaiHttpPutClientTest.java deleted file mode 100644 index f50c53c1..00000000 --- a/rest-services/aai-client/src/test/java/org/onap/dcaegen2/services/sdk/rest/services/aai/client/api/put/AaiHttpPutClientTest.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * DCAEGEN2-SERVICES-SDK - * ================================================================================ - * Copyright (C) 2019 NOKIA Intellectual Property. 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.dcaegen2.services.sdk.rest.services.aai.client.api.put; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.BDDMockito.given; -import static org.mockito.Mockito.verify; -import static org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfigurations.secureConfiguration; - -import io.vavr.collection.HashMap; -import io.vavr.collection.Map; -import org.junit.jupiter.api.Test; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AbstractHttpClientTest; -import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest; -import reactor.core.publisher.Mono; -import reactor.test.StepVerifier; - -class AaiHttpPutClientTest extends AbstractHttpClientTest { - - @Test - void getAaiResponse_shouldCallPutMethod_withGivenAaiHeaders() { - Map<String, String> headers = HashMap.of("sample-key", "sample-value"); - AaiHttpPutClient cut = new AaiHttpPutClient(secureConfiguration(headers.toJavaMap()), bodyBuilder, "", - httpClient); - - given(bodyBuilder.createJsonBody(eq(aaiModel))) - .willReturn("test-body"); - - given(httpClient.call(any(HttpRequest.class))) - .willReturn(Mono.just(response)); - - StepVerifier - .create(cut.getAaiResponse(aaiModel)) - .expectNext(response) - .verifyComplete(); - - verify(httpClient) - .call(argThat(httpRequest -> httpRequest.customHeaders().equals(headers))); - } - - @Test - void getAaiResponse_shouldCallPutMethod_withProperUri() { - String uri = "test-uri"; - AaiHttpPutClient cut = new AaiHttpPutClient(secureConfiguration(), bodyBuilder, uri, httpClient); - - given(bodyBuilder.createJsonBody(eq(aaiModel))) - .willReturn("test-body"); - - given(httpClient.call(any(HttpRequest.class))) - .willReturn(Mono.just(response)); - - StepVerifier - .create(cut.getAaiResponse(aaiModel)) - .expectNext(response) - .verifyComplete(); - - verify(httpClient) - .call(argThat(httpRequest -> httpRequest.url().equals(uri))); - - } -} diff --git a/rest-services/aai-client/src/test/resources/server.pass b/rest-services/aai-client/src/test/resources/server.pass deleted file mode 100644 index e69de29b..00000000 --- a/rest-services/aai-client/src/test/resources/server.pass +++ /dev/null diff --git a/rest-services/aai-client/src/test/resources/server.pkcs12 b/rest-services/aai-client/src/test/resources/server.pkcs12 deleted file mode 100644 index 40e25932..00000000 --- a/rest-services/aai-client/src/test/resources/server.pkcs12 +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC225TsqniWsqLQ -YmOmmZxlpzBwhzU4pXiRfIZBUuT+ajPQVFx+zVv6ecEjXEFgQfNR60VZ3h6Zus32 -bVD7XKlwuL6U5P7Mt1k/K5RFPrr9WGFT/K9I8V69VmfLBnMTo4YjDEaTKiJqAC0W -pN6Jm7ZLXzHNmHmm+CdufeNcKQ0kKFI0/C5V4X8o2wYo7ptC2PnKrLleapNqq86N -GSw+pudWmlhMnsrEP9yWp2Crz2QynbwGDfvfLnenf643ViCV8MRBqdX6VtKfnxzl -IYzAdWuYJDwyKVOvDBOgWSd8SWW9aqly0qZFIrTCFmUlsecTYXIn7J8VsoWX54Xf -Bp8VNy3/AgMBAAECggEATzN4o7GKnast/hg/lU9/gEAUKQlHMgvp1woalHy1FsUl -QBzqGzoTlr/Zudkhr/Gg1GCVH0Gn+2n//7aFlvohoeNDGPa+rijUDRpxFDUBhO4c -6eXOfkedg2DDgBqBCYaQeOm+P8vGMCd3YBF1GiFJqgfHaIecWYeufJsmOSrGuFvK -1OvHpvg4/FLLQqgVcVO812kD4UwSOKnZVnPuZ3pzQviUZvO8ZxI/LkzQB1EdH6u3 -rBtiGslYkiKl5cGpH39/Dx2nKhHfvSnkfsm7koB00Bl41yy61GPwdl4XUwg8LUhX -TbsuoIPGTJX/2FUMn0UnAdDJm29hE4eyHyYOhew8gQKBgQDlAeUcnFr9uxe0i7cg -6ctJlNIKJjlA1tH4qIMEytdn06STo9g2j8X5HVE0FX/3+gAYDtEVICTF66w8Y474 -aeazvf+TCfkxtEOiH2afvaNkIkfzKR0ceB48DECT0DCF7xha5rJVf/W4GpCz2WkZ -ojDzw5ZVvzbx/FaF9A/IseJ63wKBgQDMaSjiephhdlCERGPdwWMg3AfthEX/VHM0 -YugbVjjYjDbn2pMkntW2hUuVXP8HD+9DnQZo0/c/hxe28Q5b+2fjZephdctnY8tL -XWbaEerM2lxEjmrpA4jYTBZJ9nMsxkEYHGHb5I586aS2YaZ12e7DoKMFdl0EZzvi -zGPIxSzQ4QKBgAxVv8t8uIH2M96rr997+FEsTOvzBx5w87pbCUOW0WdsRO8W4ix+ -LgGvDJKrncrzklG5apWit5hZi1ttWWQUADMqRrvay6tbtFDlNBfilQxttEZqroC8 -D5TYbBoKGrL8H+m1h2GHlOqns6ecTEbvL4fRvyU7OXBrURXCAZ+jxTktAoGACbQI -O9AEAcRjCBRTBUjT0tB/E9hOllNE8LytNfb+1dC6HoFysK9Vh8eGEf4LISOxgO0o -S7ucJgjcqFODEfy6LsI8wQmdcTf8g4RYiIuHMNhAvwRfsNX5HgNmn3Yye3Khzmoy -fwS3etiAeCPkif2hZunuMykuOzJHVnnLVtF9UiECgYEA41d7FgUcnfPIyA5xLg7K -lRgjFMsc68uzoCBQww2kio0HNJpdOPBJlg6oHHfYKriv2r9793jETRVwjSNPlKZb -vqm9yhnbXuahYBZSgdo2W+NbhP6IbJ0vrF4t9g6byjancQptaCjNIr9St9g+Ugly -8m0n3gIT/+Lr+it63cgk8SA= ------END PRIVATE KEY----- diff --git a/rest-services/aai-client/src/test/resources/transaction.json b/rest-services/aai-client/src/test/resources/transaction.json deleted file mode 100644 index 5cbb5621..00000000 --- a/rest-services/aai-client/src/test/resources/transaction.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "operations": [ - { - "action": "put", - "uri": "/network/logical-links/logical-link/foo", - "body": { - "link-name": "foo" - } - } - ] -}
\ No newline at end of file diff --git a/rest-services/aai-client/src/test/resources/trust.pass b/rest-services/aai-client/src/test/resources/trust.pass deleted file mode 100644 index e69de29b..00000000 --- a/rest-services/aai-client/src/test/resources/trust.pass +++ /dev/null diff --git a/rest-services/aai-client/src/test/resources/trust.pkcs12 b/rest-services/aai-client/src/test/resources/trust.pkcs12 Binary files differdeleted file mode 100644 index 01b61373..00000000 --- a/rest-services/aai-client/src/test/resources/trust.pkcs12 +++ /dev/null |