Generate gateway token during onboard

This commit is contained in:
lpf
2026-03-06 17:53:01 +08:00
parent ad7316c9b6
commit 61c46fd710
4 changed files with 54 additions and 1 deletions

View File

@@ -44,6 +44,9 @@ func ensureConfigOnboard(configPath string, defaults *config.Config) (string, er
if defaults == nil {
return "", fmt.Errorf("defaults is nil")
}
if defaults.Gateway.Token == "" {
defaults.Gateway.Token = config.DefaultConfig().Gateway.Token
}
exists := true
if _, err := os.Stat(configPath); os.IsNotExist(err) {

View File

@@ -0,0 +1,31 @@
package main
import (
"testing"
"clawgo/pkg/config"
)
func TestEnsureConfigOnboardGeneratesGatewayToken(t *testing.T) {
t.Parallel()
configPath := t.TempDir() + "/config.json"
cfg := config.DefaultConfig()
cfg.Gateway.Token = ""
state, err := ensureConfigOnboard(configPath, cfg)
if err != nil {
t.Fatalf("ensureConfigOnboard failed: %v", err)
}
if state != "created" {
t.Fatalf("unexpected state: %s", state)
}
loaded, err := config.LoadConfig(configPath)
if err != nil {
t.Fatalf("load config failed: %v", err)
}
if loaded.Gateway.Token == "" {
t.Fatalf("expected gateway token to be generated")
}
}