aboutsummaryrefslogtreecommitdiffstats
path: root/appc-adapters/appc-chef-adapter
diff options
context:
space:
mode:
Diffstat (limited to 'appc-adapters/appc-chef-adapter')
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml4
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/onap/appc/adapter/chef/impl/ChefAdapterImpl.java39
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplTest.java81
-rw-r--r--appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/TestChefAdapterImpl.java2
4 files changed, 89 insertions, 37 deletions
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml
index b18073810..91ed636c7 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml
@@ -156,6 +156,10 @@
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ </dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
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 eb5ee7bde..69b57f7ce 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
@@ -115,28 +115,7 @@ public class ChefAdapterImpl implements ChefAdapter {
* This default constructor is used as a work around because the activator wasnt getting called
*/
public ChefAdapterImpl() {
- initialize();
- }
-
- public ChefAdapterImpl(Properties props) {
- initialize();
- }
-
- /**
- * This constructor is used primarily in the test cases to bypass initialization of the adapter for isolated,
- * disconnected testing
- *
- * @param initialize True if the adapter is to be initialized, can false if not
- */
-
- public ChefAdapterImpl(boolean initialize) {
- if (initialize) {
- initialize();
- }
- }
-
- public ChefAdapterImpl(String key) {
- initialize();
+ logger.info("Initialize Chef Adapter");
}
@SuppressWarnings("nls")
@@ -394,12 +373,9 @@ public class ChefAdapterImpl implements ChefAdapter {
String nodeObject = "{\"json_class\":\"Chef::Node\",\"default\":{" + defaults
+ "},\"chef_type\":\"node\",\"run_list\":[" + runList + "],\"override\":{" + overrides
+ "},\"normal\": {" + normal + "},\"automatic\":{},\"name\":\"" + name + "\",\"chef_environment\":\""
- + chefEnvironment + "\"}";
+ + chefEnvironment + "\",}";
logger.info(nodeObject);
- RequestContext rc = new RequestContext(ctx);
- rc.isAlive();
- SvcLogicContext svcLogic = rc.getSvcLogicContext();
- svcLogic.setAttribute("chef.nodeObject", nodeObject);
+ ctx.setAttribute("chef.nodeObject", nodeObject);
}
/**
@@ -757,15 +733,6 @@ public class ChefAdapterImpl implements ChefAdapter {
logger.info(messageStr + ": " + svcLogic.getAttribute(messageStr));
}
-
- /**
- * initialize the provider adapter by building the context cache
- */
- private void initialize() {
-
- logger.info("Initialize Chef Adapter");
- }
-
@SuppressWarnings("static-method")
private void doFailure(SvcLogicContext svcLogic, int code, String message) throws SvcLogicException {
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
new file mode 100644
index 000000000..c4c3e3089
--- /dev/null
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/ChefAdapterImplTest.java
@@ -0,0 +1,81 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : APPC
+ * ================================================================================
+ * Copyright (C) 2018 Nokia. 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.appc.adapter.chef.impl;
+
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import java.util.Collections;
+import java.util.Map;
+import org.json.JSONObject;
+import org.junit.Test;
+import org.onap.appc.adapter.chef.ChefAdapter;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+
+public class ChefAdapterImplTest {
+
+ private static final String EXPECTED_NODE_OBJECT_ATTR_NAME = "chef.nodeObject";
+
+ @Test
+ public void nodeObjectBuilder_shouldBuildJsonNodeObject_forPassedParams_andAddToSvcLogicContext() {
+ // GIVEN
+ Map<String, String> params = givenInputParams();
+
+ // WHEN
+ ChefAdapter chefAdapter = new ChefAdapterImpl();
+ SvcLogicContext svcLogicContext = new SvcLogicContext();
+ chefAdapter.nodeObejctBuilder(params, svcLogicContext);
+
+ // THEN
+ assertThat(resultJson(svcLogicContext)).isEqualTo(expectedJson());
+ }
+
+ private String resultJson(SvcLogicContext svcLogicContext) {
+ String resultJsonString = svcLogicContext.getAttribute(EXPECTED_NODE_OBJECT_ATTR_NAME);
+ return new JSONObject(resultJsonString).toString();
+ }
+
+ private Map<String, String> givenInputParams() {
+ return ImmutableMap.<String, String>builder()
+ .put("nodeobject.name", "testNodeName")
+ .put("nodeobject.normal", "val:normal")
+ .put("nodeobject.overrides", "val:override")
+ .put("nodeobject.defaults", "val:default")
+ .put("nodeobject.run_list", "val1,val2,val3")
+ .put("nodeobject.chef_environment", "testChefEnvVal")
+ .build();
+ }
+
+ private String expectedJson() {
+ JSONObject expectedJson = new JSONObject();
+ expectedJson.put("json_class", "Chef::Node");
+ expectedJson.put("chef_type", "node");
+ expectedJson.put("automatic", Collections.emptyMap());
+ expectedJson.put("name", "testNodeName");
+ expectedJson.put("normal", ImmutableMap.of("val", "normal"));
+ expectedJson.put("override", ImmutableMap.of("val", "override"));
+ expectedJson.put("default", ImmutableMap.of("val", "default"));
+ expectedJson.put("run_list", ImmutableList.of("val1", "val2", "val3"));
+ expectedJson.put("chef_environment", "testChefEnvVal");
+ return expectedJson.toString();
+ }
+} \ 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/TestChefAdapterImpl.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/TestChefAdapterImpl.java
index d5a5d8cd0..d5eb0af36 100644
--- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/TestChefAdapterImpl.java
+++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/test/java/org/onap/appc/adapter/chef/impl/TestChefAdapterImpl.java
@@ -48,7 +48,7 @@ public class TestChefAdapterImpl {
@Before
public void setup() {
- adapter = new ChefAdapterImpl(Boolean.TRUE);
+ adapter = new ChefAdapterImpl();
params = new HashMap<>();
params.put("pemPath",
"/src/test/resources/testclient.pem");