001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)TestJavaEEApplicationInterceptor.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.management.ee;
030:
031: import com.sun.jbi.EnvironmentContext;
032: import com.sun.jbi.management.system.ScaffoldedEnvironmentContext;
033:
034: import javax.management.MBeanServer;
035: import javax.management.ObjectName;
036:
037: public class TestJavaEEApplicationInterceptor extends
038: junit.framework.TestCase {
039: /** Name of the MBean that the Java EE SE registers to intercept SA operations. */
040: private static final String JAVA_EE_DEPLOYER_NAME = "JavaEEDeployer";
041: /** Java EE SE component name. */
042: private static final String JAVA_EE_SE_NAME = "sun-javaee-engine";
043:
044: /** There are all dummy test values */
045: private static final String SA_NAME = "my-sa";
046: private static final String SU_NAME = "my-su";
047: private static final String OP_NAME = "my-op";
048: private static final String TARGET = "server";
049: private static final String SU_PATH = "/tmp/su.jar";
050:
051: private EnvironmentContext mEnvCtx;
052: private ObjectName mJavaEEDeployerName;
053: /* This is what we are testing. */
054: private ApplicationInterceptor mInterceptor;
055: /** This is a stand-in for the JavaEEDeployer implementation that the Java
056: * EE SE registers. */
057: private JavaEEDeployer mJavaEEDeployer;
058:
059: public TestJavaEEApplicationInterceptor(String aTestName)
060: throws Exception {
061: super (aTestName);
062:
063: mEnvCtx = new ScaffoldedEnvironmentContext();
064: mInterceptor = new JavaEEApplicationInterceptor(mEnvCtx);
065: mJavaEEDeployerName = mEnvCtx.getMBeanNames()
066: .getCustomEngineMBeanName(JAVA_EE_DEPLOYER_NAME,
067: JAVA_EE_SE_NAME);
068: }
069:
070: public void setUp() throws Exception {
071: super .setUp();
072:
073: mJavaEEDeployer = new JavaEEDeployer();
074: mEnvCtx.getMBeanServer().registerMBean(mJavaEEDeployer,
075: mJavaEEDeployerName);
076: }
077:
078: public void tearDown() throws Exception {
079: mEnvCtx.getMBeanServer().unregisterMBean(mJavaEEDeployerName);
080: }
081:
082: /** Verify that a call to deploy is received by the JavaEEDeployer MBean.
083: */
084: public void testDeploy() throws Exception {
085: mInterceptor.performAction("deploy", SA_NAME, SU_NAME, SU_PATH,
086: TARGET);
087: assertTrue("deploy".equals(mJavaEEDeployer
088: .getLastMethodCalled()));
089: }
090:
091: /** Verify that a call to undeploy is received by the JavaEEDeployer MBean.
092: */
093: public void testUndeploy() throws Exception {
094: mInterceptor.performAction("undeploy", SA_NAME, SU_NAME,
095: SU_PATH, TARGET);
096: assertTrue("undeploy".equals(mJavaEEDeployer
097: .getLastMethodCalled()));
098: }
099:
100: /** Verify that a call to start is received by the JavaEEDeployer MBean.
101: */
102: public void testStart() throws Exception {
103: mInterceptor.performAction("start", SA_NAME, SU_NAME, SU_PATH,
104: TARGET);
105: assertTrue("start"
106: .equals(mJavaEEDeployer.getLastMethodCalled()));
107: }
108:
109: /** Verify that a call to stop is received by the JavaEEDeployer MBean.
110: */
111: public void testStop() throws Exception {
112: mInterceptor.performAction("stop", SA_NAME, SU_NAME, SU_PATH,
113: TARGET);
114: assertTrue("stop".equals(mJavaEEDeployer.getLastMethodCalled()));
115: }
116:
117: /** Verify that a call to shutDown is received by the JavaEEDeployer MBean.
118: */
119: public void testShutDown() throws Exception {
120: mInterceptor.performAction("shutDown", SA_NAME, SU_NAME,
121: SU_PATH, TARGET);
122: assertTrue("shutDown".equals(mJavaEEDeployer
123: .getLastMethodCalled()));
124: }
125: }
126:
127: /** This is a stand-in for the JavaEEDeployer implementation that the Java
128: * EE SE registers.
129: */
130: class JavaEEDeployer implements JavaEEDeployerMBean {
131: private String lastMethodCalled;
132:
133: String getLastMethodCalled() {
134: return lastMethodCalled;
135: }
136:
137: public String deploy(String serviceAssemblyName,
138: String serviceUnitName, String serviceUnitRootPath,
139: String target) throws Exception {
140: lastMethodCalled = "deploy";
141: return "<SUCCESS/>";
142: }
143:
144: public void start(String serviceAssemblyName,
145: String serviceUnitName, String target) throws Exception {
146: lastMethodCalled = "start";
147: }
148:
149: public void stop(String serviceAssemblyName,
150: String serviceUnitName, String target) throws Exception {
151: lastMethodCalled = "stop";
152: }
153:
154: public void shutDown(String serviceAssemblyName,
155: String serviceUnitName, String target) throws Exception {
156: lastMethodCalled = "shutDown";
157: }
158:
159: public String undeploy(String serviceAssemblyName,
160: String serviceUnitName, String serviceUnitRootPath,
161: String target) throws Exception {
162: lastMethodCalled = "undeploy";
163: return "<SUCCESS/>";
164: }
165: }
|