yao/store/store_test.go
Max 8523170992 Implement system store management and enhance store loading functionality
- Introduced a new system store management feature, allowing for the loading of predefined system stores such as cache and OAuth client stores.
- Added a `loadSystemStores` function to handle the loading of system stores with variable replacement for configuration paths.
- Enhanced the `Load` function to include the loading of system stores, improving the overall store management process.
- Updated test utilities to support loading system stores for testing, ensuring comprehensive coverage and functionality.
- Refactored the `replaceVars` function to facilitate variable replacement in JSON strings, enhancing flexibility in store configurations.
2025-07-20 11:23:00 +08:00

45 lines
903 B
Go

package store
import (
"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)
Load(config.Conf)
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.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)
}
}