- 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.
45 lines
903 B
Go
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)
|
|
}
|
|
}
|