Files
2026-02-04 20:27:13 +08:00

229 lines
4.1 KiB
Go

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