Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EJB Test Plan/Session Bean Wizard
Functional tests for the Session Bean wizard.
Contents
- 1 Prerequisites
- 2 Create Default Session Bean
- 3 Create Remote Session Bean
- 4 Create Session Bean with Remote and Local Interfaces
- 5 Validate fields of Session Bean wizard
- 6 Create Session Bean with addition Business Interfaces
- 7 Create Session Bean with Home and Components interfaces (EJB 2.x)
- 8 Create Session Bean with Transaction Type Bean
- 9 Create Stateful Session Bean
Prerequisites
- Java EE 5 compatible runtime installed: JBoss, Glassfish, etc.
- an EAR 5 project created.
Create Default Session Bean
- Open the Java EE perspective.
- Create One EJB Project 3.0 and add it to the EAR.
- Create a new Session Bean:
- Check that Session Bean class and interface exist in the project file structure.
- Verify that there is a node for the Deployment Descriptor and node for the Beans under the "Session Beans" node.
- Check that under this node all bean classes and interfaces are listed.
- 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
- 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
- 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.
- Check whether in Business Interfaces section only TestBean1Remote interface is shown.
- 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 */ @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
- Create a new Stateless Session Bean :
- 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
- 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:
- 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.
- Set Mapped name: ejb/MyBean.
Create Session Bean with addition Business Interfaces
- 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.
- Press Finish.
- Check if in the ejbModule source folder class TestBean2 implements the interfaces:TestBean2Local and the added interface.
- 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.
- Check if in the ‘ejbModule’ source folder class TestBean2_1 implements the interfaces:TestBean2_1Local and the added interface.
- Check that inherited methods and constructors are created.
<< add more steps >>
Create Session Bean with Home and Components interfaces (EJB 2.x)
- Create a new Stateless Session Bean :
- 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
- Create a new Stateless Session Bean :
- enter "test" for Java package
- enter "TestBean4" for Class name
- go to next page
- Select for Transaction Type : Bean.
- Leave the Inherited abstract methods and Constructors from superclass check boxes checked.
- Press Finish.
- Check if in the ‘ejbModule’ source folder there are the following annotations:
@Stateless @TransactionManagement(TransactionManagementType.BEAN)
Create Stateful Session Bean
- Create a new Session Bean :
- Check if in the ‘ejbModule’ source folder there are the following annotations:
@Stateful(name = "MyStatefulBean", mappedName = "ejb/MyStatefulBean")