01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */package org.apache.openejb.test.stateful;
17:
18: import javax.ejb.EJBObject;
19:
20: /**
21: * [7] Should be run as the seventh test suite of the BasicStatefulTestClients
22: *
23: * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
24: * @author <a href="mailto:Richard@Monson-Haefel.com">Richard Monson-Haefel</a>
25: */
26: public class StatefulHandleTests extends BasicStatefulTestClient {
27:
28: public StatefulHandleTests() {
29: super ("Handle.");
30: }
31:
32: protected void setUp() throws Exception {
33: super .setUp();
34: Object obj = initialContext
35: .lookup("client/tests/stateful/BasicStatefulHome");
36: ejbHome = (BasicStatefulHome) javax.rmi.PortableRemoteObject
37: .narrow(obj, BasicStatefulHome.class);
38: ejbObject = ejbHome.createObject("Fourth Bean");
39: ejbHandle = ejbObject.getHandle();
40: }
41:
42: //=================================
43: // Test handle methods
44: //
45: public void test01_getEJBObject() {
46:
47: try {
48: EJBObject object = ejbHandle.getEJBObject();
49: assertNotNull("The EJBObject is null", object);
50: // Wait until isIdentical is working.
51: //assertTrue("EJBObjects are not identical", object.isIdentical(ejbObject));
52: } catch (Exception e) {
53: fail("Received Exception " + e.getClass() + " : "
54: + e.getMessage());
55: }
56: }
57:
58: /**
59: * This remove method of the EJBHome is placed hear as it
60: * is more a test on the handle then on the remove method
61: * itself.
62: */
63: public void test02_EJBHome_remove() {
64: try {
65: ejbHome.remove(ejbHandle);
66: try {
67: ejbObject.businessMethod("Should throw an exception");
68: assertTrue(
69: "Calling business method after removing the EJBObject does not throw an exception",
70: false);
71: } catch (Exception e) {
72: assertTrue(true);
73: return;
74: }
75: } catch (Exception e) {
76: fail("Received Exception " + e.getClass() + " : "
77: + e.getMessage());
78: }
79: }
80: //
81: // Test handle methods
82: //=================================
83:
84: }
|