Files
kirogo/proxy/kiro_headers_test.go

44 lines
1.7 KiB
Go

package proxy
import (
"kiro-go/config"
"strings"
"testing"
)
func TestBuildStreamingHeaderValuesAlignsWithKiroIDEFormat(t *testing.T) {
account := &config.Account{MachineId: "machine-123"}
values := buildStreamingHeaderValues(account, "q.us-east-1.amazonaws.com")
if values.Host != "q.us-east-1.amazonaws.com" {
t.Fatalf("expected host to be preserved, got %q", values.Host)
}
if !strings.Contains(values.UserAgent, "aws-sdk-js/1.0.34") {
t.Fatalf("expected streaming sdk version in user agent, got %q", values.UserAgent)
}
if !strings.Contains(values.UserAgent, "api/codewhispererstreaming#1.0.34") {
t.Fatalf("expected streaming API marker in user agent, got %q", values.UserAgent)
}
if !strings.Contains(values.UserAgent, "KiroIDE-0.11.107-machine-123") {
t.Fatalf("expected kiro version and machine id in user agent, got %q", values.UserAgent)
}
if !strings.Contains(values.AmzUserAgent, "aws-sdk-js/1.0.34 KiroIDE-0.11.107-machine-123") {
t.Fatalf("expected x-amz-user-agent to include version and machine id, got %q", values.AmzUserAgent)
}
}
func TestBuildRuntimeHeaderValuesUsesRuntimeAPIFormat(t *testing.T) {
account := &config.Account{MachineId: "machine-456"}
values := buildRuntimeHeaderValues(account, "codewhisperer.us-east-1.amazonaws.com")
if !strings.Contains(values.UserAgent, "aws-sdk-js/1.0.0") {
t.Fatalf("expected runtime sdk version in user agent, got %q", values.UserAgent)
}
if !strings.Contains(values.UserAgent, "api/codewhispererruntime#1.0.0") {
t.Fatalf("expected runtime API marker in user agent, got %q", values.UserAgent)
}
if !strings.Contains(values.UserAgent, "m/N,E") {
t.Fatalf("expected runtime mode marker in user agent, got %q", values.UserAgent)
}
}