Ctrl K
ComunidadGuías…

internal/api/server_sdk_config_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package api

import (
	"testing"

	"github.com/router-for-me/CLIProxyAPI/v8/internal/config"
	"gopkg.in/yaml.v3"
)

func TestEffectiveSDKConfigCopiesClientCodexEnableApplyPatch(t *testing.T) {
	for _, enabled := range []bool{false, true} {
		cfg := &config.Config{}
		cfg.Client.Codex.EnableApplyPatch = enabled
		sdkCfg := effectiveSDKConfig(cfg)
		if sdkCfg == nil || sdkCfg.Client.Codex.EnableApplyPatch != enabled {
			t.Fatalf("SDK client EnableApplyPatch does not match %t", enabled)
		}
		cfg.Client.Codex.EnableApplyPatch = !enabled
		if sdkCfg.Client.Codex.EnableApplyPatch != enabled {
			t.Fatal("effective SDK config shares client configuration state")
		}
	}
}

func TestEffectiveSDKConfigCopiesClientCodexOptimizeMultiAgentV2(t *testing.T) {
	for _, enabled := range []bool{false, true} {
		cfg := &config.Config{}
		cfg.Client.Codex.OptimizeMultiAgentV2 = enabled
		sdkCfg := effectiveSDKConfig(cfg)
		if sdkCfg == nil || sdkCfg.Client.Codex.OptimizeMultiAgentV2 != enabled {
			t.Fatalf("SDK client OptimizeMultiAgentV2 does not match %t", enabled)
		}
		cfg.Client.Codex.OptimizeMultiAgentV2 = !enabled
		if sdkCfg.Client.Codex.OptimizeMultiAgentV2 != enabled {
			t.Fatal("effective SDK config shares client configuration state")
		}
	}
}

func TestEffectiveSDKConfigCopiesCodexOrphanDelegationCompatibility(t *testing.T) {
	cfg := &config.Config{Codex: config.CodexConfig{OrphanDelegationCompatibility: true}}

	sdkCfg := effectiveSDKConfig(cfg)
	if sdkCfg == nil || !sdkCfg.CodexOrphanDelegationCompatibility {
		t.Fatalf("CodexOrphanDelegationCompatibility = false, want true")
	}
}

func TestEffectiveSDKConfigCopiesCodexResponseSteering(t *testing.T) {
	cfg := &config.Config{Codex: config.CodexConfig{ResponseSteering: true}}

	sdkCfg := effectiveSDKConfig(cfg)
	if sdkCfg == nil || !sdkCfg.CodexResponseSteering {
		t.Fatalf("CodexResponseSteering = false, want true")
	}
}

func TestCodexResponseSteeringYAMLUnmarshal(t *testing.T) {
	yamlContent := []byte(`
codex:
  response-steering: true
`)
	var cfg config.Config
	if err := yaml.Unmarshal(yamlContent, &cfg); err != nil {
		t.Fatalf("unmarshal error: %v", err)
	}
	if !cfg.Codex.ResponseSteering {
		t.Fatalf("cfg.Codex.ResponseSteering = false, want true")
	}
	sdkCfg := effectiveSDKConfig(&cfg)
	if sdkCfg == nil || !sdkCfg.CodexResponseSteering {
		t.Fatalf("sdkCfg.CodexResponseSteering = false, want true")
	}
}