| /* |
| * 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 util.Util; |
| import util.JSSE; |
| import java.net.URL; |
| |
| import com.sun.ejte.ccl.reporter.SimpleReporterAdapter; |
| |
| public class AdminGUITest { |
| |
| private final String host = Util.getAdminHost(); |
| private final String port = Util.getAdminPort(); |
| private final String user = Util.getAdminUser(); |
| private final String passwd = Util.getAdminPassword(); |
| private final String installType = Util.getInstallType(); |
| private String URL = null; |
| private WebConversation sr = null; |
| private SimpleReporterAdapter status = null; |
| private int pass = 0; |
| private int fail = 0; |
| private int total = 4; |
| private final int DEBUG = 0; |
| private String[][] summary = {{"Login Page Test : ", ""}, |
| {"Home Page Test : ", ""}, |
| {"PropertySheet Page Test: ", ""}, |
| {"TablePage Test : ", ""}}; |
| |
| public static void main( String args[] ) { |
| try { |
| AdminGUITest test = new AdminGUITest(); |
| test.runTest(); |
| } catch (Exception ex) { |
| ex.printStackTrace(); |
| } |
| } |
| |
| public AdminGUITest() throws Exception { |
| if(host == null || port == null) { |
| URL = "http://localhost:4848"; |
| } else { |
| if(installType.equals("pe")){ |
| System.out.println("GOING TO EXECUTE PE TEST CASE"); |
| URL = "http://"+host+":"+port; |
| } else { |
| System.out.println("GOING TO EXECUTE EE TEST CASE"); |
| JSSE jse = new JSSE(new URL("https", host, Integer.parseInt(port), "/index.jsf")); |
| jse.trustAnyServerCertificate(); |
| URL = "https://"+host+":"+port; |
| } |
| } |
| System.out.println("INSTALL_TYPE ="+installType); |
| sr = new WebConversation( ); |
| status = new SimpleReporterAdapter("appserv-tests"); |
| status.addDescription("Testing adminGUI.."); |
| |
| } |
| |
| private void runTest() { |
| HttpUnitOptions.setScriptingEnabled(false); |
| testLoginPage(); |
| authorize(); |
| testHomePage(); |
| testPropertySheetPage(); |
| testTablePage(); |
| printSummary(); |
| |
| } |
| |
| private void testLoginPage() { |
| String loginPage = "/index.jsf"; |
| |
| try { |
| WebResponse client = sr.getResponse(URL+loginPage); |
| client = sr.getResponse(URL+loginPage); |
| String s = client != null ? client.getText() : null; |
| |
| if(s != null) { |
| if((s.indexOf("Copyright") >= 0) && (s.indexOf("j_username") >= 0)) { |
| status.addStatus("admin-gui loginPage:", status.PASS); |
| pass++; |
| summary[0][1] = "Passed"; |
| } else { |
| status.addStatus("admin-gui loginPage:", status.FAIL); |
| summary[0][1] = "Failed"; |
| fail++; |
| } |
| } else { |
| status.addStatus("admin-gui loginPage:", status.FAIL); |
| summary[0][1] = "Failed"; |
| fail++; |
| } |
| } catch (Exception ex) { |
| status.addStatus("admin-gui loginPage:", status.FAIL); |
| summary[0][1] = "Failed"; |
| fail++; |
| ex.printStackTrace(); |
| } |
| |
| } |
| |
| private void testHomePage() { |
| String homePage = "/commonTask.jsf"; |
| try { |
| WebResponse client = sr.getResponse(URL+homePage); |
| String s = client != null ? client.getText() : null; |
| |
| if(s != null) { |
| if((s.indexOf("Deployment") >= 0) && (s.indexOf("Monitoring") >= 0)) { |
| status.addStatus("admin-gui homePage:", status.PASS); |
| summary[1][1] = "Passed"; |
| pass++; |
| } else { |
| status.addStatus("admin-gui homePage:", status.FAIL); |
| summary[1][1] = "Failed"; |
| fail++; |
| } |
| } else { |
| status.addStatus("admin-gui homePage:", status.FAIL); |
| summary[1][1] = "Failed"; |
| fail++; |
| } |
| } catch (Exception ex) { |
| status.addStatus("admin-gui homePage:", status.FAIL); |
| summary[1][1] = "Failed"; |
| fail++; |
| ex.printStackTrace(); |
| } |
| } |
| |
| private void authorize() { |
| String loginPage = "/index.jsf"; |
| try { |
| WebResponse client = sr.getResponse(URL+loginPage); |
| WebForm form = client.getFormWithName("loginform"); |
| form.setParameter("j_username", new String[]{user}); |
| form.setParameter("j_password", new String[]{passwd}); |
| SubmitButton sb = form.getSubmitButton("loginButton"); |
| form.submit(sb); |
| } catch (Exception ex) { |
| ex.printStackTrace(); |
| } |
| } |
| |
| private void testPropertySheetPage() { |
| String propertyPage = "/configuration/transactionService.jsf?configName=server-config"; |
| |
| try { |
| WebResponse client = sr.getResponse(URL+propertyPage); |
| String s = client != null ? client.getText() : null; |
| |
| if(s != null) { |
| if((s.indexOf("transaction service settings") >= 0) && (s.indexOf("Heuristic") >= 0)) { |
| status.addStatus("admin-gui propertysheetPage:", status.PASS); |
| summary[2][1] = "Passed"; |
| pass++; |
| } else { |
| status.addStatus("admin-gui propertysheetPage:", status.FAIL); |
| summary[2][1] = "Failed"; |
| fail++; |
| } |
| } else { |
| status.addStatus("admin-gui propertysheetPage:", status.FAIL); |
| summary[2][1] = "Failed"; |
| fail++; |
| } |
| } catch (Exception ex) { |
| status.addStatus("admin-gui propertysheetPage:", status.FAIL); |
| summary[2][1] = "Failed"; |
| fail++; |
| ex.printStackTrace(); |
| } |
| } |
| |
| private void testTablePage() { |
| String tablePage = "/applications/webApplications.jsf"; |
| |
| try { |
| WebResponse client = sr.getResponse(URL+tablePage); |
| String s = client != null ? client.getText() : null; |
| |
| if(s != null) { |
| if((s.indexOf("deployButton") >= 0) && (s.indexOf("Deployed") >= 0)) { |
| status.addStatus("admin-gui tablePage:", status.PASS); |
| summary[3][1] = "Passed"; |
| pass++; |
| } else { |
| status.addStatus("admin-gui tablePage:", status.FAIL); |
| summary[3][1] = "Failed"; |
| fail++; |
| } |
| } else { |
| status.addStatus("admin-gui tablePage:", status.FAIL); |
| summary[3][1] = "Failed"; |
| fail++; |
| } |
| } catch (Exception ex) { |
| status.addStatus("admin-gui tablePage:", status.FAIL); |
| fail++; |
| summary[3][1] = "Failed"; |
| 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("admin-guiID"); |
| } |
| |
| } |