001: /*
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * --------------------------------------------------------------------------
022: * $Id: F_inboundTest.java 4604 2004-04-15 17:15:45Z bobkruse $
023: * --------------------------------------------------------------------------
024: */
025:
026: package org.objectweb.jonas.jtests.clients.jca15;
027:
028: import junit.framework.*;
029: import java.io.BufferedReader;
030: import java.io.FileInputStream;
031: import java.io.InputStreamReader;
032: import java.io.IOException;
033: import java.lang.String;
034: import java.rmi.RemoteException;
035: import javax.rmi.PortableRemoteObject;
036: import java.util.Collection;
037: import java.util.Enumeration;
038: import java.util.Hashtable;
039: import java.util.Properties;
040: import javax.ejb.FinderException;
041: import javax.ejb.RemoveException;
042: import javax.naming.Context;
043: import javax.naming.InitialContext;
044: import javax.naming.NamingException;
045:
046: import org.objectweb.jonas.jtests.beans.jca15.InboundCAHome;
047: import org.objectweb.jonas.jtests.beans.jca15.InboundCA;
048: import org.objectweb.jonas.jtests.util.JTestCase;
049:
050: /**
051: * Tests JOnAS Connector Architecture Inbound Resource Adapter
052: */
053: public class F_inboundTest extends JTestCase {
054:
055: static Context ctx = null;
056:
057: // Lookup bean home
058:
059: protected static String BEAN_HOME = "InboundCAHome";
060: static InboundCAHome home = null;
061: static InboundCA bean = null;
062: private static final String RAR_JNDI_NAME = "eis/ErsatzEIS";
063: int CloseType = 0;
064:
065: public F_inboundTest(String name) {
066: super (name);
067: }
068:
069: protected void setUp() {
070: super .setUp();
071:
072: // Get InitialContext
073:
074: try {
075:
076: // get JNDI initial context
077:
078: if (ctx == null) {
079: ctx = new InitialContext();
080: }
081:
082: if (home == null) {
083: useBeans("jca15", false); // does "jonas admin -j jca15.jar"
084: }
085:
086: // Connecting to InboundCAHome thru JNDI
087:
088: if (home == null) {
089: home = (InboundCAHome) PortableRemoteObject.narrow(ctx
090: .lookup(BEAN_HOME), InboundCAHome.class);
091: bean = home.create();
092: }
093:
094: assertTrue(5 == 5);
095:
096: } catch (Exception e) {
097: fail("Cannot do setUp: " + e);
098: }
099: }
100:
101: /**
102: *
103: * Common tearDown method, used for every test.
104: * Verify some Application Server tests by reviewing the log file.
105: *
106: * The application server also calls ManagedConnection.destroy when it
107: * receives a connection error event notification that signals a fatal error
108: * on the physical connection. When method closeUp(int x) is called by
109: * tearDown with x>0, a connection error event notification is sent to
110: * the application server. Look for <code>ManagedConnection.destroy</code> entry.
111: *
112: */
113: protected void tearDown() throws Exception {
114: bean.closeUp(CloseType);
115: }
116:
117: protected void startUp(String testName) {
118: try {
119: bean.method1(RAR_JNDI_NAME, testName);
120: } catch (Exception ee) {
121: ee.printStackTrace();
122: System.exit(2);
123: }
124: }
125:
126: // test list ****************************************************
127: /**
128: * The application server calls setter methods on the ResourceAdapterImpl
129: * instance to set various configuration properties on this instance.
130: * ra.xml deployment supplies value
131: *
132: * This test compares the "set" value in ra.xml, EIS_URL=ErsatzEIS
133: */
134: public void testSetEIS_URLMethod() throws Exception {
135: startUp("testSetEIS_URLMethod");
136: String url = bean.getEIS_URL();
137: assertEquals("ErsatzEIS", url);
138: }
139:
140: /**
141: * Send these messages to the Message Driven Bean MessageTakerMD.java
142: * >InboundCASLR > ResourceAdapterImpl > WorkImpl > MessageTakerMD > WorkAdapterImpl
143: * which is the "WorkListener"
144: *
145: * This test verifies the work submission call back mechanism in JCA 1.5, Figure 42
146: * and endpoint deployment in Figure 12-6.
147: *
148: * The Message Driven Bean is the endpoint which receives the messages.
149: */
150: public void testDeliverMsg() throws Exception {
151: startUp("testDeliverMsg");
152: boolean b = bean
153: .deliverMsg("String message 11111111111111111111 to endpoint.");
154: assertTrue(b);
155: b = bean
156: .deliverMsg("String message 22222222222222222222 to endpoint.");
157: assertTrue(b);
158: }
159:
160: // end test list ****************************************************
161:
162: public static Test suite() {
163: return new TestSuite(F_inboundTest.class);
164: }
165:
166: public static void main(String args[]) {
167:
168: String testtorun = null;
169:
170: // Get args
171:
172: for (int argn = 0; argn < args.length; argn++) {
173:
174: String s_arg = args[argn];
175: Integer i_arg;
176:
177: if (s_arg.equals("-n")) {
178: testtorun = args[++argn];
179: }
180: }
181:
182: if (testtorun == null) {
183: junit.textui.TestRunner.run(suite());
184: } else {
185: junit.textui.TestRunner.run(new F_inboundTest(testtorun));
186: }
187: }
188: }
|