aboutsummaryrefslogtreecommitdiffstats
path: root/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle
diff options
context:
space:
mode:
authorWonnell, Skip (kw5258) <kw5258@att.com>2018-04-27 14:14:01 -0500
committerRanda Maher <rx196w@att.com>2018-04-27 21:18:47 +0000
commit06a8e46e6beb8538d75b27b8cb7d82e3bcab0a2d (patch)
tree7f4c0caab99e104718262fc28a289149a4f39446 /appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle
parentdf1c3a5b0862a881a1159e5c350eae7982bb9663 (diff)
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) <kw5258@att.com>
Diffstat (limited to 'appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle')
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/ChefApiClientFactory.java44
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImpl.java30
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiHeaderFactory.java6
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefRequestBuilder.java15
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/impl/ChefAdapterImpl.java33
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImplTest.java5
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplJobPusherTest.java8
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplTest.java7
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplVNFCOperationsTest.java30
9 files changed, 116 insertions, 62 deletions
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/ChefApiClientFactory.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/ChefApiClientFactory.java
index 11d820d5d..c41142cc0 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/ChefApiClientFactory.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/ChefApiClientFactory.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.
@@ -19,30 +20,51 @@
*/
package org.onap.appc.adapter.chef.chefclient;
-import com.google.common.collect.ImmutableMap;
+import java.io.File;
+import java.io.IOException;
+import java.security.KeyManagementException;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.CertificateException;
import org.apache.http.client.HttpClient;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.client.HttpClients;
+import org.apache.http.ssl.SSLContexts;
import org.onap.appc.adapter.chef.chefclient.api.ChefApiClient;
import org.onap.appc.adapter.chef.chefclient.impl.ChefApiClientImpl;
import org.onap.appc.adapter.chef.chefclient.impl.ChefApiHeaderFactory;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.collect.ImmutableMap;
public class ChefApiClientFactory {
- private HttpClient httpClient = HttpClients.createDefault();
+ private static final EELFLogger logger = EELFManager.getInstance().getLogger(ChefApiClientFactory.class);
+
+ private HttpClient createChefHttpClient() {
+ String trustStoreFileName = "/opt/app/bvc/chef/chefServerSSL.jks";
+ char[] trustStoreCreds = "adminadmin".toCharArray();
+ try {
+ SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
+ SSLContexts.custom().loadTrustMaterial(new File(trustStoreFileName), trustStoreCreds).build(),
+ SSLConnectionSocketFactory.getDefaultHostnameVerifier());
+ return HttpClients.custom().setSSLSocketFactory(sslsf).build();
+ } catch (KeyManagementException | NoSuchAlgorithmException | KeyStoreException | CertificateException
+ | IOException e) {
+ logger.error(e.getMessage(), e);
+ }
+ return null;
+ }
+
+ private HttpClient httpClient = createChefHttpClient();
private ChefApiHeaderFactory chefApiHeaderFactory = new ChefApiHeaderFactory();
public ChefApiClient create(String endPoint, String organizations, String userId, String pemPath) {
- return new ChefApiClientImpl(
- httpClient,
- endPoint,
- (methodName, requestPath, body) -> chefApiHeaderFactory
+ return new ChefApiClientImpl(httpClient, endPoint, organizations, (methodName, requestPath, body) -> chefApiHeaderFactory
.create(methodName, requestPath, body, userId, organizations, pemPath));
}
- public ChefApiClient create(String endPoint) {
- return new ChefApiClientImpl(
- httpClient,
- endPoint,
- (methodName, requestPath, body) -> ImmutableMap.of());
+ public ChefApiClient create(String endPoint, String organizations) {
+ return new ChefApiClientImpl(httpClient, endPoint, organizations, (methodName, requestPath, body) -> ImmutableMap.of());
}
}
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImpl.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImpl.java
index 8edc2b566..f86b49033 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImpl.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiClientImpl.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* =============================================================================
@@ -17,8 +17,6 @@
* 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.
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
* ============LICENSE_END=========================================================
*/
@@ -26,6 +24,9 @@ package org.onap.appc.adapter.chef.chefclient.impl;
import java.io.IOException;
import java.net.URISyntaxException;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
@@ -39,11 +40,14 @@ public class ChefApiClientImpl implements ChefApiClient {
private final HttpClient httpClient;
private final String endpoint;
+ private final String organization;
private final HttpHeaderFactory httpHeaderFactory;
-
- public ChefApiClientImpl(HttpClient httpClient, String endpoint, HttpHeaderFactory httpHeaderFactory) {
+ private static final EELFLogger logger = EELFManager.getInstance().getLogger(ChefApiClientImpl.class);
+ public ChefApiClientImpl(HttpClient httpClient, String endpoint, String organization,
+ HttpHeaderFactory httpHeaderFactory) {
this.httpClient = httpClient;
this.endpoint = endpoint;
+ this.organization = organization;
this.httpHeaderFactory = httpHeaderFactory;
}
@@ -51,7 +55,7 @@ public class ChefApiClientImpl implements ChefApiClient {
public ChefResponse get(String path) {
OngoingRequestBuilder requestBuilder = ChefRequestBuilder.newRequestTo(endpoint)
.httpGet()
- .withPath(path)
+ .withPath(getPath(path))
.withHeaders(httpHeaderFactory.create("GET", path, ""));
return execute(requestBuilder);
}
@@ -60,7 +64,7 @@ public class ChefApiClientImpl implements ChefApiClient {
public ChefResponse delete(String path) {
OngoingRequestBuilder requestBuilder = ChefRequestBuilder.newRequestTo(endpoint)
.httpDelete()
- .withPath(path)
+ .withPath(getPath(path))
.withHeaders(httpHeaderFactory.create("DELETE", path, ""));
return execute(requestBuilder);
}
@@ -69,7 +73,7 @@ public class ChefApiClientImpl implements ChefApiClient {
public ChefResponse post(String path, String body) {
OngoingRequestBuilder requestBuilder = ChefRequestBuilder.newRequestTo(endpoint)
.httpPost(body)
- .withPath(path)
+ .withPath(getPath(path))
.withHeaders(httpHeaderFactory.create("POST", path, body));
return execute(requestBuilder);
}
@@ -78,13 +82,17 @@ public class ChefApiClientImpl implements ChefApiClient {
public ChefResponse put(String path, String body) {
OngoingRequestBuilder requestBuilder = ChefRequestBuilder.newRequestTo(endpoint)
.httpPut(body)
- .withPath(path)
+ .withPath(getPath(path))
.withHeaders(httpHeaderFactory.create("PUT", path, body));
+ logger.info("request: PATH: "+path+ " body: "+body);
return execute(requestBuilder);
}
private ChefResponse execute(OngoingRequestBuilder chefRequest) {
try {
+ if (httpClient == null) {
+ return ChefResponse.create(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Could not create http client for chef");
+ }
HttpResponse response = httpClient.execute(chefRequest.build());
int statusCode = response.getStatusLine().getStatusCode();
HttpEntity httpEntity = response.getEntity();
@@ -96,5 +104,9 @@ public class ChefApiClientImpl implements ChefApiClient {
return ChefResponse.create(HttpStatus.SC_INTERNAL_SERVER_ERROR, ex.getMessage());
}
}
+
+ private String getPath(String path) {
+ return "/organizations/" + organization + path;
+ }
}
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiHeaderFactory.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiHeaderFactory.java
index d045135c4..e40eee2a6 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiHeaderFactory.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefApiHeaderFactory.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.
@@ -27,11 +28,6 @@ public class ChefApiHeaderFactory {
private FormattedTimestamp formattedTimestamp = new FormattedTimestamp();
- static {
- System.setProperty("javax.net.ssl.trustStore", "/opt/onap/appc/chef/chefServerSSL.jks");
- System.setProperty("javax.net.ssl.trustStorePassword", "adminadmin");
- }
-
public ImmutableMap<String, String> create(String methodName, String path, String body, String userId,
String organizations, String pemPath) {
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefRequestBuilder.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefRequestBuilder.java
index a2248438a..c2501e334 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefRequestBuilder.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/chefclient/impl/ChefRequestBuilder.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.
@@ -33,8 +34,7 @@ import org.apache.http.entity.StringEntity;
final class ChefRequestBuilder {
- private ChefRequestBuilder() {
- }
+ private ChefRequestBuilder() {}
static OngoingRequestBuilder newRequestTo(String endPoint) {
return new OngoingRequestBuilder(endPoint);
@@ -68,21 +68,22 @@ final class ChefRequestBuilder {
public OngoingRequestBuilder httpPost(String body) {
HttpPost httpPost = new HttpPost();
- toEntity(body);
+ httpPost.setEntity(toEntity(body));
httpRequestBase = httpPost;
return this;
}
public OngoingRequestBuilder httpPut(String body) {
HttpPut httpPut = new HttpPut();
- toEntity(body);
+ httpPut.setEntity(toEntity(body));
httpRequestBase = httpPut;
return this;
}
- private void toEntity(String body) {
+ private StringEntity toEntity(String body) {
StringEntity stringEntity = new StringEntity(body, "UTF-8");
stringEntity.setContentType("application/json");
+ return stringEntity;
}
public OngoingRequestBuilder withHeaders(ImmutableMap<String, String> headers) {
@@ -93,13 +94,11 @@ final class ChefRequestBuilder {
public HttpRequestBase build() throws URISyntaxException {
setRequestUri();
setRequestHeaders();
-
return httpRequestBase;
}
private void setRequestUri() throws URISyntaxException {
- URI fullPath = new URIBuilder(endPoint)
- .setPath(path).build();
+ URI fullPath = new URIBuilder(endPoint).setPath(path).build();
httpRequestBase.setURI(fullPath);
}
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/impl/ChefAdapterImpl.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/impl/ChefAdapterImpl.java
index 64aedcc24..bd367b035 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/impl/ChefAdapterImpl.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/impl/ChefAdapterImpl.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : APPC
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
* =============================================================================
@@ -17,8 +17,6 @@
* 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.
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
* ============LICENSE_END=========================================================
*/
package org.onap.appc.adapter.chef.impl;
@@ -146,8 +144,8 @@ public class ChefAdapterImpl implements ChefAdapter {
doFailure(ctx, code, POSTING_REQUEST_JSON_ERROR_STR + e.getMessage());
} catch (Exception e) {
code = 401;
- logger.error(POSTING_REQUEST_ERROR_STR, e);
- doFailure(ctx, code, POSTING_REQUEST_ERROR_STR + e.getMessage());
+ logger.error(POSTING_REQUEST_ERROR_STR + "vnfcEnvironment", e);
+ doFailure(ctx, code, POSTING_REQUEST_ERROR_STR + "vnfcEnvironment"+ e.getMessage());
}
} else {
code = 500;
@@ -201,12 +199,12 @@ public class ChefAdapterImpl implements ChefAdapter {
}
} catch (JSONException e) {
code = 401;
- logger.error(POSTING_REQUEST_JSON_ERROR_STR, e);
- doFailure(ctx, code, POSTING_REQUEST_JSON_ERROR_STR + e.getMessage());
+ logger.error(POSTING_REQUEST_JSON_ERROR_STR +"vnfcNodeobjects", e);
+ doFailure(ctx, code, POSTING_REQUEST_JSON_ERROR_STR +"vnfcNodeobjects" + e.getMessage());
} catch (Exception e) {
code = 401;
- logger.error(POSTING_REQUEST_ERROR_STR, e);
- doFailure(ctx, code, POSTING_REQUEST_ERROR_STR + e.getMessage());
+ logger.error(POSTING_REQUEST_ERROR_STR +"vnfcNodeobjects", e);
+ doFailure(ctx, code, POSTING_REQUEST_ERROR_STR +"vnfcNodeobjects"+ e.getMessage());
}
}
@@ -250,8 +248,8 @@ public class ChefAdapterImpl implements ChefAdapter {
}
} catch (Exception e) {
code = 401;
- logger.error(POSTING_REQUEST_ERROR_STR, e);
- doFailure(ctx, code, POSTING_REQUEST_ERROR_STR + e.getMessage());
+ logger.error(POSTING_REQUEST_ERROR_STR + "vnfcPushJob", e);
+ doFailure(ctx, code, POSTING_REQUEST_ERROR_STR + "vnfcPushJob"+ e.getMessage());
}
}
@@ -321,12 +319,12 @@ public class ChefAdapterImpl implements ChefAdapter {
}
} catch (JSONException e) {
code = 401;
- logger.error(POSTING_REQUEST_JSON_ERROR_STR, e);
- doFailure(ctx, code, POSTING_REQUEST_JSON_ERROR_STR + e.getMessage());
+ logger.error(POSTING_REQUEST_JSON_ERROR_STR + "fetchResults", e);
+ doFailure(ctx, code, POSTING_REQUEST_JSON_ERROR_STR + "fetchResults" + e.getMessage());
} catch (Exception e) {
code = 401;
- logger.error(POSTING_REQUEST_ERROR_STR , e);
- doFailure(ctx, code, POSTING_REQUEST_ERROR_STR + e.getMessage());
+ logger.error(POSTING_REQUEST_ERROR_STR + "fetchResults" , e);
+ doFailure(ctx, code, POSTING_REQUEST_ERROR_STR + "fetchResults"+ e.getMessage());
}
}
@@ -382,7 +380,6 @@ public class ChefAdapterImpl implements ChefAdapter {
String dgContext = params.get("dgContext");
JSONObject jsonConfig = new JSONObject(allConfigData);
String contextData = fetchContextData(key, jsonConfig);
-
ctx.setAttribute(dgContext, contextData);
}
@@ -522,7 +519,7 @@ public class ChefAdapterImpl implements ChefAdapter {
String tVmIp = params.get("ip");
try {
- ChefResponse chefResponse = chefApiClientFactory.create(tVmIp).get("");
+ ChefResponse chefResponse = chefApiClientFactory.create(tVmIp, organizations).get("");
chefClientResult(svcLogicContext, chefResponse.getStatusCode(), chefResponse.getBody());
svcLogicContext.setAttribute("chefAgent.code", "200");
} catch (Exception e) {
@@ -655,4 +652,4 @@ public class ChefAdapterImpl implements ChefAdapter {
throw new SvcLogicException("Chef Adapter error:" + cutMessage);
}
-} \ 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/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<String, String> 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<String, String> givenInputParams(Entry<String, String>... entries) {
Builder<String, String> 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<String, String> 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<String, String> 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<String, String> params = givenInputParams(
@@ -228,6 +236,7 @@ public class ChefAdapterImplVNFCOperationsTest {
checkMissingParamsAreValidated(params);
}
+ @SuppressWarnings("unchecked")
@Test
public void vnfcNodeObjects_shouldThrowSvcLogicException_whenNodeParamIsEmpty() {
Map<String, String> params = givenInputParams(
@@ -238,7 +247,7 @@ public class ChefAdapterImplVNFCOperationsTest {
public void checkMissingParamsAreValidated(Map<String, String> 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<String, String> 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<String, String> 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<String, String> 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<String, String> givenInputParams(Entry<String, String>... entries) {
Builder<String, String> paramsBuilder = ImmutableMap.builder();
paramsBuilder.put("username", USERNAME)
@@ -449,4 +467,4 @@ public class ChefAdapterImplVNFCOperationsTest {
}
return paramsBuilder.build();
}
-} \ No newline at end of file
+}