2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 IBM
6 * =============================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 * ============LICENSE_END=========================================================
21 package org.onap.appc.adapter.ansible.model;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertTrue;
26 import java.util.HashMap;
29 import org.json.JSONObject;
30 import org.junit.Test;
31 import org.powermock.reflect.Whitebox;
33 public class TestAnsibleMessageParser {
36 public void testReqMessage() throws Exception {
37 // String result = "{"\AgentUrl : TestAgentUrl}";
38 AnsibleMessageParser msgParser = new AnsibleMessageParser();
39 Map<String, String> params = new HashMap<String, String>();
40 params.put("AgentUrl", "TestAgentUrl");
41 params.put("PlaybookName", "TestPlaybookName");
42 params.put("User", "TestUser");
43 params.put("Password", "TestPassword");
45 JSONObject jObject = msgParser.reqMessage(params);
46 assertEquals("TestAgentUrl", jObject.get("AgentUrl"));
51 public void testReqUriResult() throws Exception {
52 AnsibleMessageParser msgParser = new AnsibleMessageParser();
53 Map<String, String> params = new HashMap<String, String>();
54 params.put("AgentUrl", "TestAgentUrl");
55 params.put("Id", "TestId");
56 params.put("User", "TestUser");
57 params.put("Password", "TestPassword");
59 String result = msgParser.reqUriResult(params);
60 assertTrue(result.contains("TestId"));
65 public void testReqUriLog() throws Exception {
66 AnsibleMessageParser msgParser = new AnsibleMessageParser();
67 Map<String, String> params = new HashMap<String, String>();
68 params.put("AgentUrl", "TestAgent-Url");
69 params.put("Id", "TestId");
70 params.put("User", "TestUser");
71 params.put("Password", "TestPassword");
73 String result = msgParser.reqUriLog(params);
74 assertTrue(result.contains("TestAgent-Url"));
79 public void TestParsePostResponse() throws Exception {
80 AnsibleResult ansibleResult;
81 AnsibleMessageParser msgParser = new AnsibleMessageParser();
82 String input = "{\"StatusCode\":\"100\",\"StatusMessage\":\"TestMessage\"}";
83 ansibleResult = msgParser.parsePostResponse(input);
84 assertEquals("TestMessage", ansibleResult.getStatusMessage());
88 @Test(expected = Exception.class)
89 public void TestParsePostResponseException() throws Exception {
90 AnsibleResult ansibleResult;
91 AnsibleMessageParser msgParser = new AnsibleMessageParser();
92 String input = "{\"StatusCode\":\"600\",\"StatusMessage\":\"TestMessage\"}";
93 ansibleResult = msgParser.parsePostResponse(input);
97 public void TestParsePostResponseException2() throws Exception {
98 AnsibleResult ansibleResult;
99 AnsibleMessageParser msgParser = new AnsibleMessageParser();
100 String input = "{\"StatusCode\":\"600\"}";
101 String result = "Error parsing response";
102 ansibleResult = msgParser.parsePostResponse(input);
103 assertEquals(true, ansibleResult.getStatusMessage().contains(result));
106 @Test(expected = Exception.class)
107 public void TestParseGetResponseException() throws Exception {
108 AnsibleResult ansibleResult;
109 AnsibleMessageParser msgParser = new AnsibleMessageParser();
110 String input = "{\"StatusCode\":\"100\",\"StatusMessage\":\"TestMessage\"}";
111 String result = "Invalid FinalResponse code";
112 ansibleResult = msgParser.parseGetResponse(input);
116 public void TestParseGetResponseExec() throws Exception {
117 AnsibleResult ansibleResult;
118 AnsibleMessageParser msgParser = new AnsibleMessageParser();
119 String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\"}";
120 String result = "Results not found in GET for response";
121 ansibleResult = msgParser.parseGetResponse(input);
122 assertEquals(true, ansibleResult.getStatusMessage().contains(result));
126 public void TestParseGetResponse() throws Exception {
127 AnsibleResult ansibleResult;
128 AnsibleMessageParser msgParser = new AnsibleMessageParser();
129 String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":{\"host\":{\"StatusCode\":\"200\",\"StatusMessage\":\"SUCCESS\"}},\"Output\":{\"results-output\":{\"OutputResult\":\"TestOutPutResult\"}}}";
130 ansibleResult = msgParser.parseGetResponse(input);
131 String result = "TestOutPutResult";
132 assertEquals(true, ansibleResult.getOutput().contains(result));
136 public void TestParseGetResponseEx() throws Exception {
137 AnsibleResult ansibleResult;
138 AnsibleMessageParser msgParser = new AnsibleMessageParser();
139 String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":{\"host\":\"TestHost\"}}";
140 ansibleResult = msgParser.parseGetResponse(input);
141 String result = "Error processing response message";
142 assertEquals(true, ansibleResult.getStatusMessage().contains(result));
146 public void TestParseGetResponseJsonEx() throws Exception {
147 AnsibleResult ansibleResult;
148 AnsibleMessageParser msgParser = new AnsibleMessageParser();
149 String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":\"host\":\"TestHost\"}";
150 ansibleResult = msgParser.parseGetResponse(input);
151 String result = "Error parsing response";
152 assertEquals(true, ansibleResult.getStatusMessage().contains(result));
156 public void TestParseGetResponseResultEx() throws Exception {
157 AnsibleResult ansibleResult;
158 AnsibleMessageParser msgParser = new AnsibleMessageParser();
159 String input = "{\"StatusCode\":\"200\",\"StatusMessage\":\"TestMessage\",\"Results\":{\"host\":{\"StatusCode\":\"100\",\"StatusMessage\":\"Failure\"}},\"Output\":{\"results-output\":{\"OutputResult\":\"TestOutPutResult\"}}}";
160 ansibleResult = msgParser.parseGetResponse(input);
161 String result = "TestOutPutResult";
162 assertEquals(true, ansibleResult.getOutput().contains(result));
166 public void testParseOptionalParam() throws Exception {
167 AnsibleMessageParser msgParser = new AnsibleMessageParser();
168 Map<String, String> params = new HashMap<String, String>();
169 params.put("AgentUrl", "TestAgentUrl");
170 params.put("PlaybookName", "TestPlaybookName");
171 params.put("User", "TestUser");
172 params.put("Password", "TestPassword");
173 params.put("Timeout", "3");
174 params.put("Version", "1");
175 JSONObject jObject = msgParser.reqMessage(params);
176 assertEquals("1", jObject.get("Version"));