Add wercker.yml with postgres and mysql tests

This commit is contained in:
Nikola Kovacs 2016-05-21 20:05:31 +02:00
parent 57c72125b3
commit 6fca4ec9fe
2 changed files with 63 additions and 2 deletions

View File

@ -49,10 +49,18 @@ func OpenTestConnection() (db *gorm.DB, err error) {
// CREATE DATABASE gorm; // CREATE DATABASE gorm;
// GRANT ALL ON gorm.* TO 'gorm'@'localhost'; // GRANT ALL ON gorm.* TO 'gorm'@'localhost';
fmt.Println("testing mysql...") fmt.Println("testing mysql...")
db, err = gorm.Open("mysql", "gorm:gorm@/gorm?charset=utf8&parseTime=True") dbhost := os.Getenv("GORM_DBADDRESS")
if dbhost != "" {
dbhost = fmt.Sprintf("tcp(%v)", dbhost)
}
db, err = gorm.Open("mysql", fmt.Sprintf("gorm:gorm@%v/gorm?charset=utf8&parseTime=True", dbhost))
case "postgres": case "postgres":
fmt.Println("testing postgres...") fmt.Println("testing postgres...")
db, err = gorm.Open("postgres", "user=gorm DB.name=gorm sslmode=disable") dbhost := os.Getenv("GORM_DBHOST")
if dbhost != "" {
dbhost = fmt.Sprintf("host=%v ", dbhost)
}
db, err = gorm.Open("postgres", fmt.Sprintf("%vuser=gorm password=gorm DB.name=gorm sslmode=disable", dbhost))
case "foundation": case "foundation":
fmt.Println("testing foundation...") fmt.Println("testing foundation...")
db, err = gorm.Open("foundation", "dbname=gorm port=15432 sslmode=disable") db, err = gorm.Open("foundation", "dbname=gorm port=15432 sslmode=disable")

53
wercker.yml Normal file
View File

@ -0,0 +1,53 @@
# use the default golang container from Docker Hub
box: golang
services:
- id: mariadb:10.0
env:
MYSQL_DATABASE: gorm
MYSQL_USER: gorm
MYSQL_PASSWORD: gorm
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
- id: postgres
env:
POSTGRES_USER: gorm
POSTGRES_PASSWORD: gorm
POSTGRES_DB: gorm
# The steps that will be executed in the build pipeline
build:
# The steps that will be executed on build
steps:
# Sets the go workspace and places you package
# at the right place in the workspace tree
- setup-go-workspace
# Gets the dependencies
- script:
name: go get
code: |
cd $WERCKER_SOURCE_DIR
go version
go get -t ./...
# Build the project
- script:
name: go build
code: |
go build ./...
# Test the project
- script:
name: test sqlite
code: |
go test ./...
- script:
name: test mysql
code: |
GORM_DIALECT=mysql GORM_DBADDRESS=mariadb:3306 go test ./...
- script:
name: test postgres
code: |
GORM_DIALECT=postgres GORM_DBHOST=postgres go test ./...