01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package org.jboss.test.cts.test;
23:
24: import java.rmi.RemoteException;
25:
26: import javax.management.ObjectName;
27: import javax.naming.InitialContext;
28: import javax.rmi.PortableRemoteObject;
29:
30: import junit.framework.Test;
31:
32: import org.jboss.test.JBossTestCase;
33: import org.jboss.test.cts.interfaces.StatelessSession;
34: import org.jboss.test.cts.interfaces.StatelessSessionHome;
35:
36: /**
37: * Simple test to assert the correct exception when
38: * an instance cannot be created.<p>
39: *
40: * Put in a separate test because this currently
41: * stops the session bean from being usable at all.
42: *
43: * @author adrian@jboss.com
44: * @version $Revision: 57211 $
45: */
46: public class StatelessSessionBrokenCreateUnitTestCase extends
47: JBossTestCase {
48: public StatelessSessionBrokenCreateUnitTestCase(String name) {
49: super (name);
50: }
51:
52: public void testCreateExceptionFromRemoteInterface()
53: throws Exception {
54: getLog().debug("+++ testCreateExceptionFromInterface()");
55: InitialContext ctx = new InitialContext();
56: Object ref = ctx.lookup("ejbcts/StatelessSessionHome");
57: StatelessSessionHome home = (StatelessSessionHome) PortableRemoteObject
58: .narrow(ref, StatelessSessionHome.class);
59: StatelessSession sessionBean = home.create();
60: sessionBean.breakCreate();
61: ObjectName pool = new ObjectName(
62: "jboss.j2ee:jndiName=ejbcts/StatelessSessionHome,plugin=pool,service=EJB");
63: getServer().invoke(pool, "clear", null, null);
64: try {
65: sessionBean.method1("This should cause a CreateException");
66: fail("Should not be here");
67: } catch (RemoteException expected) {
68: log.debug("Expected", expected);
69: }
70: }
71:
72: public static Test suite() throws Exception {
73: return getDeploySetup(
74: StatelessSessionBrokenCreateUnitTestCase.class,
75: "cts.jar");
76: }
77: }
|