wg-portal/internal/adapters/database_integration_test.go
h44z 8b820a5adf
V2 alpha - initial version (#172)
Initial alpha codebase for version 2 of WireGuard Portal.
This version is considered unstable and incomplete (for example, no public REST API)! 
Use with care!


Fixes/Implements the following issues:
 - OAuth support #154, #1 
 - New Web UI with internationalisation support #98, #107, #89, #62
 - Postgres Support #49 
 - Improved Email handling #47, #119 
 - DNS Search Domain support #46 
 - Bugfixes #94, #48 

---------

Co-authored-by: Fabian Wechselberger <wechselbergerf@hotmail.com>
2023-08-04 13:34:18 +02:00

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)
}
}
}