Files
drivefs/cache/sqlite_test.go
T
Sirherobrine23 a3550df187 rename db to sqlite
Signed-off-by: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
2025-03-18 23:11:00 -03:00

58 lines
1.1 KiB
Go

package cache
import (
"fmt"
"testing"
"time"
_ "modernc.org/sqlite"
)
type Value struct {
Title string `json:"title"`
Msg string `json:"msg"`
}
func TestDbSqlite(t *testing.T) {
cache, err := OpenSqlite[Value]("../cache_test.db", "cache")
if err != nil {
t.Skip(err)
return
}
fistValue := Value{
Title: "Google",
Msg: "made by golang.",
}
if err := cache.Set(time.Hour, "fist1", fistValue); err != nil {
t.Error(fmt.Errorf("cannot set fist1: %s", err))
return
}
// Invalid method
if err := cache.Set(0, "fist2", fistValue); err != nil {
t.Error(fmt.Errorf("cannot set fist2: %s", err))
return
}
recoveryValue, err := cache.Get("fist1")
if err != nil {
t.Error(fmt.Errorf("cannot get fist1: %s", err))
return
}
if fistValue.Title != recoveryValue.Title {
t.Errorf("Title is not same: %q != %q", fistValue.Title, recoveryValue.Title)
return
} else if fistValue.Msg != recoveryValue.Msg {
t.Errorf("Msg is not same: %q != %q", fistValue.Msg, recoveryValue.Msg)
return
}
if err := cache.Flush(); err != nil {
t.Errorf("cannot flush: %s", err)
return
}
}