| /* |
| * Copyright (c) 2003, 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 |
| */ |
| |
| /* |
| * $Id: OfflineConfigTest.java,v 1.1.1.1 2005/05/28 00:39:19 dpatil Exp $ |
| */ |
| |
| package com.sun.enterprise.admin.config; |
| |
| import java.lang.reflect.*; |
| import java.util.*; |
| import java.io.*; |
| import org.testng.annotations.*; |
| |
| //junit imports |
| import junit.framework.TestSuite; |
| import junit.framework.TestCase; |
| import junit.framework.TestResult; |
| import junit.textui.TestRunner; |
| |
| //JMX |
| import javax.management.DynamicMBean; |
| import javax.management.Attribute; |
| import javax.management.AttributeList; |
| import javax.management.ObjectName; |
| import javax.management.AttributeNotFoundException; |
| |
| //config imports |
| import com.sun.enterprise.config.ConfigFactory; |
| import com.sun.enterprise.config.ConfigContext; |
| import com.sun.enterprise.admin.config.OfflineConfigMgr; |
| |
| public class OfflineConfigTest extends TestCase |
| { |
| static String TEST_DIR = "build/internal/testclasses/asadmintest"; |
| |
| private OfflineConfigMgr _mgr; // = new AdminTester(_mode, _registry, _configContext); |
| |
| public OfflineConfigTest(String name) throws Exception |
| { |
| super(name); |
| } |
| |
| @Configuration(beforeTestClass = true) |
| protected void setUp() |
| { |
| /* System.setProperty("com.sun.aas.installRoot", TEST_DIR); |
| System.setProperty("com.sun.aas.instanceRoot","/qq"); |
| System.setProperty("com.sun.aas.javaRoot","/qq"); |
| System.setProperty("com.sun.aas.imqLib","/qq"); |
| */ |
| try |
| { |
| _mgr = new OfflineConfigMgr(TEST_DIR+"/domain.xml"); |
| } |
| catch (Throwable e) |
| { |
| e.printStackTrace(); |
| throw new RuntimeException(e.getMessage()); |
| } |
| } |
| |
| @Configuration(afterTestClass = true) |
| protected void tearDown() |
| { |
| _mgr = null; |
| } |
| |
| public static junit.framework.Test suite() |
| { |
| TestSuite suite = new TestSuite(OfflineConfigTest.class); |
| return suite; |
| } |
| |
| public static void main(String args[]) throws Exception |
| { |
| int length = args.length; |
| if(length<2 || |
| !args[0].equals("-testpath")) |
| { |
| System.out.println("usage: offlineconfigtest -testpath <path to test directory> [print|create]"); |
| System.exit(1); |
| } |
| TEST_DIR = args[1]; |
| System.out.println("TEST_DIR = "+TEST_DIR ); |
| final TestRunner runner= new TestRunner(); |
| final TestResult result = runner.doRun(OfflineConfigTest.suite(), false); |
| System.exit(result.errorCount() + result.failureCount()); |
| } |
| |
| |
| |
| |
| //****************************************************************** |
| //******************HELPERS*************************************** |
| //****************************************************************** |
| private void printTestTitle(String title) |
| { |
| System.out.println("\n/***********************************************************/"); |
| System.out.println(" TEST: "+ title); |
| System.out.println("/**********************************************************/"); |
| } |
| private void printAttributes(String title, AttributeList attrs) |
| { |
| if(title!=null) |
| System.out.println(title); |
| for(int i=0; i<attrs.size(); i++) |
| { |
| Attribute attr = (Attribute)attrs.get(i); |
| System.out.println(" "+ |
| attr.getName() + " = " + attr.getValue()); |
| } |
| } |
| private void printList(String title, ArrayList list) |
| { |
| if(title!=null) |
| System.out.println(title); |
| for(int i=0; i<list.size(); i++) |
| { |
| System.out.println(" " + list.get(i)); |
| } |
| } |
| |
| //****************************************************************** |
| //******************T E S T S*************************************** |
| //****************************************************************** |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testOfflineMgr() throws Exception |
| { |
| assertNotNull("_mgr==null", _mgr); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testGetWildcardAttributes() throws Exception |
| { |
| printTestTitle("testGetWildcardAttributes"); |
| AttributeList attrs = _mgr.getAttributes("domain.*"); |
| printAttributes(" ====== get domain.*", attrs); |
| attrs = _mgr.getAttributes("server-config.*"); |
| printAttributes(" ====== get server-config.*", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.*"); |
| printAttributes(" ====== server-config.http-service.virtual-server.server.*", attrs); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testGetAttributes() throws Exception |
| { |
| printTestTitle("testGetAttributes"); |
| AttributeList attrs = _mgr.getAttributes("domain.log-root"); |
| printAttributes(" ====== get domain.log-root", attrs); |
| attrs = _mgr.getAttributes("server-config.dynamic-reconfiguration-enabled"); |
| printAttributes(" ====== get server-config.dynamic-reconfiguration-enabled", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.id"); |
| printAttributes(" -====== server-config.http-service.virtual-server.server.id", attrs); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testGetProperties() throws Exception |
| { |
| printTestTitle("testGetProperties"); |
| AttributeList attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.accesslog"); |
| printAttributes(" ====== server-config.http-service.virtual-server.server.property.accesslog", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.chubaka"); |
| printAttributes(" ====== server-config.http-service.virtual-server.server.property.chubaka", attrs); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testGetWildcardProperties() throws Exception |
| { |
| printTestTitle("testGetWildcardProperties"); |
| AttributeList attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.*"); |
| printAttributes(" ====== server-config.http-service.virtual-server.server.property.*", attrs); |
| } |
| |
| @ExpectedExceptions({com.sun.enterprise.admin.AdminValidationException.class}) |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testSetAttribute() throws Exception |
| { |
| printTestTitle("testSetAttribute"); |
| AttributeList attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.state"); |
| printAttributes(" ====== get before set ", attrs); |
| attrs = _mgr.setAttribute("server-config.http-service.virtual-server.server.state", "qq"); |
| printAttributes(" ====== set server-config.http-service.virtual-server.server.state=qq", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.state"); |
| printAttributes(" ====== get after set", attrs); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testSetProperty() throws Exception |
| { |
| printTestTitle("testSetProperty"); |
| AttributeList attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.accesslog"); |
| printAttributes(" ====== get before set ", attrs); |
| attrs = _mgr.setAttribute("server-config.http-service.virtual-server.server.property.accesslog", "aaa"); |
| printAttributes(" ====== set server-config.http-service.virtual-server.server.property.accesslog=aaa", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.accesslog"); |
| printAttributes(" ====== get after set", attrs); |
| } |
| |
| @ExpectedExceptions({com.sun.enterprise.admin.AdminValidationException.class}) |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testServerTargetedConfigGetSet() throws Exception |
| { |
| AttributeList attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.id"); |
| printAttributes(" ====== get by server", attrs); |
| attrs = _mgr.getAttributes("server.http-service.virtual-server.server.state"); |
| printAttributes(" ====== get before set by server", attrs); |
| attrs = _mgr.setAttribute("server.http-service.virtual-server.server.state", "qq2"); |
| printAttributes(" ====== set server.http-service.virtual-server.server.state=qq2", attrs); |
| attrs = _mgr.getAttributes("server.http-service.virtual-server.server.state"); |
| printAttributes(" ====== get after set by server", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.state"); |
| printAttributes(" ====== get after set (by server-config)", attrs); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testAddProperty() throws Exception |
| { |
| printTestTitle("testAddProperty"); |
| AttributeList attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.qwerty"); |
| printAttributes(" ====== get before set ", attrs); |
| attrs = _mgr.setAttribute("server-config.http-service.virtual-server.server.property.qwerty", "zzz"); |
| printAttributes(" ====== set server-config.http-service.virtual-server.server.property.qwerty=zzz", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.qwerty"); |
| printAttributes(" ====== get after set", attrs); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testDeleteProperty() throws Exception |
| { |
| printTestTitle("testAddProperty"); |
| AttributeList attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.qwerty"); |
| printAttributes(" ====== get before set ", attrs); |
| attrs = _mgr.setAttribute("server-config.http-service.virtual-server.server.property.qwerty", null); |
| printAttributes(" ====== set server-config.http-service.virtual-server.server.property.qwerty=null", attrs); |
| attrs = _mgr.getAttributes("server-config.http-service.virtual-server.server.property.qwerty"); |
| printAttributes(" ====== get after set", attrs); |
| } |
| |
| @Test(groups = {"OfflineConfigTests"}) |
| public void testGetListDottedNames() throws Exception |
| { |
| printTestTitle("testGetListDottedNames"); |
| ArrayList list = _mgr.getListDottedNames("*"); |
| printList("*", list); |
| } |
| } |