2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2018 Ericsson. All rights reserved.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.apex.tools.simple.wsclient;
23 import static org.junit.Assert.assertTrue;
24 import static org.junit.Assert.fail;
26 import java.io.ByteArrayInputStream;
27 import java.io.ByteArrayOutputStream;
28 import java.io.InputStream;
29 import java.io.PrintStream;
30 import org.junit.Test;
33 * Test the WsClient utility.
35 public class WsClientTest {
37 public void testWsClient() {
39 final String[] EventArgs =
42 WsClientMain.main(EventArgs);
43 } catch (Exception exc) {
44 fail("test should not throw an exception");
49 public void testWsClientNoOptions() {
50 final String[] EventArgs = new String[]
53 final String outputString = runWsClient(EventArgs);
55 assertTrue(outputString.contains("ws-client: starting simple event echo"));
59 public void testWsClientBadOptions() {
60 final String[] EventArgs =
63 final String outputString = runWsClient(EventArgs);
65 assertTrue(outputString.contains("usage: ws-client"));
69 public void testWsClientHelp() {
70 final String[] EventArgs =
73 final String outputString = runWsClient(EventArgs);
75 assertTrue(outputString.contains("usage: ws-client"));
79 public void testWsClientVersion() {
80 final String[] EventArgs =
83 final String outputString = runWsClient(EventArgs);
85 assertTrue(outputString.contains("ws-client"));
89 public void testWsClientNoServerArg() {
90 final String[] EventArgs =
93 final String outputString = runWsClient(EventArgs);
95 assertTrue(outputString.contains("ws-client"));
99 public void testWsClientNoPortArg() {
100 final String[] EventArgs =
103 final String outputString = runWsClient(EventArgs);
105 assertTrue(outputString.contains("ws-client"));
109 public void testWsClientBadPortArg() {
110 final String[] EventArgs =
113 final String outputString = runWsClient(EventArgs);
115 assertTrue(outputString.contains("ws-client"));
119 public void testWsClientBadServerArg() {
120 final String[] EventArgs =
121 { "-s", "asdsadadasd:asdasdsadasd@@" };
123 final String outputString = runWsClient(EventArgs);
125 assertTrue(outputString.contains("ws-client"));
129 public void testWsClientConsole() {
130 final String[] EventArgs =
131 { "-c", "-s", "AServerThatDoesntExist", "-p", "99999999" };
133 final String outputString = runWsClient(EventArgs);
135 assertTrue(outputString.contains("terminate the application typing"));
139 public void testWsClientEcho() {
140 final String[] EventArgs =
141 { "-s", "AServerThatDoesntExist", "-p", "99999999" };
143 final String outputString = runWsClient(EventArgs);
145 assertTrue(outputString.contains(
146 "Once started, the application will simply print out all received events to standard out"));
150 * Run the application.
152 * @param eventArgs the command arguments
153 * @return a string containing the command output
155 private String runWsClient(final String[] eventArgs) {
156 final ByteArrayOutputStream baosOut = new ByteArrayOutputStream();
157 final ByteArrayOutputStream baosErr = new ByteArrayOutputStream();
159 new WsClientMain(eventArgs, new PrintStream(baosOut, true));
161 InputStream testInput = new ByteArrayInputStream("Test Data for Input to WS".getBytes());
162 System.setIn(testInput);
164 String outString = baosOut.toString();
165 String errString = baosErr.toString();
167 return "*** StdOut ***\n" + outString + "\n*** StdErr ***\n" + errString;