From 06a8e46e6beb8538d75b27b8cb7d82e3bcab0a2d Mon Sep 17 00:00:00 2001 From: "Wonnell, Skip (kw5258)" Date: Fri, 27 Apr 2018 14:14:01 -0500 Subject: Fixes for Chef Adapter bundle Programatically configure values for truststore and password when initializing the HttpClient. Update post and put methods to set entity Add organization into request URI Restore log messages to original values Issue-ID: APPC-868 Change-Id: Ia0fdf13fcb1e3ad91a4d2c5ce704523562191379 Signed-off-by: Wonnell, Skip (kw5258) --- .../chefclient/impl/ChefApiClientImplTest.java | 5 ++-- .../chef/impl/ChefAdapterImplJobPusherTest.java | 8 ++++++ .../adapter/chef/impl/ChefAdapterImplTest.java | 7 ++--- .../impl/ChefAdapterImplVNFCOperationsTest.java | 30 +++++++++++++++++----- 4 files changed, 39 insertions(+), 11 deletions(-) (limited to 'appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test') diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImplTest.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImplTest.java index ed39efb1b..f1e215aa4 100644 --- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImplTest.java +++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImplTest.java @@ -3,6 +3,7 @@ * ONAP : APPC * ================================================================================ * Copyright (C) 2018 Nokia. All rights reserved. + * Copyright (C) 2018 AT&T 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. @@ -199,7 +200,7 @@ public class ChefApiClientImplTest { boolean headersMatch = checkIfHeadersMatch(httpRequestBase); try { return methodName.equals(httpRequestBase.getMethod()) - && new URI(END_POINT + REQUEST_PATH).equals(httpRequestBase.getURI()) + && new URI(END_POINT + "/organizations/" + ORGANIZATIONS_PATH + REQUEST_PATH).equals(httpRequestBase.getURI()) && headersMatch; } catch (URISyntaxException e) { e.printStackTrace(); @@ -215,4 +216,4 @@ public class ChefApiClientImplTest { .allMatch(p -> httpRequestBase.getFirstHeader(p.getKey()).getValue().equals(p.getValue())); } } -} \ No newline at end of file +} diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplJobPusherTest.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplJobPusherTest.java index f4d19e22b..9e83dd63d 100644 --- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplJobPusherTest.java +++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplJobPusherTest.java @@ -3,6 +3,7 @@ * ONAP : APPC * ================================================================================ * Copyright (C) 2018 Nokia. All rights reserved. + * Copyright (C) 2018 AT&T 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. @@ -86,6 +87,7 @@ public class ChefAdapterImplJobPusherTest { assertThat(svcLogicContext.getAttribute(JOB_ID)).isEqualTo("666"); } + @SuppressWarnings("unchecked") public void assertSuccessfulPostCallForStatus(int expectedHttpStatus) throws SvcLogicException { // GIVEN Map params = givenInputParams( @@ -106,6 +108,7 @@ public class ChefAdapterImplJobPusherTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo(EXPECTED_RESPONSE_MSG); } + @SuppressWarnings("unchecked") @Test public void pushJob_shouldHandleAllOccurringExceptions_duringMethodExecution() { // GIVEN @@ -126,6 +129,7 @@ public class ChefAdapterImplJobPusherTest { assertThat(svcLogicContext.getAttribute(JOB_ID)).isBlank(); } + @SuppressWarnings("unchecked") @Test public void checkPushJob_shouldSetFailStatusAndMsgInContext_andThrowException_whenRetryTimesParamIsMissing() { // GIVEN @@ -137,6 +141,7 @@ public class ChefAdapterImplJobPusherTest { assertIfInputParamsAreValidated(params); } + @SuppressWarnings("unchecked") @Test public void checkPushJob_shouldSetFailStatusAndMsgInContext_andThrowException_whenRetryIntervalParamIsMissing() { // GIVEN @@ -148,6 +153,7 @@ public class ChefAdapterImplJobPusherTest { assertIfInputParamsAreValidated(params); } + @SuppressWarnings("unchecked") @Test public void checkPushJob_shouldSetFailStatusAndMsgInContext_andThrowException_whenJobIdParamIsMissing() { // GIVEN @@ -211,6 +217,7 @@ public class ChefAdapterImplJobPusherTest { ChefResponse.create(HttpStatus.SC_OK, "{status:running}")); } + @SuppressWarnings("unchecked") public void assertCheckJobStatusFor(String expectedHttpStatus, String expectedMessage, ChefResponse firstResponse, ChefResponse... nextResponses) throws SvcLogicException { @@ -233,6 +240,7 @@ public class ChefAdapterImplJobPusherTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo(expectedMessage); } + @SuppressWarnings("unchecked") private Map givenInputParams(Entry... entries) { Builder paramsBuilder = ImmutableMap.builder(); paramsBuilder.put("username", USERNAME) diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplTest.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplTest.java index 62de292d9..3d4ee361b 100644 --- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplTest.java +++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplTest.java @@ -3,6 +3,7 @@ * ONAP : APPC * ================================================================================ * Copyright (C) 2018 Nokia. All rights reserved. + * Copyright (C) 2018 AT&T 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. @@ -123,7 +124,7 @@ public class ChefAdapterImplTest { // GIVEN Map params = ImmutableMap.of(IP_PARAM, ENDPOINT_IP); SvcLogicContext svcLogicContext = new SvcLogicContext(); - given(chefApiClientFactory.create(ENDPOINT_IP).get("")) + given(chefApiClientFactory.create(ENDPOINT_IP, "").get("")) .willReturn(ChefResponse.create(HttpStatus.SC_OK, EXPECTED_RESPONSE_MSG)); // WHEN @@ -141,7 +142,7 @@ public class ChefAdapterImplTest { // GIVEN Map params = ImmutableMap.of(IP_PARAM, ENDPOINT_IP); SvcLogicContext svcLogicContext = new SvcLogicContext(); - given(chefApiClientFactory.create(ENDPOINT_IP)).willThrow(new RuntimeException()); + given(chefApiClientFactory.create(ENDPOINT_IP, "")).willThrow(new RuntimeException()); // WHEN chefAdapterFactory.create().trigger(params, svcLogicContext); @@ -192,4 +193,4 @@ public class ChefAdapterImplTest { assertThat(svcLogicContext.getAttribute("chefServerResult.message")) .isEqualTo(expectedErrorMsg); } -} \ No newline at end of file +} diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java index 7f9c505ff..e79b72acb 100644 --- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java +++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java @@ -3,6 +3,7 @@ * ONAP : APPC * ================================================================================ * Copyright (C) 2018 Nokia. All rights reserved. + * Copyright (C) 2018 AT&T 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. @@ -74,6 +75,7 @@ public class ChefAdapterImplVNFCOperationsTest { svcLogicContext = new SvcLogicContext(); } + @SuppressWarnings("unchecked") @Test public void vnfcEnvironment_shouldSkipEnvironmentCreation_whenEnvParamIsEmpty() throws SvcLogicException { // GIVEN @@ -89,6 +91,7 @@ public class ChefAdapterImplVNFCOperationsTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo("Skip Environment block "); } + @SuppressWarnings("unchecked") @Test public void vnfcEnvironment_shouldCreateNewEnvironment_forEnvParam_whenRequestedEnvDoesNotExist() throws SvcLogicException { @@ -113,6 +116,7 @@ public class ChefAdapterImplVNFCOperationsTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo(expectedErrorMessage); } + @SuppressWarnings("unchecked") @Test public void vnfcEnvironment_shouldNotAttemptEnvCreation_andThrowException_whenPrivateKeyCheckFails() { // GIVEN @@ -132,6 +136,7 @@ public class ChefAdapterImplVNFCOperationsTest { .isEqualTo(expectedErrorMsg + CLIENT_PRIVATE_KEY_PATH); } + @SuppressWarnings("unchecked") @Test public void vnfcEnvironment_shouldNotAttemptEnvCreation_andHandleJSONException_whenJSONParamsAreMalformed() { // GIVEN @@ -151,6 +156,7 @@ public class ChefAdapterImplVNFCOperationsTest { .startsWith(expectedErrorMessage); } + @SuppressWarnings("unchecked") @Test public void vnfcEnvironment_shouldNotAttemptEnvCreation_andHandleException_whenExceptionOccursDuringExecution() { // GIVEN @@ -163,7 +169,7 @@ public class ChefAdapterImplVNFCOperationsTest { // WHEN // THEN assertThatExceptionOfType(SvcLogicException.class) .isThrownBy(() -> chefAdapterFactory.create().vnfcEnvironment(params, svcLogicContext)) - .withMessage(CHEF_ADAPTER_ERROR_PREFIX + expectedErrorMessage + "Null value encountered"); + .withMessage(CHEF_ADAPTER_ERROR_PREFIX + expectedErrorMessage + "vnfcEnvironmentNull value encountered"); assertThat(svcLogicContext.getStatus()).isEqualTo(FAILURE_STATUS); assertThat(svcLogicContext.getAttribute(RESULT_CODE_ATTR_KEY)) @@ -194,6 +200,7 @@ public class ChefAdapterImplVNFCOperationsTest { assertNodeObjectsAreUpdatedFor(firstNodeResponse, secondNodeResponse, expectedHttpStatus, expectedMessage); } + @SuppressWarnings("unchecked") public void assertNodeObjectsAreUpdatedFor(ChefResponse firstNodeResponse, ChefResponse secondNodeResponse, int expectedHttpStatus, String expectedMessage) throws SvcLogicException { // GIVEN @@ -220,6 +227,7 @@ public class ChefAdapterImplVNFCOperationsTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo(expectedMessage); } + @SuppressWarnings("unchecked") @Test public void vnfcNodeObjects_shouldThrowSvcLogicException_whenNodeListParamIsEmpty() { Map params = givenInputParams( @@ -228,6 +236,7 @@ public class ChefAdapterImplVNFCOperationsTest { checkMissingParamsAreValidated(params); } + @SuppressWarnings("unchecked") @Test public void vnfcNodeObjects_shouldThrowSvcLogicException_whenNodeParamIsEmpty() { Map params = givenInputParams( @@ -238,7 +247,7 @@ public class ChefAdapterImplVNFCOperationsTest { public void checkMissingParamsAreValidated(Map params) { // GIVEN - String expectedErrorMsg = "Missing Mandatory param(s) Node , NodeList "; + String expectedErrorMsg = "vnfcNodeobjectsMissing Mandatory param(s) Node , NodeList "; // WHEN // THEN assertThatExceptionOfType(SvcLogicException.class) @@ -252,6 +261,7 @@ public class ChefAdapterImplVNFCOperationsTest { .isEqualTo("Error posting request: " + expectedErrorMsg); } + @SuppressWarnings("unchecked") @Test public void vnfcNodeObjects_shouldNotUpdateNodes_andHandleJSONException_whenJSONParamsAreMalformed() { // GIVEN @@ -273,6 +283,7 @@ public class ChefAdapterImplVNFCOperationsTest { .startsWith(expectedErrorMessage); } + @SuppressWarnings("unchecked") @Test public void vnfcPushJob_shouldUpdateSvcContextWithJobId_whenPushJobWasSuccessfullyCreatedWithCallbackUrl() throws SvcLogicException { @@ -296,6 +307,7 @@ public class ChefAdapterImplVNFCOperationsTest { + "someURLForCallback" + "\"}," + "\"capture_output\": true" + "}"; } + @SuppressWarnings("unchecked") @Test public void vnfcPushJob_shouldUpdateSvcContextWithJobId_whenPushJobWasSuccessfullyCreatedWithoutCallbackUrl() throws SvcLogicException { @@ -334,10 +346,11 @@ public class ChefAdapterImplVNFCOperationsTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo(expectedResponseMessage); } + @SuppressWarnings("unchecked") @Test public void vnfcPushJob_shouldNotPushJob_andThrowException_whenNodeListParamIsEmpty() { // GIVEN - String expectedErrorMessage = "Error posting request: Missing Mandatory param(s) NodeList "; + String expectedErrorMessage = "Error posting request: vnfcPushJobMissing Mandatory param(s) NodeList "; Map params = givenInputParams(); // WHEN // THEN assertThatExceptionOfType(SvcLogicException.class) @@ -350,10 +363,11 @@ public class ChefAdapterImplVNFCOperationsTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo(expectedErrorMessage); } + @SuppressWarnings("unchecked") @Test public void fetchResults_shouldNotFetchResults_andThrowException_whenNodeListParamIsEmpty() { // GIVEN - String expectedErrorMessage = "Error posting request: Missing Mandatory param(s) NodeList "; + String expectedErrorMessage = "Error posting request: fetchResultsMissing Mandatory param(s) NodeList "; Map params = givenInputParams(); // WHEN // THEN assertThatExceptionOfType(SvcLogicException.class) @@ -366,13 +380,14 @@ public class ChefAdapterImplVNFCOperationsTest { assertThat(svcLogicContext.getAttribute(RESULT_MESSAGE_ATTR_KEY)).isEqualTo(expectedErrorMessage); } + @SuppressWarnings("unchecked") @Test public void fetchResults_shouldNotFetchResults_andThrowException_whenPrivateKeyCheckFails() { // GIVEN Map params = givenInputParams( immutableEntry("NodeList", "[\"test1.vnf_b.onap.com\", \"test2.vnf_b.onap.com\"]")); String expectedErrorMessage = - "Error posting request: " + "Error posting request: fetchResults" + CHEF_ADAPTER_ERROR_PREFIX + "Cannot find the private key in the APPC file system, please load the private key to " + CLIENT_PRIVATE_KEY_PATH; @@ -390,6 +405,7 @@ public class ChefAdapterImplVNFCOperationsTest { .isEqualTo(expectedErrorMessage); } + @SuppressWarnings("unchecked") @Test public void fetchResults_shouldUpdateSvcLogicContextWithJsonResponse_fromSuccessfulChefServerCall() throws SvcLogicException { @@ -414,6 +430,7 @@ public class ChefAdapterImplVNFCOperationsTest { .isEqualTo("{\"test1.vnf_b.onap.com\":{\"PushJobOutput\":\"ssh start/running, process 1090\"}}"); } + @SuppressWarnings("unchecked") @Test public void fetchResults_shouldUpdateSvcLogicContextWithFailedMessage_whenReturnedJSONMessageIsMissingAttribute() throws SvcLogicException { @@ -438,6 +455,7 @@ public class ChefAdapterImplVNFCOperationsTest { .isEqualTo("Cannot find PushJobOutput"); } + @SuppressWarnings("unchecked") private Map givenInputParams(Entry... entries) { Builder paramsBuilder = ImmutableMap.builder(); paramsBuilder.put("username", USERNAME) @@ -449,4 +467,4 @@ public class ChefAdapterImplVNFCOperationsTest { } return paramsBuilder.build(); } -} \ No newline at end of file +} -- cgit 1.2.3-korg