You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2010/10/11 22:05:01 UTC

svn commit: r1021490 - /openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestLobs.java

Author: mikedd
Date: Mon Oct 11 20:05:00 2010
New Revision: 1021490

URL: http://svn.apache.org/viewvc?rev=1021490&view=rev
Log:
Refactor testcase and ensure expected exception occurs. 

Modified:
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestLobs.java

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestLobs.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestLobs.java?rev=1021490&r1=1021489&r2=1021490&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestLobs.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestLobs.java Mon Oct 11 20:05:00 2010
@@ -39,7 +39,26 @@ public class TestLobs extends SingleEMFT
     public void setUp() throws Exception {
         super.setUp(DROP_TABLES, Lobs.class, Blobs.class);
     }
-    public void testNullableAndNonNullableBLobs() {
+    
+    // blob tests 
+    public void testBlobSetToNull() { 
+
+        EntityManager em = emf.createEntityManager();
+        em.getTransaction().begin();
+        Blobs lobs = new Blobs();
+        lobs.setLobNotNullable(null);
+        lobs.setLobNullable(null);
+        em.persist(lobs);
+        try {
+            em.getTransaction().commit();
+            fail("Expected a RollbackException");
+        } catch (Exception e) {
+            assertError(e, RollbackException.class);
+        }
+        em.close();
+    }
+    
+    public void testBlobPersistQuery() {
         // test with null
         EntityManager em = emf.createEntityManager();
         Blobs lobs = new Blobs();
@@ -53,20 +72,7 @@ public class TestLobs extends SingleEMFT
         em.persist(lobs);
         em.getTransaction().commit();
         em.close();
-
-        em = emf.createEntityManager();
-        em.getTransaction().begin();
-        lobs = new Blobs();
-        lobs.setLobNotNullable(null);
-        lobs.setLobNullable(null);
-        em.persist(lobs);
-        try {
-            em.getTransaction().commit();
-        } catch (Exception e) {
-            assertError(e, RollbackException.class);
-        }
-        em.close();
-
+        
         em = emf.createEntityManager();
         em.getTransaction().begin();
         Query query = em.createQuery("select e from Blobs e");
@@ -75,10 +81,14 @@ public class TestLobs extends SingleEMFT
         em.remove(lobs);
         em.getTransaction().commit();
         em.close();
+    }
 
+    public void testBlobZeroLengthByteArray() { 
         // test with 0 length bytes
-        bytes = new byte[0];
-        em = emf.createEntityManager();
+        byte[] bytes = new byte[0];
+        EntityManager em = emf.createEntityManager();
+        Blobs lobs = new Blobs();
+        
         em.getTransaction().begin();
         lobs.setLobNotNullable(bytes);
         lobs.setLobNullable(bytes);
@@ -88,7 +98,7 @@ public class TestLobs extends SingleEMFT
 
         em = emf.createEntityManager();
         em.getTransaction().begin();
-        query = em.createQuery("select e from Blobs e");
+        Query query = em.createQuery("select e from Blobs e");
         lobs = (Blobs)query.getSingleResult();
         assertTrue(lobs.getLobNullable() == null || lobs.getLobNullable().length == 0);
         assertTrue(lobs.getLobNotNullable() == null || lobs.getLobNotNullable().length == 0);
@@ -98,14 +108,16 @@ public class TestLobs extends SingleEMFT
         em.remove(lobs);
         em.getTransaction().commit();
         em.close();
+    }
 
+    public void testBlobLargeData() { 
         // test with large data
-        bytes = new byte[5000];
+        byte[] bytes = new byte[5000];
         for (int i = 0; i < bytes.length; i++)
             bytes[i] = randomByte().byteValue();
 
-        em = emf.createEntityManager();
-        lobs = new Blobs();
+        EntityManager em = emf.createEntityManager();
+        Blobs lobs = new Blobs();
         em.getTransaction().begin();
         lobs.setLobNotNullable(bytes);
         lobs.setLobNullable(bytes);
@@ -115,7 +127,7 @@ public class TestLobs extends SingleEMFT
 
         em = emf.createEntityManager();
         em.getTransaction().begin();
-        query = em.createQuery("select e from Blobs e");
+        Query query = em.createQuery("select e from Blobs e");
         lobs = (Blobs)query.getSingleResult();
         for (int i = 0; i < 5000; i++) {
             assertEquals(lobs.getLobNullable()[i], lobs.getLobNotNullable()[i]);
@@ -125,8 +137,10 @@ public class TestLobs extends SingleEMFT
         em.getTransaction().commit();
         em.close();
     }
+    
+    // lob tests
 
-    public void testNullableAndNonNullableLobs() {
+    public void testLobPersistQuery() {
         // test with null
         EntityManager em = emf.createEntityManager();
         Lobs lobs = new Lobs();
@@ -139,31 +153,36 @@ public class TestLobs extends SingleEMFT
 
         em = emf.createEntityManager();
         em.getTransaction().begin();
-        lobs = new Lobs();
+        Query query = em.createQuery("select e from Lobs e");
+        lobs = (Lobs)query.getSingleResult();
+        // Oracle treats "" as null
+        assertTrue(lobs.getLobNullable() == null || lobs.getLobNullable().length() == 0);   // still an empty string
+        em.remove(lobs);
+        em.getTransaction().commit();
+        em.close();
+    }
+    
+    public void testLobSetToNull() { 
+        EntityManager em = emf.createEntityManager();
+        em.getTransaction().begin();
+        Lobs lobs = new Lobs();
         lobs.setLobNotNullable(null);
         lobs.setLobNullable(null);
         em.persist(lobs);
         try {
             em.getTransaction().commit();
+            fail("Expected a RollbackException");
         } catch (Exception e) {
             assertError(e, RollbackException.class);
         }
         em.close();
-
-        em = emf.createEntityManager();
-        em.getTransaction().begin();
-        Query query = em.createQuery("select e from Lobs e");
-        lobs = (Lobs)query.getSingleResult();
-        // Oracle treats "" as null
-        assertTrue(lobs.getLobNullable() == null || lobs.getLobNullable().length() == 0);   // still an empty string
-        em.remove(lobs);
-        em.getTransaction().commit();
-        em.close();
-
+    }
+   
+    public void testLobEmptyString() {
         // test with ""
-        em = emf.createEntityManager();
+        EntityManager em = emf.createEntityManager();
+        Lobs lobs = new Lobs();
         em.getTransaction().begin();
-        lobs.setLobNotNullable("");
         lobs.setLobNullable("");
         em.persist(lobs);
         em.getTransaction().commit();
@@ -171,7 +190,7 @@ public class TestLobs extends SingleEMFT
 
         em = emf.createEntityManager();
         em.getTransaction().begin();
-        query = em.createQuery("select e from Lobs e");
+        Query query = em.createQuery("select e from Lobs e");
         lobs = (Lobs)query.getSingleResult();
         assertTrue(lobs.getLobNullable() == null || lobs.getLobNullable().length() == 0);
         assertTrue(lobs.getLobNotNullable() == null || lobs.getLobNotNullable().length() == 0);
@@ -179,14 +198,16 @@ public class TestLobs extends SingleEMFT
         em.remove(lobs);
         em.getTransaction().commit();
         em.close();
-
+    }
+    
+    public void testLobLargeData() { 
         // test with large data
         String temp = "";
         for (int i = 0; i < 500; i++) // at 400 it changes from strings to Objects
             temp = temp + "1234567890";
 
-        em = emf.createEntityManager();
-        lobs = new Lobs();
+        EntityManager em = emf.createEntityManager();
+        Lobs lobs = new Lobs();
         em.getTransaction().begin();
         lobs.setLobNotNullable(temp);
         lobs.setLobNullable(temp);
@@ -196,7 +217,7 @@ public class TestLobs extends SingleEMFT
 
         em = emf.createEntityManager();
         em.getTransaction().begin();
-        query = em.createQuery("select e from Lobs e");
+        Query query = em.createQuery("select e from Lobs e");
         lobs = (Lobs)query.getSingleResult();
         assertEquals(lobs.getLobNullable(), lobs.getLobNotNullable());
         assertEquals(temp, lobs.getLobNullable());