headscale/hscontrol/db/suite_test.go

69 lines
1,002 B
Go
Raw Permalink Normal View History

package db
import (
"log"
"os"
"testing"
2024-02-09 06:27:00 +00:00
"github.com/juanfont/headscale/hscontrol/types"
"gopkg.in/check.v1"
)
func Test(t *testing.T) {
check.TestingT(t)
}
var _ = check.Suite(&Suite{})
type Suite struct{}
2021-11-13 08:36:45 +00:00
var (
tmpDir string
db *HSDatabase
2021-11-13 08:36:45 +00:00
)
func (s *Suite) SetUpTest(c *check.C) {
s.ResetDB(c)
}
func (s *Suite) TearDownTest(c *check.C) {
// os.RemoveAll(tmpDir)
}
func (s *Suite) ResetDB(c *check.C) {
// if len(tmpDir) != 0 {
// os.RemoveAll(tmpDir)
// }
var err error
db, err = newTestDB()
if err != nil {
c.Fatal(err)
}
}
func newTestDB() (*HSDatabase, error) {
var err error
tmpDir, err = os.MkdirTemp("", "headscale-db-test-*")
if err != nil {
return nil, err
}
log.Printf("database path: %s", tmpDir+"/headscale_test.db")
db, err = NewHeadscaleDatabase(
2024-02-09 06:27:00 +00:00
types.DatabaseConfig{
Type: "sqlite3",
Sqlite: types.SqliteConfig{
Path: tmpDir + "/headscale_test.db",
},
},
"",
)
2021-07-04 19:40:46 +00:00
if err != nil {
return nil, err
2021-07-04 19:40:46 +00:00
}
return db, nil
}