Add projects
This commit is contained in:
parent
2d3a9ad623
commit
8b607dd700
1802 changed files with 503346 additions and 2 deletions
105
backend/internal/pluginhost/config_test.go
Normal file
105
backend/internal/pluginhost/config_test.go
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
package pluginhost
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/router-for-me/CLIProxyAPI/v7/internal/config"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
func TestRuntimeConfigYAMLAddsHostDefaultsToRawPluginConfig(t *testing.T) {
|
||||
var node yaml.Node
|
||||
if errDecode := yaml.Unmarshal([]byte("config1: true\nconfig2: value\n"), &node); errDecode != nil {
|
||||
t.Fatalf("yaml.Unmarshal() error = %v", errDecode)
|
||||
}
|
||||
if len(node.Content) != 1 {
|
||||
t.Fatalf("yaml node content length = %d, want 1", len(node.Content))
|
||||
}
|
||||
item := config.PluginInstanceConfig{
|
||||
Priority: 3,
|
||||
Raw: *node.Content[0],
|
||||
}
|
||||
|
||||
got := string(runtimeConfigYAML(item, true))
|
||||
for _, want := range []string{
|
||||
"config1: true",
|
||||
"config2: value",
|
||||
"enabled: true",
|
||||
"priority: 3",
|
||||
} {
|
||||
if !strings.Contains(got, want) {
|
||||
t.Fatalf("runtimeConfigYAML() missing %q in:\n%s", want, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestRuntimeConfigYAMLDefaultsEnabledFalse(t *testing.T) {
|
||||
item := config.PluginInstanceConfig{
|
||||
Priority: 3,
|
||||
}
|
||||
|
||||
got := string(runtimeConfigYAML(item, false))
|
||||
for _, want := range []string{
|
||||
"enabled: false",
|
||||
"priority: 3",
|
||||
} {
|
||||
if !strings.Contains(got, want) {
|
||||
t.Fatalf("runtimeConfigYAML() missing %q in:\n%s", want, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestRuntimeConfigFromConfigExtractsStoreVersion(t *testing.T) {
|
||||
var node yaml.Node
|
||||
if errDecode := yaml.Unmarshal([]byte("store:\n version: 1.0.3\n release-tag: v1.0.3\n"), &node); errDecode != nil {
|
||||
t.Fatalf("yaml.Unmarshal() error = %v", errDecode)
|
||||
}
|
||||
enabled := true
|
||||
cfg := &config.Config{
|
||||
Plugins: config.PluginsConfig{
|
||||
Enabled: true,
|
||||
Configs: map[string]config.PluginInstanceConfig{
|
||||
"alpha": {
|
||||
Enabled: &enabled,
|
||||
Raw: *node.Content[0],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
got, errRuntimeConfig := runtimeConfigFromConfig(cfg)
|
||||
if errRuntimeConfig != nil {
|
||||
t.Fatalf("runtimeConfigFromConfig() error = %v", errRuntimeConfig)
|
||||
}
|
||||
if got.Items["alpha"].Version != "1.0.3" {
|
||||
t.Fatalf("runtimeConfigFromConfig() version = %q, want 1.0.3", got.Items["alpha"].Version)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRuntimeConfigFromConfigDerivesStoreVersionFromReleaseTag(t *testing.T) {
|
||||
var node yaml.Node
|
||||
if errDecode := yaml.Unmarshal([]byte("store:\n release-tag: v1.0.3\n"), &node); errDecode != nil {
|
||||
t.Fatalf("yaml.Unmarshal() error = %v", errDecode)
|
||||
}
|
||||
enabled := true
|
||||
cfg := &config.Config{
|
||||
Plugins: config.PluginsConfig{
|
||||
Enabled: true,
|
||||
Configs: map[string]config.PluginInstanceConfig{
|
||||
"alpha": {
|
||||
Enabled: &enabled,
|
||||
Raw: *node.Content[0],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
got, errRuntimeConfig := runtimeConfigFromConfig(cfg)
|
||||
if errRuntimeConfig != nil {
|
||||
t.Fatalf("runtimeConfigFromConfig() error = %v", errRuntimeConfig)
|
||||
}
|
||||
if got.Items["alpha"].Version != "1.0.3" {
|
||||
t.Fatalf("runtimeConfigFromConfig() version = %q, want 1.0.3", got.Items["alpha"].Version)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue