fix(config): make load_image configurable
This commit is contained in:
parent
0df050ff2e
commit
83c93619be
3 changed files with 36 additions and 0 deletions
|
|
@ -997,6 +997,7 @@ type ToolsConfig struct {
|
|||
I2C ToolConfig `json:"i2c" yaml:"-" envPrefix:"PICOCLAW_TOOLS_I2C_"`
|
||||
InstallSkill ToolConfig `json:"install_skill" yaml:"-" envPrefix:"PICOCLAW_TOOLS_INSTALL_SKILL_"`
|
||||
ListDir ToolConfig `json:"list_dir" yaml:"-" envPrefix:"PICOCLAW_TOOLS_LIST_DIR_"`
|
||||
LoadImage ToolConfig `json:"load_image" yaml:"-" envPrefix:"PICOCLAW_TOOLS_LOAD_IMAGE_"`
|
||||
Message ToolConfig `json:"message" yaml:"-" envPrefix:"PICOCLAW_TOOLS_MESSAGE_"`
|
||||
ReadFile ReadFileToolConfig `json:"read_file" yaml:"-" envPrefix:"PICOCLAW_TOOLS_READ_FILE_"`
|
||||
Serial ToolConfig `json:"serial" yaml:"-" envPrefix:"PICOCLAW_TOOLS_SERIAL_"`
|
||||
|
|
@ -1727,6 +1728,8 @@ func (t *ToolsConfig) IsToolEnabled(name string) bool {
|
|||
return t.InstallSkill.Enabled
|
||||
case "list_dir":
|
||||
return t.ListDir.Enabled
|
||||
case "load_image":
|
||||
return t.LoadImage.Enabled
|
||||
case "message":
|
||||
return t.Message.Enabled
|
||||
case "read_file":
|
||||
|
|
|
|||
|
|
@ -1247,6 +1247,36 @@ func TestDefaultConfig_FilterMinLength(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestDefaultConfig_LoadImageEnabled(t *testing.T) {
|
||||
cfg := DefaultConfig()
|
||||
if !cfg.Tools.LoadImage.Enabled {
|
||||
t.Fatal("DefaultConfig().Tools.LoadImage.Enabled should be true")
|
||||
}
|
||||
if !cfg.Tools.IsToolEnabled("load_image") {
|
||||
t.Fatal("DefaultConfig().Tools.IsToolEnabled(load_image) should be true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadConfig_LoadImageCanBeDisabled(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
configPath := filepath.Join(dir, "config.json")
|
||||
raw := "{\n \"version\": 2,\n \"tools\": {\n \"load_image\": {\n \"enabled\": false\n }\n }\n}\n"
|
||||
if err := os.WriteFile(configPath, []byte(raw), 0o600); err != nil {
|
||||
t.Fatalf("WriteFile() error: %v", err)
|
||||
}
|
||||
|
||||
cfg, err := LoadConfig(configPath)
|
||||
if err != nil {
|
||||
t.Fatalf("LoadConfig() error: %v", err)
|
||||
}
|
||||
if cfg.Tools.LoadImage.Enabled {
|
||||
t.Fatal("LoadConfig().Tools.LoadImage.Enabled should be false")
|
||||
}
|
||||
if cfg.Tools.IsToolEnabled("load_image") {
|
||||
t.Fatal("LoadConfig().Tools.IsToolEnabled(load_image) should be false")
|
||||
}
|
||||
}
|
||||
|
||||
func TestToolsConfig_GetFilterMinLength(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
|
|
|
|||
|
|
@ -444,6 +444,9 @@ func DefaultConfig() *Config {
|
|||
ListDir: ToolConfig{
|
||||
Enabled: true,
|
||||
},
|
||||
LoadImage: ToolConfig{
|
||||
Enabled: true,
|
||||
},
|
||||
Message: ToolConfig{
|
||||
Enabled: true,
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue