KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > client > test > MetaDataUnitTestCase


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * 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.client.test;
23
24 import java.net.URL JavaDoc;
25 import java.util.ArrayList JavaDoc;
26 import java.util.HashMap JavaDoc;
27
28 import org.jboss.test.JBossTestCase;
29 import org.jboss.metadata.ClientMetaData;
30 import org.jboss.metadata.EjbRefMetaData;
31 import org.jboss.metadata.EnvEntryMetaData;
32 import org.jboss.metadata.ResourceRefMetaData;
33 import org.jboss.metadata.ResourceEnvRefMetaData;
34 import org.jboss.metadata.XmlFileLoader;
35
36 import org.w3c.dom.Document JavaDoc;
37 import org.w3c.dom.Element JavaDoc;
38
39 /** Unit tests of the application-client metadata parsing
40
41 @author Scott.Stark@jboss.org
42 @version $Revision: 37406 $
43 **/

44 public class MetaDataUnitTestCase extends JBossTestCase
45 {
46    ClientMetaData metaData = new ClientMetaData();
47
48    public MetaDataUnitTestCase(String JavaDoc name)
49    {
50       super(name);
51    }
52
53    protected void setUp() throws Exception JavaDoc
54    {
55       ClassLoader JavaDoc loader = Thread.currentThread().getContextClassLoader();
56       URL JavaDoc appClientXml = loader.getResource("client/application-client.xml");
57       Document JavaDoc appClientDoc = XmlFileLoader.getDocument(appClientXml);
58       Element JavaDoc appClient = appClientDoc.getDocumentElement();
59       metaData.importClientXml(appClient);
60       URL JavaDoc jbossClientXml = loader.getResource("client/jboss-client.xml");
61       Document JavaDoc jbossClientDoc = XmlFileLoader.getDocument(jbossClientXml);
62       Element JavaDoc jbossClient = jbossClientDoc.getDocumentElement();
63       metaData.importJbossClientXml(jbossClient);
64    }
65
66    public void testEnvEntries()
67       throws Exception JavaDoc
68    {
69       getLog().debug("+++ testEnvEntries");
70       ArrayList JavaDoc envEntries = metaData.getEnvironmentEntries();
71       assertTrue("There are 3 env-entries", envEntries.size() == 3);
72       EnvEntryMetaData str0 = (EnvEntryMetaData) envEntries.get(0);
73       assertTrue("Env[0].name == String0", str0.getName().equals("String0"));
74       assertTrue("Env[0].type == java.lang.String", str0.getType().equals("java.lang.String"));
75       assertTrue("Env[0].value == String0Value", str0.getValue().equals("String0Value"));
76
77       EnvEntryMetaData flt0 = (EnvEntryMetaData) envEntries.get(1);
78       assertTrue("Env[1].name == Float0", flt0.getName().equals("Float0"));
79       assertTrue("Env[1].type == java.lang.Float", flt0.getType().equals("java.lang.Float"));
80       Float JavaDoc pi = new Float JavaDoc(3.14);
81       int ftest = pi.compareTo(new Float JavaDoc(flt0.getValue()));
82       assertTrue("Env[1].value == 3.14, test="+ftest, ftest == 0);
83
84       EnvEntryMetaData long0 = (EnvEntryMetaData) envEntries.get(2);
85       Long JavaDoc n = new Long JavaDoc(123456789);
86       int ltest = n.compareTo(new Long JavaDoc(long0.getValue()));
87       assertTrue("Env[2].name == Long0", long0.getName().equals("Long0"));
88       assertTrue("Env[2].type == java.lang.Long", long0.getType().equals("java.lang.Long"));
89       assertTrue("Env[2].value == 123456789, test="+ltest, ltest == 0);
90    }
91
92    public void testEjbRefs() throws Exception JavaDoc
93    {
94       getLog().debug("+++ testEjbRefs");
95       HashMap JavaDoc ejbRefs = metaData.getEjbReferences();
96       assertTrue("There are 2 ejb-refs", ejbRefs.size() == 2);
97       EjbRefMetaData ref = (EjbRefMetaData) ejbRefs.get("ejb/StatelessSessionBean");
98       assertTrue("ejb/StatelessSessionBean ejb-ref exists", ref != null);
99       assertTrue("ejb-ref-name: StatelessSessionBean", ref.getName().equals("ejb/StatelessSessionBean"));
100       assertTrue("home: org.jboss.test.cts.interfaces.StatelessSessionHome",
101          ref.getHome().equals("org.jboss.test.cts.interfaces.StatelessSessionHome"));
102       assertTrue("remote: org.jboss.test.cts.interfaces.StatelessSession",
103          ref.getRemote().equals("org.jboss.test.cts.interfaces.StatelessSession"));
104       assertTrue("ejb-ref-type: Session",
105          ref.getType().equals("Session"));
106       assertTrue("jnd-name: ejbcts/StatelessSessionHome",
107          ref.getJndiName().equals("ejbcts/StatelessSessionHome"));
108
109       ref = (EjbRefMetaData) ejbRefs.get("ejb/StatelessSessionBean2");
110       assertTrue("ejb/StatelessSessionBean ejb-ref exists", ref != null);
111       assertTrue("ejb-ref-name: StatelessSessionBean2", ref.getName().equals("ejb/StatelessSessionBean2"));
112       assertTrue("home: org.jboss.test.cts.interfaces.StatelessSessionHome",
113          ref.getHome().equals("org.jboss.test.cts.interfaces.StatelessSessionHome"));
114       assertTrue("remote: org.jboss.test.cts.interfaces.StatelessSession",
115          ref.getRemote().equals("org.jboss.test.cts.interfaces.StatelessSession"));
116       assertTrue("ejb-ref-type: Session",
117          ref.getType().equals("Session"));
118       assertTrue("ejb-link: StatelessSessionBean",
119          ref.getLink().equals("StatelessSessionBean"));
120    }
121
122    public void testResourceRefs() throws Exception JavaDoc
123    {
124       getLog().debug("+++ testResourceRefs");
125       HashMap JavaDoc resRefs = metaData.getResourceReferences();
126       assertTrue("There are 2 resource-ref", resRefs.size() == 2);
127       ResourceRefMetaData ref = (ResourceRefMetaData) resRefs.get("url/JBossHome");
128       assertTrue("res-ref-name == url/JBossHome",
129          ref.getRefName().equals("url/JBossHome"));
130       assertTrue("res-type == java.net.URL",
131          ref.getType().equals("java.net.URL"));
132       assertTrue("jnd-name: http://www.jboss.org",
133          ref.getResURL().equals("http://www.jboss.org"));
134
135       ref = (ResourceRefMetaData) resRefs.get("url/IndirectURL");
136       assertTrue("res-ref-name == url/IndirectURL",
137          ref.getRefName().equals("url/IndirectURL"));
138       assertTrue("res-type == java.net.URL",
139          ref.getType().equals("java.net.URL"));
140       assertTrue("jnd-name: SomeWebSite",
141          ref.getJndiName().equals("SomeWebSite"));
142    }
143
144    public void testResourceEnvRefs() throws Exception JavaDoc
145    {
146       getLog().debug("+++ testResourceRefs");
147       HashMap JavaDoc resRefs = metaData.getResourceEnvReferences();
148       int size = resRefs.size();
149       assertTrue("resource-ref count("+size+") == 3", size == 3);
150       ResourceEnvRefMetaData ref = (ResourceEnvRefMetaData) resRefs.get("jms/aQueue");
151       assertTrue("resource-env-ref-name == jms/aQueue",
152          ref.getRefName().equals("jms/aQueue"));
153       assertTrue("resource-env-ref-type == javax.jms.Queue",
154          ref.getType().equals("javax.jms.Queue"));
155       assertTrue("jnd-name: queue/testQueue",
156          ref.getJndiName().equals("queue/testQueue"));
157
158       ref = (ResourceEnvRefMetaData) resRefs.get("jms/anotherQueue");
159       assertTrue("message-destination-ref-name == jms/anotherQueue",
160          ref.getRefName().equals("jms/anotherQueue"));
161       assertTrue("message-destination-ref-type == javax.jms.Queue",
162          ref.getType().equals("javax.jms.Queue"));
163       assertTrue("jnd-name: queue/A",
164          ref.getJndiName().equals("queue/A"));
165
166       ref = (ResourceEnvRefMetaData) resRefs.get("jms/anotherQueue2");
167       assertTrue("message-destination-ref-name == jms/anotherQueue2",
168          ref.getRefName().equals("jms/anotherQueue2"));
169       assertTrue("message-destination-ref-type == javax.jms.Queue",
170          ref.getType().equals("javax.jms.Queue"));
171       assertTrue("message-destination-ref-link == TheOtherQueue",
172          ref.getLink().equals("TheOtherQueue"));
173       assertTrue("jnd-name: queue/B",
174          ref.getJndiName().equals("queue/B"));
175    }
176
177    public void testCallbackHandler() throws Exception JavaDoc
178    {
179       getLog().debug("+++ testResourceRefs");
180       String JavaDoc callbackHandler = metaData.getCallbackHandler();
181       assertTrue("callbackHandler = SystemPropertyCallbackHandler",
182          callbackHandler.equals("org.jboss.test.client.test.SystemPropertyCallbackHandler"));
183    }
184    /** Override the testServerFound since these test don't need the JBoss server
185     */

186    public void testServerFound()
187    {
188    }
189    public void initDelegate()
190    {
191    }
192 }
193
Popular Tags