44 lines
1.7 KiB
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)
|
|
}
|
|
}
|