Last Build Date: Wed, 19 Oct 2005 03:22:56 -0000
Wed, 19 Oct 2005 03:22:56 -0000
Eoin Woods and I just published the article (http://dev2dev.bea.com/pub/a/2005/10/mock_ejbs.html) about MockEJB on dev2dev. Eoin came up with some good examples, theyre different from whats on mockejb.org website. Enjoy...
Sat, 04 Sep 2004 16:26:37 -0000
This relase adds the support for security as well as bug fixed and improved BMP support.
List of changes:
- MockUser class is added to support EJBContext.getCallerPrincipal() and EJBContext.isCallerInRole().
See FundamentalsTest for an example.
- Aspect framework allows to intercept implementation methods as well as interface methods (previously only interface methods could be intercepted).
E.g., now users can define a pointcut for ejbFind... methods of the implementation class.
- MockEJB now automatically calls ejbLoad method for BMP finders.
- EntityDatabase becomes an interface. User can now supply their implementation classes using
"mockejb.entity.database" system property.
- EntityDatabase.getInstance() is deleted. Users should use mockContainer.getEntityDatabase() instead.
- JDK 1.3 support.
- Jakarta ORO library is now used for regexp support instead of JDK 1.4 java.util.regexp.
The library is packaged with MockEJB distribution.
- setEntityContext is now called on temporary entities used for finders and home methods.
- MockContextFactory.revertSetAsInitial() now clears the content of the JNDI tree to provide
for better test isolation.
Mon, 21 Jun 2004 02:22:54 -0000
This is the major release of the framework with many new features.
The focus of this release is on CMP/BMP entity bean support, as well as JMS.
List of key changes
- Mock JMS implementation.
- Ability to deploy an MDB to JMS destination.
- Fully revamped Interceptor framework.
- CMP entity bean support.
- BMP entity bean support.
- EjbBeanAccess interface allowing to access Bean (implementation) object by casting the business interface of an EJB instance.
Changes that are not compatible with the previous version of MockEJB
- Interceptors APIs have changed almost entirely. Please see Interceptors JavaDoc for more details.
- Many MockEjbObject methods have been deleted because they have been superceded by the new Interceptors framework.
- The direct use of MockEjbObject is now deprecated.
- All "deploy" methods of MockContainer have become "void".
- Signature of "deploy" methods for MDBs have changed.
Tue, 20 Apr 2004 02:21:34 -0000
MockEJB 20040419 nightly build is available on http://www.myarch.com/mockejb. This release has the following changes:
- Interceptor/AOP framework has been re-worked to use cglib (http://cglib.sourceforge.net). This allows us to intercept non-public classes.
- MockEJB distribution now includes J2EE interfaces jar, so you don't need any third-party jar to begin using MockEJB.
- HelloWorldTest sample test class and build script have been added.
- Build scripts have been cleaned up.
Mon, 15 Mar 2004 01:48:20 -0000
MockEJB 20040314 nightly build is available on http://www.myarch.com/mockejb. This build has the following new features:
- Mock JMS implementation (org.mockejb.jms) which uses AOP/interceptor framework.
- New MDB deployment mechanism. MockContainer now automatically creates mock connection factory and destination and makes MDB listen to the destination. Since mock JMS is, in fact, synchronous (the message is delivered immediately), it should make it easy to write integration tests with multiple session beans/MDBs involved.
- Support for EasyMock/Dynamock (suggested by Thomas Svensen). You can now specify an instance of an implementation class (as opposed to the implementation class itself) in EJB deployment descriptor. Also, MockEJB will not call EJB callback methods ( ejbCreate, ejbActivate, setSessionContext, etc.) if the implementation class does not implement EnterpriseBean interface.
As it is always the case with nightly builds, the documentation is lagging behind, so please see the updated test classes under org.mockejb.test for more information.
Wed, 03 Mar 2004 05:42:02 -0000
MockEJB nightly builds are now available from http://www.myarch.com/mockejb. We will update this page every time we commit a substantial change to MockEJB source code. We wont be publishing a new build literally every night, however we do intend to keep this page in synch with all major changes in MockEJB trunk (tip), so depending on the time were able to spend on MockEJB, one can expect to see an update several times a month.
We will notify the user list about the new builds and in some cases post a news item on https://sourceforge.net/projects/mockejb.
Needless to say that all nightly builds are bleeding edge, however we do make sure that all our tests run successfully.
We will continue using our sourceforge site for all official stable MockEJB releases.
Wed, 03 Dec 2003 05:29:00 -0000
The focus of this release is the improved support for using and running mock EJBs inside the container.
See http://www.mockejb.org for more details.
List of all changes
- New OptionalCactusTestCase class can be used as a base class for test classes to switch between standalone and Cactus testing.
- Improved support for mock implementation classes for EJBs.
- MockEJB can now work with any JNDI provider, not only with MockContext.
- MockContext now supports hierarchical names and subcontexts.
- "java:comp/env" is now correctly supported for tests running inside the container.
- MockContextFactory.setAsInitial() and revertSetAsInitial() convenience methods have been added.
- MockContextFactory now supports the delegate JNDI environment instead of just an initial context factory.
- Interceptor API has been changed substantially to make it more generic so it can be used with any dynamic proxy, not just with the ones provided by MockEJB.
- InvocationRecorder interceptor allows preserving the information about the call stack for further inspection by the test class.
- TransactionManager (former TransactionInvoker) no longer uses the static field to store UserTransaction instance.
- Homes are now serializable.
- Updated, more detailed documentation.
- Updated and extended examples.
- New build files.
Changes that are not compatible with the previous version of MockEJB
Non-backward compatible changes have been introduced to streamline MockEJB APIs and improve the overall flexibility of the framework. Given the nature of changes, porting the existing code to the new version should not be difficult.
- MockContainer.deployXXX methods have been changed to instance methods from static methods.
- An instance of javax.naming.Context must be passed to the constructor of MockContainer.
- MockContext and MockContextFactory classes have been moved to "org.mockejb.jndi" package.
- MockContextFactory.setRemoteFactory() has been renamed to MockContextFactory.setDelegateEnvironment().
- MockContainer.isActivate() and MockContainer.deactivate() methods have been deleted. You should use OptionalCactusTestCase.isAppServer() to check if the test class runs inside the app server.
- MockContext.add() has been removed. You can use MockContext.bind() or MockContext.rebind() methods.
- "Invoker" interface has been renamed to "Interceptor", its "invoke" method has been renamed to "intercept". The method now takes "Object" as a parameter as opposed to "javax.ejb.EnterpriseBean".
- Interceptor framework has been segregated into "org.mockejb.interceptor" package.
- TransactionInvoker has been renamed to TransactionManager.
- ExceptionInvoker has been renamed to ExceptionHandler.
Tue, 05 Aug 2003 03:43:20 -0000
This is the first official release of the MockEjb framework. Please see www.mockejb.org for more details.