You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2005/12/05 16:06:32 UTC

cvs commit: db-ojb/src/test/org/apache/ojb/broker/metadata ReadonlyTest.java

arminw      2005/12/05 07:06:32

  Modified:    src/test/org/apache/ojb/broker/metadata Tag: OJB_1_0_RELEASE
                        ReadonlyTest.java
  Log:
  add new test, declare all non-PK fields read-only
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.4.1   +62 -19    db-ojb/src/test/org/apache/ojb/broker/metadata/ReadonlyTest.java
  
  Index: ReadonlyTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/metadata/ReadonlyTest.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- ReadonlyTest.java	9 Dec 2003 13:46:47 -0000	1.1
  +++ ReadonlyTest.java	5 Dec 2005 15:06:32 -0000	1.1.4.1
  @@ -6,42 +6,60 @@
   import org.apache.ojb.broker.PersistenceBrokerFactory;
   import org.apache.ojb.broker.PersistenceBrokerException;
   import org.apache.ojb.broker.Identity;
  +import org.apache.ojb.junit.PBTestCase;
   
   /**
    *
    * @author <a href="mailto:armin@codeAuLait.de">Armin Waibel</a>
    * @version $Id$
    */
  -public class ReadonlyTest extends TestCase
  +public class ReadonlyTest extends PBTestCase
   {
  -    private PersistenceBroker broker;
  -
       public static void main(String[] args)
       {
           String[] arr = {ReadonlyTest.class.getName()};
           junit.textui.TestRunner.main(arr);
       }
   
  -    public void setUp() throws PBFactoryException
  +    public void setUp() throws Exception
       {
  -        broker = PersistenceBrokerFactory.defaultPersistenceBroker();
  +        super.setUp();
       }
   
  -    public void tearDown()
  +    public void tearDown() throws Exception
       {
  -        try
  -        {
  -            if(broker != null) broker.close();
  -        }
  -        catch (PersistenceBrokerException e)
  -        {
  -        }
  +        super.tearDown();
       }
   
       public void testReadonly() throws Exception
       {
           long timestamp = System.currentTimeMillis();
  -        TestObject obj = new TestObject(null, "readonly test_"+timestamp, "should not persisted", new Long(timestamp));
  +        TestObject obj = new TestObject(null, "testReadonly_"+timestamp, "should not persisted", new Long(timestamp));
  +
  +        broker.beginTransaction();
  +        broker.store(obj);
  +        broker.commitTransaction();
  +        broker.clearCache();
  +
  +        broker.beginTransaction();
  +        Identity oid = broker.serviceIdentity().buildIdentity(obj);
  +        TestObject ret_obj = (TestObject) broker.getObjectByIdentity(oid);
  +        broker.commitTransaction();
  +
  +        assertNotNull(ret_obj);
  +        assertNotNull(ret_obj.getName());
  +        assertNull("Field should not be populated", ret_obj.getReadonlyLong());
  +        assertNull("Field should not be populated", ret_obj.getReadonlyString());
  +    }
  +
  +    public void testReadonlyAll() throws Exception
  +    {
  +        long timestamp = System.currentTimeMillis();
  +        TestObject obj = new TestObject(null, "testReadonlyAll_"+timestamp, "should not persisted", new Long(timestamp));
  +        ClassDescriptor cld = broker.getClassDescriptor(TestObject.class);
  +        FieldDescriptor fld_id = cld.getFieldDescriptorByName("objId");
  +        FieldDescriptor fld_name = cld.getFieldDescriptorByName("name");
  +
           try
           {
               broker.beginTransaction();
  @@ -50,21 +68,46 @@
               broker.clearCache();
   
               broker.beginTransaction();
  -            Identity oid = new Identity(obj, broker);
  +            Identity oid = broker.serviceIdentity().buildIdentity(obj);
               TestObject ret_obj = (TestObject) broker.getObjectByIdentity(oid);
               broker.commitTransaction();
   
  +            fld_id.setAccess("readonly");
  +            fld_name.setAccess("readonly");
  +
  +            assertNotNull(ret_obj);
  +            assertNotNull(ret_obj.getName());
  +            assertNull("Field should not be populated", ret_obj.getReadonlyLong());
  +            assertNull("Field should not be populated", ret_obj.getReadonlyString());
  +
  +            broker.beginTransaction();
  +            oid = broker.serviceIdentity().buildIdentity(obj);
  +            ret_obj = (TestObject) broker.getObjectByIdentity(oid);
  +            broker.store(ret_obj);
  +            broker.commitTransaction();
  +
               assertNotNull(ret_obj);
               assertNotNull(ret_obj.getName());
               assertNull("Field should not be populated", ret_obj.getReadonlyLong());
               assertNull("Field should not be populated", ret_obj.getReadonlyString());
  +
  +            broker.beginTransaction();
  +            oid = broker.serviceIdentity().buildIdentity(obj);
  +            ret_obj = (TestObject) broker.getObjectByIdentity(oid);
  +            // nevertheless we can remove the whole object
  +            broker.delete(ret_obj);
  +            broker.commitTransaction();
  +
  +            oid = broker.serviceIdentity().buildIdentity(obj);
  +            ret_obj = (TestObject) broker.getObjectByIdentity(oid);
  +
  +            assertNull(ret_obj);
           }
           finally
           {
  -            if(broker != null) broker.close();
  +            if(fld_id != null) fld_id.setAccess("readwrite");
  +            if(fld_name != null) fld_name.setAccess("readwrite");
           }
  -
  -
       }
   
       public static class TestObject
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org