mirror of
https://github.com/h44z/wg-portal
synced 2025-02-26 05:49:14 +00:00
44 lines
747 B
Go
44 lines
747 B
Go
|
//go:build integration
|
||
|
|
||
|
package adapters
|
||
|
|
||
|
import (
|
||
|
"database/sql"
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/glebarez/sqlite"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"gorm.io/gorm"
|
||
|
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func tempSqliteDb(t *testing.T) *gorm.DB {
|
||
|
|
||
|
// github.com/mattn/go-sqlite3
|
||
|
db, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), &gorm.Config{})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
return db
|
||
|
}
|
||
|
|
||
|
func Test_sqlRepo_migrate(t *testing.T) {
|
||
|
db := tempSqliteDb(t)
|
||
|
|
||
|
r := SqlRepo{db: db}
|
||
|
|
||
|
err := r.migrate()
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
// check result
|
||
|
var sqlStatement []sql.NullString
|
||
|
db.Raw("SELECT sql FROM sqlite_master").Find(&sqlStatement)
|
||
|
fmt.Println("Table Schemas:")
|
||
|
for _, stm := range sqlStatement {
|
||
|
if stm.Valid {
|
||
|
fmt.Println(stm.String)
|
||
|
}
|
||
|
}
|
||
|
}
|