From a2f2cddc19030e31bcf7315d2db227a4d6351d76 Mon Sep 17 00:00:00 2001 From: Dilip kumar Pampana Date: Mon, 23 Jul 2018 12:25:01 -0400 Subject: [PATCH] Junit Test cases for Ansible adapter Junits test cases for ansibleMessageParser in Ansible Adapter Issue-ID: APPC-1106 Change-Id: I9ef0664fb613d80f3275637413f0d2fae76b0186 Signed-off-by: Dilip kumar Pampana --- .../ansible/model/TestAnsibleMessageParser.java | 178 +++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleMessageParser.java diff --git a/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleMessageParser.java b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleMessageParser.java new file mode 100644 index 000000000..ad12b3004 --- /dev/null +++ b/appc-adapters/appc-ansible-adapter/appc-ansible-adapter-bundle/src/test/java/org/onap/appc/adapter/ansible/model/TestAnsibleMessageParser.java @@ -0,0 +1,178 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2018 IBM + * ============================================================================= + * 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.ansible.model; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.HashMap; +import java.util.Map; + +import org.json.JSONObject; +import org.junit.Test; +import org.powermock.reflect.Whitebox; + +public class TestAnsibleMessageParser { + + @Test + public void testReqMessage() throws Exception { + // String result = "{"\AgentUrl : TestAgentUrl}"; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + Map params = new HashMap(); + params.put("AgentUrl", "TestAgentUrl"); + params.put("PlaybookName", "TestPlaybookName"); + params.put("User", "TestUser"); + params.put("Password", "TestPassword"); + + JSONObject jObject = msgParser.reqMessage(params); + assertEquals("TestAgentUrl", jObject.get("AgentUrl")); + + } + + @Test + public void testReqUriResult() throws Exception { + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + Map params = new HashMap(); + params.put("AgentUrl", "TestAgentUrl"); + params.put("Id", "TestId"); + params.put("User", "TestUser"); + params.put("Password", "TestPassword"); + + String result = msgParser.reqUriResult(params); + assertTrue(result.contains("TestId")); + + } + + @Test + public void testReqUriLog() throws Exception { + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + Map params = new HashMap(); + params.put("AgentUrl", "TestAgent-Url"); + params.put("Id", "TestId"); + params.put("User", "TestUser"); + params.put("Password", "TestPassword"); + + String result = msgParser.reqUriLog(params); + assertTrue(result.contains("TestAgent-Url")); + + } + + @Test + public void TestParsePostResponse() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"100\",\"StatusMessage\":\"TestMessage\"}"; + ansibleResult = msgParser.parsePostResponse(input); + assertEquals("TestMessage", ansibleResult.getStatusMessage()); + + } + + @Test(expected = Exception.class) + public void TestParsePostResponseException() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"600\",\"StatusMessage\":\"TestMessage\"}"; + ansibleResult = msgParser.parsePostResponse(input); + } + + @Test + public void TestParsePostResponseException2() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"600\"}"; + String result = "Error parsing response"; + ansibleResult = msgParser.parsePostResponse(input); + assertEquals(true, ansibleResult.getStatusMessage().contains(result)); + } + + @Test(expected = Exception.class) + public void TestParseGetResponseException() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"100\",\"StatusMessage\":\"TestMessage\"}"; + String result = "Invalid FinalResponse code"; + ansibleResult = msgParser.parseGetResponse(input); + } + + @Test + public void TestParseGetResponseExec() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\"}"; + String result = "Results not found in GET for response"; + ansibleResult = msgParser.parseGetResponse(input); + assertEquals(true, ansibleResult.getStatusMessage().contains(result)); + } + + @Test + public void TestParseGetResponse() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":{\"host\":{\"StatusCode\":\"200\",\"StatusMessage\":\"SUCCESS\"}},\"Output\":{\"results-output\":{\"OutputResult\":\"TestOutPutResult\"}}}"; + ansibleResult = msgParser.parseGetResponse(input); + String result = "TestOutPutResult"; + assertEquals(true, ansibleResult.getOutput().contains(result)); + } + + @Test + public void TestParseGetResponseEx() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":{\"host\":\"TestHost\"}}"; + ansibleResult = msgParser.parseGetResponse(input); + String result = "Error processing response message"; + assertEquals(true, ansibleResult.getStatusMessage().contains(result)); + } + + @Test + public void TestParseGetResponseJsonEx() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":\"host\":\"TestHost\"}"; + ansibleResult = msgParser.parseGetResponse(input); + String result = "Error parsing response"; + assertEquals(true, ansibleResult.getStatusMessage().contains(result)); + } + + @Test + public void TestParseGetResponseResultEx() throws Exception { + AnsibleResult ansibleResult; + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":{\"host\":{\"StatusCode\":\"100\",\"StatusMessage\":\"Failure\"}},\"Output\":{\"results-output\":{\"OutputResult\":\"TestOutPutResult\"}}}"; + ansibleResult = msgParser.parseGetResponse(input); + String result = "TestOutPutResult"; + assertEquals(true, ansibleResult.getOutput().contains(result)); + } + + @Test + public void testParseOptionalParam() throws Exception { + AnsibleMessageParser msgParser = new AnsibleMessageParser(); + Map params = new HashMap(); + params.put("AgentUrl", "TestAgentUrl"); + params.put("PlaybookName", "TestPlaybookName"); + params.put("User", "TestUser"); + params.put("Password", "TestPassword"); + params.put("Timeout", "3"); + params.put("Version", "1"); + JSONObject jObject = msgParser.reqMessage(params); + assertEquals("1", jObject.get("Version")); + } +} -- 2.16.6