38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
package sqlite_test
|
|
|
|
import (
|
|
"context"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"git.zaynet.fr/DoGaMa/DoGaMa-serv/internal/instance"
|
|
"git.zaynet.fr/DoGaMa/DoGaMa-serv/internal/persistence/sqlite"
|
|
)
|
|
|
|
func TestGameContainerRuntimeIdentityDefaultsAndPersists(t *testing.T) {
|
|
ctx := context.Background()
|
|
path := filepath.Join(t.TempDir(), "dogama.db")
|
|
db, err := sqlite.Open(ctx, path)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
repository := sqlite.NewRepository(db)
|
|
identity, err := repository.GetGameContainerRuntimeIdentity(ctx)
|
|
if err != nil || identity != (instance.RuntimeIdentity{UID: 1000, GID: 1000}) {
|
|
t.Fatalf("defaults = %#v error=%v", identity, err)
|
|
}
|
|
if err := repository.SetGameContainerRuntimeIdentity(ctx, instance.RuntimeIdentity{UID: 1234, GID: 5678}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
_ = db.Close()
|
|
db, err = sqlite.Open(ctx, path)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
identity, err = sqlite.NewRepository(db).GetGameContainerRuntimeIdentity(ctx)
|
|
if err != nil || identity != (instance.RuntimeIdentity{UID: 1234, GID: 5678}) {
|
|
t.Fatalf("persisted = %#v error=%v", identity, err)
|
|
}
|
|
}
|