// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved. //go:build plus package dbs import ( "github.com/TeaOSLab/EdgeCommon/pkg/dnsconfigs" "github.com/iwind/TeaGo/Tea" _ "github.com/iwind/TeaGo/bootstrap" "testing" ) func TestDB_Init(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_InsertDomain(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.InsertDomain(1, 1, 1, "examples.com", nil, 1) if err != nil { t.Fatal(err) } err = db.InsertDomain(2, 2, 1, "examples2.com", nil, 1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_UpdateDomain(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.UpdateDomain(1, 1, 1, "examples2.com", nil, 1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_DeleteDomain(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.DeleteDomain(1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_ExistsDomain(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } b, err := db.ExistsDomain(1) if err != nil { t.Fatal(err) } t.Log("exists:", b) } func TestDB_FindAllDomains(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } limit := 2 offset := 0 for { t.Log("===", offset, "===") domains, err := db.ListDomains(2, offset, limit) if err != nil { t.Fatal(err) } if len(domains) == 0 { break } for _, domain := range domains { t.Log(domain.Name) } offset += limit } } func TestDB_InsertRecord(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.InsertRecord(1, 1, "a", dnsconfigs.RecordTypeA, "192.168.1.100", 0, 3600, 10, 8080, 1, "", 3600, 10, []string{"id:100", "id:1"}, 1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_UpdateRecord(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.UpdateRecord(1, 1, "a1", dnsconfigs.RecordTypeA, "192.168.1.101", 0, 3600, 10, 8080, 1, "", 3600, 10, []string{"id:100", "id:1"}, 1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_InsertRoute(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.InsertRoute(1, 1, []byte("[]"), 1, 0, 1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_UpdateRoute(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.UpdateRoute(1, 1, []byte("[{}, {}]"), 2, 0, 1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_InsertKey(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.InsertKey(1, 2, 3, "md5", "secret123", dnsconfigs.NSKeySecretTypeClear, 4) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_UpdateKey(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.UpdateKey(1, 22, 33, "sha1", "secret456", dnsconfigs.NSKeySecretTypeBase64, 5) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_DeleteKey(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } err = db.DeleteKey(1) if err != nil { t.Fatal(err) } t.Log("ok") } func TestDB_ExistsKey(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } for _, id := range []int64{1, 2, 3} { b, err := db.ExistsKey(id) if err != nil { t.Fatal(err) } t.Log(id, b) } } func TestDB_ListKeys(t *testing.T) { db := NewDB(Tea.Root + "/data/data.db") err := db.Init() if err != nil { t.Fatal(err) } keys, err := db.ListKeys(0, 10) if err != nil { t.Fatal(err) } for _, key := range keys { t.Log(key) } }