<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"/>
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
}
}