Prechádzať zdrojové kódy

Add wercker.yml with postgres and mysql tests

Nikola Kovacs 8 rokov pred
rodič
commit
6fca4ec9fe
2 zmenil súbory, kde vykonal 63 pridanie a 2 odobranie
  1. 10 2
      main_test.go
  2. 53 0
      wercker.yml

+ 10 - 2
main_test.go

@@ -49,10 +49,18 @@ func OpenTestConnection() (db *gorm.DB, err error) {
 		// CREATE DATABASE gorm;
 		// GRANT ALL ON gorm.* TO 'gorm'@'localhost';
 		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":
 		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":
 		fmt.Println("testing foundation...")
 		db, err = gorm.Open("foundation", "dbname=gorm port=15432 sslmode=disable")

+ 53 - 0
wercker.yml

@@ -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 ./...