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;
31 import org.junit.Test;
34 * Test the WsClient utility.
36 public class WsClientTest {
38 public void testWsClient() {
40 final String[] EventArgs =
43 WsClientMain.main(EventArgs);
44 } catch (Exception exc) {
45 fail("test should not throw an exception");
50 public void testWsClientNoOptions() {
51 final String[] EventArgs = new String[]
54 final String outputString = runWsClient(EventArgs);
56 assertTrue(outputString.contains("ws-client: starting simple event echo"));
60 public void testWsClientBadOptions() {
61 final String[] EventArgs =
64 final String outputString = runWsClient(EventArgs);
66 assertTrue(outputString.contains("usage: ws-client"));
70 public void testWsClientHelp() {
71 final String[] EventArgs =
74 final String outputString = runWsClient(EventArgs);
76 assertTrue(outputString.contains("usage: ws-client"));
80 public void testWsClientVersion() {
81 final String[] EventArgs =
84 final String outputString = runWsClient(EventArgs);
86 assertTrue(outputString.contains("ws-client"));
90 public void testWsClientNoServerArg() {
91 final String[] EventArgs =
94 final String outputString = runWsClient(EventArgs);
96 assertTrue(outputString.contains("ws-client"));
100 public void testWsClientNoPortArg() {
101 final String[] EventArgs =
104 final String outputString = runWsClient(EventArgs);
106 assertTrue(outputString.contains("ws-client"));
110 public void testWsClientBadPortArg() {
111 final String[] EventArgs =
114 final String outputString = runWsClient(EventArgs);
116 assertTrue(outputString.contains("ws-client"));
120 public void testWsClientBadServerArg() {
121 final String[] EventArgs =
122 { "-s", "asdsadadasd:asdasdsadasd@@" };
124 final String outputString = runWsClient(EventArgs);
126 assertTrue(outputString.contains("ws-client"));
130 public void testWsClientConsole() {
131 final String[] EventArgs =
132 { "-c", "-s", "AServerThatDoesntExist", "-p", "99999999" };
134 final String outputString = runWsClient(EventArgs);
136 assertTrue(outputString.contains("terminate the application typing"));
140 public void testWsClientEcho() {
141 final String[] EventArgs =
142 { "-s", "AServerThatDoesntExist", "-p", "99999999" };
144 final String outputString = runWsClient(EventArgs);
146 assertTrue(outputString.contains(
147 "Once started, the application will simply print out all received events to standard out"));
151 * Run the application.
153 * @param eventArgs the command arguments
154 * @return a string containing the command output
156 private String runWsClient(final String[] eventArgs) {
157 final ByteArrayOutputStream baosOut = new ByteArrayOutputStream();
158 final ByteArrayOutputStream baosErr = new ByteArrayOutputStream();
160 new WsClientMain(eventArgs, new PrintStream(baosOut, true));
162 InputStream testInput = new ByteArrayInputStream("Test Data for Input to WS".getBytes());
163 System.setIn(testInput);
165 String outString = baosOut.toString();
166 String errString = baosErr.toString();
168 return "*** StdOut ***\n" + outString + "\n*** StdErr ***\n" + errString;