Return-Path: Delivered-To: apmail-incubator-openejb-commits-archive@locus.apache.org Received: (qmail 11029 invoked from network); 5 Nov 2006 17:53:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Nov 2006 17:53:41 -0000 Received: (qmail 28815 invoked by uid 500); 5 Nov 2006 17:53:53 -0000 Delivered-To: apmail-incubator-openejb-commits-archive@incubator.apache.org Received: (qmail 28796 invoked by uid 500); 5 Nov 2006 17:53:53 -0000 Mailing-List: contact openejb-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: openejb-dev@incubator.apache.org Delivered-To: mailing list openejb-commits@incubator.apache.org Received: (qmail 28787 invoked by uid 99); 5 Nov 2006 17:53:53 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Nov 2006 09:53:53 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 05 Nov 2006 09:53:41 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 577DD1A9846; Sun, 5 Nov 2006 09:53:15 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r471477 - /incubator/openejb/trunk/openejb3/openejb-itests/src/main/java/org/apache/openejb/test/stateful/StatefulEjbLocalObjectTests.java Date: Sun, 05 Nov 2006 17:53:15 -0000 To: openejb-commits@incubator.apache.org From: dblevins@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061105175315.577DD1A9846@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dblevins Date: Sun Nov 5 09:53:14 2006 New Revision: 471477 URL: http://svn.apache.org/viewvc?view=rev&rev=471477 Log: Patch for OPENEJB-177: iTest: StatefulEjbLocalObjectTests from Manu T George Thanks Manu! Added: incubator/openejb/trunk/openejb3/openejb-itests/src/main/java/org/apache/openejb/test/stateful/StatefulEjbLocalObjectTests.java Added: incubator/openejb/trunk/openejb3/openejb-itests/src/main/java/org/apache/openejb/test/stateful/StatefulEjbLocalObjectTests.java URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/openejb-itests/src/main/java/org/apache/openejb/test/stateful/StatefulEjbLocalObjectTests.java?view=auto&rev=471477 ============================================================================== --- incubator/openejb/trunk/openejb3/openejb-itests/src/main/java/org/apache/openejb/test/stateful/StatefulEjbLocalObjectTests.java (added) +++ incubator/openejb/trunk/openejb3/openejb-itests/src/main/java/org/apache/openejb/test/stateful/StatefulEjbLocalObjectTests.java Sun Nov 5 09:53:14 2006 @@ -0,0 +1,102 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.test.stateful; + +import javax.ejb.EJBHome; +import javax.ejb.EJBLocalHome; + +/** + * @author David Blevins + * @author Richard Monson-Haefel + * @author Manu George + */ +public class StatefulEjbLocalObjectTests extends BasicStatefulLocalTestClient { + + public StatefulEjbLocalObjectTests(){ + super("EJBLocalObject."); + } + + protected void setUp() throws Exception{ + super.setUp(); + Object obj = initialContext.lookup("client/tests/stateful/BasicStatefulPojoHomeLocal"); + ejbLocalHome = (BasicStatefulLocalHome)obj; + ejbLocalObject = ejbLocalHome.create("StatefulEjbLocalObject Test Bean"); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + + public void test01_isIdentical(){ + try{ + assertTrue( "The EJBObjects are not equal", ejbLocalObject.isIdentical(ejbLocalObject) ); + } catch (Exception e){ + fail("Received Exception "+e.getClass()+ " : "+e.getMessage()); + } + } + + public void test02_getEjbLocalHome(){ + try{ + EJBLocalHome localHome = ejbLocalObject.getEJBLocalHome(); + assertNotNull( "The EJBHome is null", localHome ); + } catch (Exception e){ + fail("Received Exception "+e.getClass()+ " : "+e.getMessage()); + } + } + + /** + * 3.6.5 Session object identity + * + * Session objects are intended to be private resources used only by the + * client that created them. For this reason, session objects, from the + * clientÂ’s perspective, appear anonymous. In contrast to entity objects, + * which expose their identity as a primary key, session objects hide their + * identity. As a result, the EJBLocalObject.getPrimaryKey() method results in a + * javax.ejb.EJBException, and EJBLocalHome.remove(Object primaryKey) method results + * in a javax.ejb.RemoveException. If the EJBMetaData.getPrimaryKeyClass() + * method is invoked on a EJBMetaData object for a Session bean, the method throws + * the java.lang.RuntimeException. + */ + public void test03_getPrimaryKey(){ + try{ + Object key = ejbLocalObject.getPrimaryKey(); + } catch (javax.ejb.EJBException e){ + assertTrue(true); + return; + } catch (Exception e){ + fail("A RuntimeException should have been thrown. Received Exception "+e.getClass()+ " : "+e.getMessage()); + } + fail("A RuntimeException should have been thrown."); + } + + public void test04_remove(){ + try{ + try{ + ejbLocalObject.remove(); + ejbLocalObject.businessMethod("Should throw an exception"); + assertTrue( "Calling business method after removing the EJBObject does not throw an exception", false ); + } catch (Exception e){ + assertTrue( true ); + return; + } + } catch (Exception e){ + fail("Received Exception "+e.getClass()+ " : "+e.getMessage()); + } + } + +} \ No newline at end of file