You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-commits@incubator.apache.org by cl...@apache.org on 2005/09/21 18:51:38 UTC

svn commit: r290789 - in /incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr: ./ mapper/ persistence/atomicconverter/ persistence/impl/ repository/ testmodel/

Author: clombart
Date: Wed Sep 21 11:51:27 2005
New Revision: 290789

URL: http://svn.apache.org/viewcvs?rev=290789&view=rev
Log:
Review unit tests

Added:
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java
      - copied, changed from r280409, incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/AtomicTest.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java
      - copied, changed from r280409, incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/NullAtomicTest.java
Removed:
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestAll.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/AtomicTest.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/NullAtomicTest.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistencManagerSetupTest.java
Modified:
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/mapper/DigesterMapperImplTest.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/repository/RepositoryUtilTest.java
    incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Atomic.java

Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java?rev=290789&r1=290788&r2=290789&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java Wed Sep 21 11:51:27 2005
@@ -16,18 +16,24 @@
  */
 package org.apache.portals.graffito.jcr;
 
+import java.io.BufferedOutputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import javax.jcr.PathNotFoundException;
 import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
 import junit.framework.TestCase;
 
 import org.apache.portals.graffito.jcr.mapper.impl.DigesterMapperImpl;
-import org.apache.portals.graffito.jcr.persistence.CustomNodeTypeCreator;
 import org.apache.portals.graffito.jcr.persistence.PersistenceManager;
-import org.apache.portals.graffito.jcr.persistence.impl.CustomNodeTypeCreatorImpl;
 import org.apache.portals.graffito.jcr.persistence.impl.PersistenceManagerImpl;
 import org.apache.portals.graffito.jcr.repository.RepositoryUtil;
-
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
 
 /** 
  * Base class for testcases. Provides priviledged access to the jcr test
@@ -38,33 +44,42 @@
  */
 public abstract class TestBase extends TestCase
 {
-    /** Jcr session to work with.
+    /** 
+     * Jcr session to work with.
      */
+	protected Session session; 
+	
+	
     private PersistenceManager persistenceManager;
 
+    private static boolean isInit = false;
+
     /**
      * <p>Defines the test case name for junit.</p>
      * @param testName The test case name.
      */
-    public TestBase(String testName)
+    public TestBase(String testName) throws Exception
     {
         super(testName);
-    }    
+        if ( ! isInit)
+        {
+            RepositoryUtil.registerRepository("repositoryTest", "./src/test-config/repository.xml", "./target/repository");
+            isInit = true;
+        }
+    }
 
     /** Setting up the testcase.
      * @see junit.framework.TestCase#setUp()
      */
     protected void setUp() throws Exception
     {
-        DigesterMapperImpl mapper =  new DigesterMapperImpl("src/test-config/jcrmapping.xml");
-               
-        RepositoryUtil.registerRepository("repositoryTest", "src/test-config/repository.xml", "target/repository");
+        super.setUp();
+        DigesterMapperImpl mapper = new DigesterMapperImpl("./src/test-config/jcrmapping.xml");
         Repository repository = RepositoryUtil.getRepository("repositoryTest");
-        // optaining a read/write session to the repository
-        Session session = RepositoryUtil.login(repository, "superuser", "superuser");
-        CustomNodeTypeCreator customNodeTypeCreator = new CustomNodeTypeCreatorImpl();
-        persistenceManager = new PersistenceManagerImpl(mapper, repository, session, customNodeTypeCreator);
-        persistenceManager.setupRepository();
+        
+        session = RepositoryUtil.login(repository, "superuser", "superuser");        
+        persistenceManager = new PersistenceManagerImpl(mapper, repository, session);
+        
         
     }
 
@@ -73,9 +88,9 @@
      */
     public void tearDown() throws Exception
     {
-        getPersistenceManager().getSession().save();
-        getPersistenceManager().getSession().logout();
-    }    
+        getPersistenceManager().logout();    
+        super.tearDown();
+    }
 
     /** Getter for property persistenceManager.
      * @return jcrSession
@@ -92,4 +107,18 @@
     {
         this.persistenceManager = persistenceManager;
     }
+    
+    public void exportDocument(String filePath, String nodePath, boolean skipBinary, boolean noRecurse)
+    {
+        try {
+			BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(filePath));        
+			ContentHandler handler = new org.apache.xml.serialize.XMLSerializer(os, null).asContentHandler();
+			    session.exportDocumentView(nodePath, handler, skipBinary, noRecurse);
+		} catch (Exception e) 
+		{
+			System.out.println("Impossible to export the content from : " + nodePath);
+			e.printStackTrace();
+		}
+    }
+    
 }

Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/mapper/DigesterMapperImplTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/mapper/DigesterMapperImplTest.java?rev=290789&r1=290788&r2=290789&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/mapper/DigesterMapperImplTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/mapper/DigesterMapperImplTest.java Wed Sep 21 11:51:27 2005
@@ -76,7 +76,7 @@
     {
         try
         {
-            DigesterMapperImpl mapper = new DigesterMapperImpl("./src/test/jcrmapping.xml");
+            DigesterMapperImpl mapper = new DigesterMapperImpl("./src/test-config/jcrmapping.xml");
             assertNotNull("Mapper is null", mapper);
             
             ClassDescriptor classDescriptor = mapper.getClassDescriptor(A.class);
@@ -98,6 +98,7 @@
         }
         catch (JcrMappingException e)
         {
+              e.printStackTrace();
               fail("Impossible to retrieve the converter " + e);
         }
     }

Copied: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java (from r280409, incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/AtomicTest.java)
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java?p2=incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java&p1=incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/AtomicTest.java&r1=280409&r2=290789&rev=290789&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/AtomicTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java Wed Sep 21 11:51:27 2005
@@ -14,9 +14,10 @@
  * limitations under the License.
  * ========================================================================
  */
-package org.apache.portals.graffito.jcr.persistence.impl;
+package org.apache.portals.graffito.jcr.persistence.atomicconverter;
 
 import java.io.ByteArrayInputStream;
+import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collection;
@@ -51,7 +52,7 @@
      * <p>Defines the test case name for junit.</p>
      * @param testName The test case name.
      */
-    public AtomicTest(String testName)
+    public AtomicTest(String testName) throws Exception
     {
         super(testName);
     }
@@ -87,6 +88,8 @@
             a.setCalendar(Calendar.getInstance());
             a.setDoubleObject(new Double(2.12));
             a.setDoublePrimitive(1.23);
+            long now = System.currentTimeMillis();
+            a.setTimestamp(new Timestamp(now));
             
             ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream("Test Stream".getBytes());
             a.setInputStream(byteArrayInputStream);
@@ -119,7 +122,8 @@
             assertTrue("Incorrect double primitive", a.getDoublePrimitive() == 1.23);
             
             assertNotNull("Incorrect input stream primitive", a.getInputStream());
-            
+            assertNotNull("Incorrect timestamp", a.getTimestamp());
+            assertTrue("Invalid timestamp value ", a.getTimestamp().getTime() == now);
             
         }
         catch (Exception e)

Copied: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java (from r280409, incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/NullAtomicTest.java)
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java?p2=incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java&p1=incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/NullAtomicTest.java&r1=280409&r2=290789&rev=290789&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/NullAtomicTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java Wed Sep 21 11:51:27 2005
@@ -14,7 +14,7 @@
  * limitations under the License.
  * ========================================================================
  */
-package org.apache.portals.graffito.jcr.persistence.impl;
+package org.apache.portals.graffito.jcr.persistence.atomicconverter;
 
 import java.io.ByteArrayInputStream;
 import java.util.ArrayList;
@@ -51,7 +51,7 @@
      * <p>Defines the test case name for junit.</p>
      * @param testName The test case name.
      */
-    public NullAtomicTest(String testName)
+    public NullAtomicTest(String testName)  throws Exception
     {
         super(testName);
     }
@@ -76,9 +76,8 @@
             // Create and store an object graph in the repository
             // --------------------------------------------------------------------------------
             Atomic a = new Atomic();
-            a.setBooleanPrimitive(true);
-            a.setIntegerObject(new Integer(100));
-            a.setIntPrimitive(200);
+            
+            a.setIntegerObject(new Integer(100));            
             a.setDate(new Date());
             byte[] content = "Test Byte".getBytes();
             a.setByteArray(content);
@@ -100,10 +99,10 @@
             assertNotNull("a is null", a);
             assertNull("Boolean object is not null", a.getBooleanObject());
             
-            assertTrue("Incorrect boolean primitive", a.isBooleanPrimitive());
+            assertFalse("Incorrect boolean primitive", a.isBooleanPrimitive());
             assertNotNull("Integer Object is null", a.getIntegerObject());
             assertTrue("Incorrect Integer object", a.getIntegerObject().intValue() == 100);
-            assertTrue("Incorrect int primitive", a.getIntPrimitive() == 200);
+            assertTrue("Incorrect int primitive", a.getIntPrimitive() == 0);
             assertNull("String object is not null", a.getString());            
             assertNotNull("Byte array object is null", a.getByteArray());
             assertTrue("Incorrect byte object", new String(a.getByteArray()).equals("Test Byte"));

Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java?rev=290789&r1=290788&r2=290789&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java Wed Sep 21 11:51:27 2005
@@ -48,7 +48,7 @@
      * <p>Defines the test case name for junit.</p>
      * @param testName The test case name.
      */
-    public PersistenceManagerTest(String testName)
+    public PersistenceManagerTest(String testName)  throws Exception
     {
         super(testName);
     }
@@ -102,28 +102,6 @@
             getPersistenceManager().insert("/test", a);
 
             // --------------------------------------------------------------------------------
-            // Check the jcr node structure
-            // --------------------------------------------------------------------------------
-            Session session = getPersistenceManager().getSession();
-            Node node = (Node) session.getItem("/test");
-            assertNotNull("A is null", node);
-            
-            assertTrue("Incorrect Name for '/test'", node.getName().equals("test"));
-
-            Property a1 = node.getProperty("a1");
-            assertNotNull("a1  is null", a1);
-            assertTrue("Incorrect a1", a1.getString().equals("a1"));
-            
-            Node nodeB = node.getNode("b");
-            assertNotNull("b is null", nodeB);
-            assertTrue("Incorrect b", nodeB.getName().equals("b"));
-            
-            Node nodeCollection = node.getNode("collection");
-            assertNotNull("collection is null", nodeCollection);
-            assertTrue("Incorrect number of items in the collection", nodeCollection.getNodes().getSize() == 3);
-            
-             
-            // --------------------------------------------------------------------------------
             // Get the object
             // --------------------------------------------------------------------------------           
             a = (A) getPersistenceManager().getObject(A.class, "/test");
@@ -165,145 +143,5 @@
         
     }
     
-    /**
-     * 
-     * Test for Folder object 
-     *
-     */
-    public void testFolder()
-    {
-        try
-        {
-
-            if (getPersistenceManager().itemExists("/test"))
-            {
-                getPersistenceManager().remove("/test");
-            }
-
-            // --------------------------------------------------------------------------------
-            // Create and store a folder in the repository
-            // --------------------------------------------------------------------------------
-            Folder folder = new Folder();
-            folder.setCreationDate(new Date());
-            folder.setDescription("Folder description");
-            folder.setTitle("Folder Title");
-            folder.setLastModified(new Date());
-            
-            folder.setName("TestFolder");
-            folder.setTitle("Folder Title");
-
-            getPersistenceManager().insert("/test", folder);
-
-            // --------------------------------------------------------------------------------
-            // Check the jcr node structure
-            // --------------------------------------------------------------------------------
-            Session session = getPersistenceManager().getSession();
-            Node folderNode = (Node) session.getItem("/test");
-            assertNotNull("Folder node is null", folderNode);
-            
-            //TODO - custom node types not working yet!
-            //assertTrue("Incorrect primary type", folderNode.getPrimaryNodeType().getName().equals("graffito:folder"));
-            
-            assertTrue("Incorrect Name for '/test'", folderNode.getName().equals("test"));
-
-            Property description = folderNode.getProperty("description");
-            assertNotNull("Folder description  is null", description);
-            assertTrue("Incorrect description for '/test'", description.getString().equals("Folder description"));
 
-            // --------------------------------------------------------------------------------
-            // Get the object
-            // --------------------------------------------------------------------------------           
-            folder = (Folder) getPersistenceManager().getObject(Folder.class, "/test");
-            assertNotNull("Folder object is null", folder);
-            assertTrue("Incorrect description for folder object", folder.getDescription().equals("Folder description"));
-
-            // --------------------------------------------------------------------------------
-            // Update the object
-            // --------------------------------------------------------------------------------           
-//            folder.setDescription("new folder description");
-//            getPersistenceManager().update("/test", folder);
-//
-//            assertTrue("Incorrect description for folder object", ((Property) session.getItem("/test/graffito:description"))
-//                    .getString().equals("new folder description"));
-            
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-            fail("Exception occurs during the unit test : " + e);
-        }
-    }
-    
-    /**
-     * 
-     * Test for document object 
-     *
-     */
-//    public void testDocument()
-//    {
-//        try
-//        {
-//
-//            if (getPersistenceManager().itemExists("/testdoc"))
-//            {
-//                getPersistenceManager().remove("/testdoc");
-//            }
-//
-//            // --------------------------------------------------------------------------------
-//            // Create and store a document in the repository
-//            // --------------------------------------------------------------------------------
-//            Document document = new Document();
-//            document.setCreationDate(new Date());
-//            document.setDescription("Document description");
-//            document.setTitle("Document Title");
-//            document.setLastModified(new Date());           
-//            document.setName("testdoc");
-//            
-//            Content content = new Content();
-//            content.setContent("test".getBytes());
-//            document.setContentType("plain/text");
-//            content.setEncoding("utf-8");
-//            document.setContent(content);            
-//            
-//            getPersistenceManager().insert("/testdoc", document);
-//
-//            // --------------------------------------------------------------------------------
-//            // Check the jcr node structure
-//            // --------------------------------------------------------------------------------
-//            Session session = getPersistenceManager().getSession();
-//            Node documentNode = (Node) session.getItem("/testdoc");
-//            assertNotNull("Document node is null", documentNode);
-//            
-//            //TODO - custom node types not working yet!
-//            //assertTrue("Incorrect primary type", documentNode.getPrimaryNodeType().getName().equals("graffito:file"));
-//            
-//            assertTrue("Incorrect Name for '/testdoc'", documentNode.getName().equals("testdoc"));
-//
-//            Property description = documentNode.getProperty("graffito:description");
-//            assertNotNull("document description  is null", description);
-//            assertTrue("Incorrect description for '/testdoc'", description.getString().equals("Document description"));
-//
-//            // --------------------------------------------------------------------------------
-//            // Get the object
-//            // --------------------------------------------------------------------------------           
-//            document = (Document) getPersistenceManager().getObject(Document.class, "/testdoc");
-//            assertNotNull("Folder object is null", document);
-//            assertTrue("Incorrect description for folder object", document.getDescription().equals("Document description"));
-//
-//            // --------------------------------------------------------------------------------
-//            // Update the object
-//            // --------------------------------------------------------------------------------           
-//            document.setDescription("new document description");
-//            getPersistenceManager().update("/testdoc", document);
-//
-//            assertTrue("Incorrect description for document object", ((Property) session.getItem("/testdoc/graffito:description"))
-//                    .getString().equals("new document description"));
-//
-//        }
-//        catch (Exception e)
-//        {
-//            e.printStackTrace();
-//            fail("Exception occurs during the unit test : " + e);
-//        }
-//    }
 }

Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/repository/RepositoryUtilTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/repository/RepositoryUtilTest.java?rev=290789&r1=290788&r2=290789&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/repository/RepositoryUtilTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/repository/RepositoryUtilTest.java Wed Sep 21 11:51:27 2005
@@ -35,7 +35,7 @@
 public class RepositoryUtilTest extends TestCase
 {
     private final static Log log = LogFactory.getLog(RepositoryUtilTest.class);
-
+    private static boolean isInit = false;
     /**
      * <p>Defines the test case name for junit.</p>
      * @param testName The test case name.
@@ -51,7 +51,11 @@
     protected void setUp() throws Exception
     {
         super.setUp();
-        RepositoryUtil.registerRepository("repositoryTest", "src/conf/repository.xml", "target/repository");
+        if (! isInit)
+        {
+            RepositoryUtil.registerRepository("repositoryTest", "src/test-config/repository.xml", "target/repository");
+            isInit = true;
+        }
     }
 
     /**

Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Atomic.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Atomic.java?rev=290789&r1=290788&r2=290789&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Atomic.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Atomic.java Wed Sep 21 11:51:27 2005
@@ -16,6 +16,7 @@
 package org.apache.portals.graffito.jcr.testmodel;
 
 import java.io.InputStream;
+import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collection;
@@ -40,6 +41,7 @@
     private Double doubleObject;
     private double doublePrimitive;
     private InputStream inputStream;
+    private Timestamp timestamp;
     
     
     public Boolean getBooleanObject()
@@ -129,6 +131,14 @@
     public void setInputStream(InputStream inputStream)
     {
         this.inputStream = inputStream;
+    }
+    public Timestamp getTimestamp()
+    {
+        return timestamp;
+    }
+    public void setTimestamp(Timestamp timestamp)
+    {
+        this.timestamp = timestamp;
     }