| /* |
| * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0, which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * This Source Code may also be made available under the following Secondary |
| * Licenses when the conditions for such availability set forth in the |
| * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| * version 2 with the GNU Classpath Exception, which is available at |
| * https://www.gnu.org/software/classpath/license.html. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| */ |
| |
| import com.meterware.httpunit.*; |
| import java.net.URL; |
| |
| import com.sun.ejte.ccl.reporter.SimpleReporterAdapter; |
| |
| public class JSFTest { |
| |
| private final String serverhost; |
| private final String serverport; |
| private final String servercontextroot; |
| private String URL = null; |
| private WebConversation sr = null; |
| private SimpleReporterAdapter status = null; |
| private int pass = 0; |
| private int fail = 0; |
| private int total = 3; |
| private final int DEBUG = 0; |
| private String[][] summary = |
| {{"Index Page Test : ", ""}, |
| {"Menu Page Test : ", ""}, |
| {"Repeater Page Test: ", ""}}; |
| |
| public static void main( String args[] ) { |
| |
| try { |
| JSFTest test = new JSFTest(args); |
| test.runTest(); |
| } catch (Exception ex) { |
| ex.printStackTrace(); |
| } |
| } |
| |
| public JSFTest(String[] args) throws Exception { |
| serverhost = args[0]; |
| serverport = args[1]; |
| servercontextroot = args[2]; |
| |
| if(serverhost == null || serverport == null) { |
| URL = "http://localhost:8080/jsfcomponents/"; |
| } else { |
| URL = "http://"+serverhost + ":" + serverport + |
| "/" + servercontextroot + "/"; |
| } |
| sr = new WebConversation( ); |
| status = new SimpleReporterAdapter("appserv-tests"); |
| status.addDescription("Testing JSF..."); |
| |
| } |
| |
| private void runTest() { |
| HttpUnitOptions.setScriptingEnabled(false); |
| testIndexPage(); |
| testManuPage(); |
| testRepeaterPage(); |
| printSummary(); |
| |
| } |
| |
| private void testIndexPage() { |
| String page = ""; |
| String testName = "JSF-indexPage"; |
| |
| try { |
| WebResponse client = sr.getResponse(URL+page); |
| // client = sr.getResponse(URL+page); |
| String s = client != null ? client.getText() : null; |
| |
| if(s != null) { |
| if((s.indexOf("Component Content") >= 0) && (s.indexOf("execute.gif") >= 0)) { |
| status.addStatus(testName, status.PASS); |
| pass++; |
| summary[0][1] = "Passed"; |
| } else { |
| status.addStatus(testName, status.FAIL); |
| summary[0][1] = "Failed"; |
| fail++; |
| } |
| } else { |
| status.addStatus(testName, status.FAIL); |
| summary[0][1] = "Failed"; |
| fail++; |
| } |
| } catch (Exception ex) { |
| status.addStatus(testName, status.FAIL); |
| summary[0][1] = "Failed"; |
| fail++; |
| ex.printStackTrace(); |
| } |
| |
| } |
| |
| private void testManuPage() { |
| String page = "menu.faces"; |
| String testName = "JSF-menuPage"; |
| |
| try { |
| WebResponse client = sr.getResponse(URL+page); |
| // client = sr.getResponse(URL+page); |
| String s = client != null ? client.getText() : null; |
| |
| if(s != null) { |
| if((s.indexOf("menu2") >= 0) && (s.indexOf("Close 2") >= 0)) { |
| status.addStatus(testName, status.PASS); |
| pass++; |
| summary[1][1] = "Passed"; |
| } else { |
| status.addStatus(testName, status.FAIL); |
| summary[1][1] = "Failed"; |
| fail++; |
| } |
| } else { |
| status.addStatus(testName, status.FAIL); |
| summary[1][1] = "Failed"; |
| fail++; |
| } |
| } catch (Exception ex) { |
| status.addStatus(testName, status.FAIL); |
| summary[1][1] = "Failed"; |
| fail++; |
| ex.printStackTrace(); |
| } |
| |
| } |
| |
| private void testRepeaterPage() { |
| String page = "repeater.faces"; |
| String testName = "JSF-repeaterPage"; |
| |
| try { |
| WebResponse client = sr.getResponse(URL+page); |
| String s = client != null ? client.getText() : null; |
| |
| if(s != null) { |
| if((s.indexOf("update") >= 0) && (s.indexOf("Save Changes") >= 0)) { |
| status.addStatus(testName, status.PASS); |
| pass++; |
| summary[2][1] = "Passed"; |
| } else { |
| status.addStatus(testName, status.FAIL); |
| summary[2][1] = "Failed"; |
| fail++; |
| } |
| } else { |
| status.addStatus(testName, status.FAIL); |
| summary[2][1] = "Failed"; |
| fail++; |
| } |
| } catch (Exception ex) { |
| status.addStatus(testName, status.FAIL); |
| summary[2][1] = "Failed"; |
| fail++; |
| ex.printStackTrace(); |
| } |
| |
| } |
| |
| private void printSummary() { |
| System.out.println("**********************************************"); |
| System.out.println("Total Tests :"+total); |
| System.out.println("Passed :"+pass); |
| System.out.println("Failed :"+fail); |
| System.out.println("**********************************************"); |
| System.out.println("Details of Test Run:\n"); |
| for(int i=0; i<summary.length; i++) { |
| System.out.print(summary[i][0]); |
| System.out.println(summary[i][1]); |
| } |
| status.printSummary("JSFTestID"); |
| } |
| |
| } |