Difference between revisions of "EJB Test Plan/Session Bean Wizard"

From Eclipsepedia

Jump to: navigation, search
(Create Default Session Bean)
(Create Session Bean with Remote and Local Interfaces)
Line 78: Line 78:
 
#*[[Image:Session_bean_02.png]]
 
#*[[Image:Session_bean_02.png]]
 
#*press Finish.
 
#*press Finish.
 +
#Check if in the ‘ejbModule’ source folder the following code is generated:
 +
 +
    package test;
 +
      import javax.ejb.Stateless;
 +
      /**
 +
      * Session Bean implementation class TestBean1_2
 +
      */
 +
      @Stateless
 +
      public class TestBean1_2 implements TestBean1_2Remote, TestBean1_2Local {
 +
          /**
 +
          * Default constructor.
 +
          */
 +
          public TestBean1_2() {
 +
              // TODO Auto-generated constructor stub
 +
          }
 +
      }
  
 
<< add more steps >>
 
<< add more steps >>

Revision as of 10:47, 3 July 2008

Functional tests for the Session Bean wizard.

Contents

Prerequisites

  • Java EE 5 compatible runtime installed: JBoss, Glassfish, etc.
  • an EAR 5 project created.

Create Default Session Bean

  1. Open the Java EE perspective.
  2. Create One EJB Project 3.0 and add it to the EAR.
  3. Create a new Session Bean:
    • enter "test" for Java package.
    • enter "TestBean" for Class name.
    • State type must be Stateless by default.
    • Check whether only "Create Business Interface > Local" is checked by default and leave it checked.
    • Session bean 01.png
    • press Finish.
  4. Check that Session Bean classe and interface exist in the project file structure.
  5. Verify that there is a node for the Deployment Descriptor and node for the Beans under the "Session Beans" node.
  6. Check that under this node all bean classes and interfaces are listed.
  7. Check if in the ‘ejbModule’ source folder there is the following annotation and the default constructor:
    package test;
       import javax.ejb.Stateless;
        /**
        * Session Bean implementation class TestBean
        */
       @Stateless
       public class TestBean implements TestBeanLocal {
           /**
           * Default constructor. 
           */
           public TestBean() {
              // TODO Auto-generated constructor stub
           }
       }


Create Remote Session Bean

  1. Create a new Stateless Session Bean:
    • enter "test" for Java package.
    • enter "TestBean1" for Class name.
    • Check up Remote interface and uncheck Local interface.
    • Next
    • Set Bean name: MyBean.
    • Set Mapped name: ejb/MyBean.
    • Check whether in Business Interfaces section only TestBean1Remote interface is shown.
    • press Finish.
  2. Check if in the ‘ejbModule’ source folder the following code is generated:
    package test;
      import javax.ejb.Stateless;
      /**
      * Session Bean implementation class TestBean1
      */
      @Stateless(name = "MyBean", mappedName = "ejb/MyBean")
      public class TestBean1 implements TestBean1Remote {
          /**
            * Default constructor. 
          */
          public TestBean1() {
              // TODO Auto-generated constructor stub
          }
       }


Create Session Bean with Remote and Local Interfaces

  1. Create a new Stateless Session Bean :
    • enter "test" for Java package.
    • enter "TestBean1_2" for Class name.
    • Check up both interfaces.
    • Press Next and check whether the names of the both interfaces are shown.
    • Session bean 02.png
    • press Finish.
  2. Check if in the ‘ejbModule’ source folder the following code is generated:
    package test;
      import javax.ejb.Stateless;
      /**
      * Session Bean implementation class TestBean1_2
      */
      @Stateless
      public class TestBean1_2 implements TestBean1_2Remote, TestBean1_2Local {
         /**
         * Default constructor. 
         */
         public TestBean1_2() {
             // TODO Auto-generated constructor stub
         }
      }

<< add more steps >>

Validate fields of Session Bean wizard

  1. Create a new Session Bean:
    • for Java package enter some String that starts with a number, or has some symbols (except _ ). There should be an error: Invalid Java package name…
    • Enter "test".
    • for Class name enter some String that starts with a number, or has some symbols (except _ ). There should be an error: Invalid Java class name. Next and Finish buttons are disabled.
    • enter "TestBean" for Class name. Check that there is an error: The class already exists in the package.
    • Enter some valid name.
    • Check up Remote and Local interfaces.
    • Delete the names in the fields. Error message is shown and Next and Finish buttons are disabled.
    • Set the same names in the Remote and Local Interfaces fields:
    • Session bean 07.png
    • go to next page
    • Delete the name TestBean4 from the field Bean name. Error message is shown and Next and Finish buttons are disabled.
    • Enter some String that starts with a number, or has some symbols (except _ ). There should be an error and Next and Finish buttons are disabled.
    • Set Bean name: MyBean. There should be an error: Enterprise bean with the same Ejb Name already exists.
    • Session bean 09.png
    • Set Mapped name: ejb/MyBean.

Create Session Bean with addition Business Interfaces

  1. Create a new Stateless Session Bean :
    • enter "test" for Java package.
    • enter "TestBean2" for Class name.
    • go to next page.
    • add new Business Interfaces.
    • Select one Interface and check the radio button Local, press OK.
    • Select the new interface from the Business Interface and press Remove button.
    • Press Back, and then Next again and check that this interface is not listed.
    • add new Business Interfaces as Local.
    • Leave the Inherited abstract methods and Constructors from superclass check boxes checked.
    • Session bean 03.png
    • Press Finish.
  2. Check if in the ejbModule source folder class TestBean2 implements the interfaces:TestBean2Local and the added interface.
  3. Create a new Stateless Session Bean :
    • enter "test" for Java package.
    • enter "TestBean2_1" for Class name.
    • go to next page.
    • add new Business Interfaces as Remote.
    • Leave the Inherited abstract methods and Constructors from superclass check boxes checked.
  4. Check if in the ‘ejbModule’ source folder class TestBean2_1 implements the interfaces:TestBean2_1Local and the added interface.
  5. Check that inherited methods and constructors are created.

<< add more steps >>

Create Session Bean with Home and Components interfaces (EJB 2.x)

  1. Create a new Stateless Session Bean :
    • enter "test" for Java package
    • enter "TestBean3" for Class name
    • go to next page
    • Expand Home and Components interfaces (EJB 2.x)
    • Check Local and Remote
    • Leave the Inherited abstract methods and Constructors from superclass checkboxes checked.
    • Session bean 04.png
    • Press Finish
  2. Check if in the ‘ejbModule’ source folder there are the following annotations:
     @Stateless
     @LocalHome(TestBean3LocalHome.class)
     @RemoteHome(TestBean3RemoteHome.class)


<< add more steps >>


Create Session Bean with Transaction Type Bean

  1. Create a new Stateless Session Bean :
    • enter "test" for Java package
    • enter "TestBean4" for Class name
    • go to next page
    • Delete the name TestBean4 from the field Bean name. Error message is shown and Next and Finish buttons are disabled.
    • Enter some String that starts with a number, or has some symbols (except _ ). There should be an error and Next and Finish buttons are disabled.
    • Set Bean name: MyBean.
    • Set Mapped name: ejb/MyBean.
    • Select for Transaction Type : Bean.
    • Leave the Inherited abstract methods and Constructors from superclass check boxes checked.
    • Session bean 05.png
    • Press Finish.
  2. Check if in the ‘ejbModule’ source folder there are the following annotations:
      @Stateless(name = "MyBean", mappedName = " ejb/MyBean ")
      @TransactionManagement(TransactionManagementType.BEAN)


Create Stateful Session Bean

  1. Create a new Session Bean :
    • enter "test" for Java package.
    • enter "TestBean5" for Class name.
    • Set for State Type: Stateful.
    • go to next page.
    • Set Bean name: MyBean. There should be an error: Enterprise bean with the same Ejb Name already exists.
    • Set the Bean name: MyStatefulBean.
    • Set Mapped name: ejb/MyStatefulBean.
    • Leave the Inherited abstract methods and Constructors from superclass checkboxes checked.
    • Session bean 06.png
    • Press Finish.
  2. Check if in the ‘ejbModule’ source folder there are the following annotations:
      @Stateful(name = "MyStatefulBean", mappedName = "ejb/MyStatefulBean")