001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.test.client.test;
023:
024: import java.util.Properties;
025: import java.net.URL;
026: import javax.naming.InitialContext;
027: import javax.naming.Context;
028: import javax.naming.NamingException;
029: import javax.jms.Queue;
030:
031: import org.jboss.test.cts.interfaces.StatelessSession;
032: import org.jboss.test.cts.interfaces.StatelessSessionHome;
033: import org.jboss.test.JBossTestCase;
034:
035: import junit.framework.Test;
036:
037: /** Tests of accessing a j2ee application client deployment
038: *
039: * @author Scott.Stark@jboss.org
040: * @version $Revision: 57211 $
041: */
042: public class AppClientUnitTestCase extends JBossTestCase {
043: public AppClientUnitTestCase(String name) {
044: super (name);
045: }
046:
047: /** Test that the client java:comp/env context contains what is expected
048: * @throws Exception
049: */
050: public void testENC() throws Exception {
051: Context enc = getENC();
052: getLog().debug("ENC: " + enc);
053:
054: String str0 = (String) enc.lookup("String0");
055: assertTrue("String0 == String0Value", str0
056: .equals("String0Value"));
057:
058: Float flt0 = (Float) enc.lookup("Float0");
059: assertTrue("Float0 == 3.14", flt0.equals(new Float("3.14")));
060:
061: Long long0 = (Long) enc.lookup("Long0");
062: assertTrue("Long0 == 123456789", long0.equals(new Long(
063: 123456789)));
064:
065: StatelessSessionHome home = (StatelessSessionHome) enc
066: .lookup("ejb/StatelessSessionBean");
067: assertTrue("ejb/StatelessSessionBean isa StatelessSessionHome",
068: home != null);
069:
070: URL jbossHome = (URL) enc.lookup("url/JBossHome");
071: assertTrue("url/JBossHome == http://www.jboss.org", jbossHome
072: .toString().equals("http://www.jboss.org"));
073:
074: URL indirectURL = (URL) enc.lookup("url/IndirectURL");
075: assertTrue("url/IndirectURL == http://www.somesite.com",
076: indirectURL.toString()
077: .equals("http://www.somesite.com"));
078:
079: Queue testQueue = (Queue) enc.lookup("jms/aQueue");
080: assertTrue("jms/aQueue isa Queue", testQueue != null);
081:
082: Queue anotherQueue = (Queue) enc.lookup("jms/anotherQueue");
083: assertTrue("jms/anotherQueue isa Queue", anotherQueue != null);
084:
085: Queue anotherQueue2 = (Queue) enc.lookup("jms/anotherQueue2");
086: assertTrue("jms/anotherQueue2 isa Queue", anotherQueue != null);
087: }
088:
089: /** Test access to EJBs located through the java:comp/env context
090: * @throws Exception
091: */
092: public void testEjbs() throws Exception {
093: Context enc = getENC();
094: StatelessSessionHome home = (StatelessSessionHome) enc
095: .lookup("ejb/StatelessSessionBean");
096: StatelessSession session = home.create();
097: session.method1("testEjbs");
098: session.remove();
099: }
100:
101: /** Build the InitialContext factory
102: * @return
103: * @throws NamingException
104: */
105: private Context getENC() throws NamingException {
106: Properties env = new Properties();
107: env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
108: "org.jnp.interfaces.NamingContextFactory");
109: env.setProperty(Context.URL_PKG_PREFIXES,
110: "org.jboss.naming.client");
111: env.setProperty(Context.PROVIDER_URL, "jnp://"
112: + getServerHost() + ":1099");
113: env.setProperty("j2ee.clientName", "test-client");
114: InitialContext ctx = new InitialContext(env);
115: Context enc = (Context) ctx.lookup("java:comp/env");
116: return enc;
117: }
118:
119: public static Test suite() throws Exception {
120: return getDeploySetup(AppClientUnitTestCase.class,
121: "app-client.ear");
122: }
123: }
|