Use JUnit assertions in tests
authorGeorgios Gousios <gousiosg@gmail.com>
Tue, 13 Sep 2011 12:27:02 +0000 (15:27 +0300)
committerGeorgios Gousios <gousiosg@gmail.com>
Tue, 13 Sep 2011 12:27:02 +0000 (15:27 +0300)
model/src/main/resources/META-INF/persistence.xml
model/src/test/scala/gr/grnet/aquarium/model/test/JPATest.scala

index 40fc97e..61e4cdc 100644 (file)
         <class>gr.grnet.aquarium.model.Organization</class>
         <properties>
 
-            <!--<property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.H2Platform"/>
+            <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.H2Platform"/>
             <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
             <property name="javax.persistence.jdbc.url" value="jdbc:h2:database"/>
             <property name="javax.persistence.jdbc.password" value=""/>
             <property name="javax.persistence.jdbc.user" value="scott"/>
-            -->
 
-            <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.MySQLPlatform"/>
+            <!--<property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.MySQLPlatform"/>
             <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
             <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/aquarium"/>
             <property name="javax.persistence.jdbc.password" value="aquarium"/>
-            <property name="javax.persistence.jdbc.user" value="aquarium"/>
+            <property name="javax.persistence.jdbc.user" value="aquarium"/>-->
 
             <!-- Logging -->
             <property name="eclipselink.logging.level" value="FINE"/>
index 79a48ce..cf3cb01 100644 (file)
@@ -2,40 +2,55 @@ package gr.grnet.aquarium.model.test
 
 import gr.grnet.aquarium.model._
 import org.scala_libs.jpa.{LocalEMF, ThreadLocalEM}
-import org.junit.{Before, Test}
+import org.junit._
+import Assert._
 
-object JPA extends LocalEMF("aquarium") with ThreadLocalEM {}
+object DB extends LocalEMF("aquarium") with ThreadLocalEM {}
 
 class TestJPAWeb {
 
+  @Before
+  def before() = {
+    if (!DB.getTransaction.isActive)
+      DB.getTransaction.begin
+  }
+
   @Test
   def testBasicEMFunctionality() = {
 
     val user = new User
     user.name = "foobar"
-    JPA.persist(user)
-    JPA.getTransaction().commit()
+    DB.persist(user)
+    DB.flush()
 
-    val a = JPA.find(classOf[User], 1L)
+    val a = DB.find(classOf[User], user.id)
+    assert(a.exists(u => u.id == user.id))
   }
 
   @Test
   def testEntities() = {
-    JPA.getTransaction().begin()
 
     //Recursive organizations
     val org1 = new Organization
-    org1.name = "NTUA"
+    org1.name = "EDET"
 
-    JPA.persist(org1)
+    DB.persist(org1)
 
     val org2 = new Organization
     org2.name = "AUEB"
-    org1.parent = org1
+    org2.parent = org1
+
+    DB.persist(org2)
+    DB.flush()
 
-    JPA.persist(org2)
-    JPA.find(classOf[Organization], org1.id)
+    assertTrue(org1.id != org2.id)
+
+    val results = DB.find(classOf[Organization], org1.id)
+    assert(results.exists(o => o.id == org1.id))
+  }
 
-    JPA.getTransaction().commit()
+  @After
+  def after() = {
+    DB.getTransaction.rollback
   }
 }