blob: 09ee741b07452a3b9bb0a94855034eae3df0f971 [file] [log] [blame]
package groovy.sql
import org.axiondb.jdbc.AxionDataSource
class TestHelper extends GroovyTestCase {
static def counter = 1
static Sql makeSql() {
def foo = new TestHelper()
return foo.createSql()
}
protected def createEmptySql() {
return newSql(getURI())
}
protected def createSql() {
def sql = newSql(getURI())
try {
sql.execute("drop table PERSON")
sql.execute("drop table FOOD")
sql.execute("drop table FEATURE")
} catch(Exception e){}
sql.execute("create table PERSON ( firstname varchar, lastname varchar, id integer, location_id integer, location_name varchar )")
sql.execute("create table FOOD ( type varchar, name varchar)")
sql.execute("create table FEATURE ( id integer, name varchar)")
// now lets populate the datasets
def people = sql.dataSet("PERSON")
people.add( firstname:"James", lastname:"Strachan", id:1, location_id:10, location_name:'London' )
people.add( firstname:"Bob", lastname:"Mcwhirter", id:2, location_id:20, location_name:'Atlanta' )
people.add( firstname:"Sam", lastname:"Pullara", id:3, location_id:30, location_name:'California' )
def food = sql.dataSet("FOOD")
food.add( type:"cheese", name:"edam" )
food.add( type:"cheese", name:"brie" )
food.add( type:"cheese", name:"cheddar" )
food.add( type:"drink", name:"beer" )
food.add( type:"drink", name:"coffee" )
def features = sql.dataSet("FEATURE")
features.add( id:1, name:'GDO' )
features.add( id:2, name:'GPath' )
features.add( id:3, name:'GroovyMarkup' )
return sql
}
protected def getURI() {
def answer = "jdbc:axiondb:foo"
def name = getMethodName()
if (name == null) {name = ""}
name += counter++
return answer + name
}
protected def newSql(String uri) {
def dataSource = new AxionDataSource(uri)
return new Sql(dataSource)
}
}