yao/store/store_test.go
Max fa58bf42dc Enhance test for Load function by adding data store cleanup
- Implemented a cleanup step in the TestLoad function to remove the data store created during tests, ensuring a clean test environment.
- Added error handling for the Load function to improve robustness and provide feedback in case of failures.
2025-07-20 12:03:25 +08:00

55 lines
1.1 KiB
Go

package store
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/yaoapp/gou/store"
"github.com/yaoapp/yao/config"
"github.com/yaoapp/yao/connector"
"github.com/yaoapp/yao/test"
)
func TestLoad(t *testing.T) {
test.Prepare(t, config.Conf)
defer test.Clean()
loadConnectors(t)
// Remove the data store (For cleaning the stores whitch created by the test)
var path = filepath.Join(config.Conf.DataRoot, "stores")
os.RemoveAll(path)
err := Load(config.Conf)
if err != nil {
t.Fatal(err)
}
check(t)
}
func check(t *testing.T) {
ids := map[string]bool{}
for id := range store.Pools {
ids[id] = true
}
assert.True(t, ids["cache"])
assert.True(t, ids["data"])
assert.True(t, ids["share"])
// System stores
assert.True(t, ids["__yao.store"])
assert.True(t, ids["__yao.cache"])
assert.True(t, ids["__yao.oauth.store"])
assert.True(t, ids["__yao.oauth.client"])
assert.True(t, ids["__yao.oauth.cache"])
assert.True(t, ids["__yao.agent.memory"])
assert.True(t, ids["__yao.agent.cache"])
}
func loadConnectors(t *testing.T) {
err := connector.Load(config.Conf)
if err != nil {
t.Fatal(err)
}
}