Added compile to JDBCIntegrationTest, currently fails.

This commit is contained in:
Vesa Martilla 2011-05-17 12:37:00 +00:00
parent 1f3e87793a
commit 19af20cc55
2 changed files with 40 additions and 19 deletions

View File

@ -2,12 +2,20 @@ package com.mysema.query.scala
import scala.tools.nsc._
import scala.tools.nsc.InterpreterResults._
import scala.io.Source.fromFile
import java.io.File
trait CompileTestUtils {
private def jarPathOfClass(className: String) = {
Class.forName(className).getProtectionDomain.getCodeSource.getLocation
}
def assertCompileSuccess(files: Traversable[File]): Unit = {
assertCompileSuccess(files
map (fromFile(_).mkString)
mkString ("\n"))
}
def assertCompileSuccess(source: String): Unit = {
import java.io.File.pathSeparator
@ -25,7 +33,7 @@ trait CompileTestUtils {
val interpreter = new Interpreter(env, interpreterWriter)
try {
val result = interpreter.interpret(source.replace("package", "import"))
val result = interpreter.interpret(source.replaceAll("package", "import"))
if (result != Success) {
throw new AssertionError("Compile failed, interpreter output:\n" + out.toString("utf-8"))
}

View File

@ -15,12 +15,14 @@ import org.junit.Assert._
import java.util.Arrays
import com.mysema.query.scala.CompileTestUtils
import com.mysema.query.scala.ScalaBeanSerializer
import com.mysema.query.scala.ScalaTypeMappings
import com.mysema.query.sql.dml._
class JDBCIntegrationTest {
class JDBCIntegrationTest extends CompileTestUtils {
val survey = new QSurvey("survey")
val employee = new QEmployee("employee")
@ -33,8 +35,6 @@ class JDBCIntegrationTest {
@Before
def setUp() {
// Class.forName("org.hsqldb.jdbcDriver")
// val url = "jdbc:hsqldb:mem:testdb"
Class.forName("org.h2.Driver")
val url = "jdbc:h2:target/h2"
@ -45,20 +45,20 @@ class JDBCIntegrationTest {
statement.execute("drop table date_test if exists")
statement.execute("drop table date_time_test if exists")
statement.execute("create table survey ("
+ "id int identity, "
+ "name varchar(30))")
statement.execute("""create table survey (
id int identity,
name varchar(30))""")
statement.execute("insert into survey (name) values ('abc')")
statement.execute("insert into survey (name) values ('def')")
statement.execute("create table employee("
+ "id INT identity, "
+ "firstname VARCHAR(50), "
+ "lastname VARCHAR(50), "
+ "superior_id int, "
+ "CONSTRAINT PK_employee PRIMARY KEY (id), "
+ "CONSTRAINT FK_superior FOREIGN KEY (superior_id) REFERENCES employee(id))")
statement.execute("""create table employee(
id INT identity,
firstname VARCHAR(50),
lastname VARCHAR(50),
superior_id int,
CONSTRAINT PK_employee PRIMARY KEY (id),
CONSTRAINT FK_superior FOREIGN KEY (superior_id) REFERENCES employee(id))""")
statement.execute("insert into employee (firstname, lastname) values ('Bob', 'Smith')")
statement.execute("insert into employee (firstname, lastname) values ('John', 'Doe')")
@ -72,13 +72,22 @@ class JDBCIntegrationTest {
val exporter = new MetaDataExporter()
exporter.setNamePrefix("Q")
exporter.setPackageName("test")
exporter.setTargetFolder(new File("target/gen1"))
val directory = new File("target/gen1")
exporter.setTargetFolder(directory)
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer])
exporter.setCreateScalaSources(true)
exporter.setTypeMappings(ScalaTypeMappings.create)
exporter.export(connection.getMetaData)
// TODO : compile sources
assertCompileSuccess(recursiveFileList(directory))
}
private def recursiveFileList(file: File): Array[File] = {
if (file.isDirectory) {
file.listFiles.flatMap(recursiveFileList(_))
} else {
Array(file)
}
}
@Test
@ -99,8 +108,12 @@ class JDBCIntegrationTest {
}
@Test
def List {
def Populate_Bean {
assertEquals(2, query from (survey) list (survey) size ())
}
@Test
def List {
assertEquals(2, query from (survey) list (survey.id) size ())
assertEquals(2, query from (employee) list (employee.firstname) size ())
}
@ -112,7 +125,7 @@ class JDBCIntegrationTest {
}
@Test
def UniqueResult {
def Unique_Result {
assertEquals("abc", query from survey where (survey.id eq 1) uniqueResult survey.name)
assertEquals("def", query from survey where (survey.id eq 2) uniqueResult survey.name)
assertEquals("Bob", query from employee where (employee.lastname eq "Smith") uniqueResult employee.firstname)