Skip to content

Commit 70f495e

Browse files
committed
test(sdk): staging integration passes — full lifecycle on remote K8s
Verified against arpi-staging.eastus2.cloudapp.azure.com: - Sandbox create/poll/running on real K8s cluster - Execd via server proxy (use_server_proxy=true) - SSE streaming: 5 NDJSON events captured (init, ping, stdout x2, complete) - File info, metrics, delete all working - WithAuthHeader(X-API-Key) for proxied deployments
1 parent e78d986 commit 70f495e

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

sdks/sandbox/go/opensandbox/staging_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,9 @@ func TestStaging_FullLifecycle(t *testing.T) {
9494
}
9595
t.Logf("Sandbox is Running: %s", running.ID)
9696

97-
// 4. Get execd endpoint
98-
endpoint, err := client.GetEndpoint(ctx, sb.ID, 44772, nil)
97+
// 4. Get execd endpoint (use server proxy — pod IPs aren't reachable externally)
98+
useProxy := true
99+
endpoint, err := client.GetEndpoint(ctx, sb.ID, 44772, &useProxy)
99100
if err != nil {
100101
t.Fatalf("GetEndpoint(44772): %v", err)
101102
}
@@ -108,14 +109,15 @@ func TestStaging_FullLifecycle(t *testing.T) {
108109
}
109110
t.Logf("Normalized execd URL: %s", execdURL)
110111

111-
// 5. Execd ping
112-
execToken := ""
112+
// 5. Execd ping — proxy requires same API key as lifecycle
113+
execToken := apiKey
113114
if endpoint.Headers != nil {
114115
if v, ok := endpoint.Headers["X-EXECD-ACCESS-TOKEN"]; ok {
115116
execToken = v
116117
}
117118
}
118-
execClient := opensandbox.NewExecdClient(execdURL, execToken)
119+
execClient := opensandbox.NewExecdClient(execdURL, execToken,
120+
opensandbox.WithAuthHeader("X-API-Key"))
119121

120122
if err := execClient.Ping(ctx); err != nil {
121123
t.Fatalf("Execd Ping: %v", err)
@@ -157,7 +159,7 @@ func TestStaging_FullLifecycle(t *testing.T) {
157159
t.Logf("Metrics: cpu_count=%.0f mem_total=%.0fMiB", metrics.CPUCount, metrics.MemTotalMB)
158160

159161
// 9. Egress (may not be available)
160-
egressEndpoint, err := client.GetEndpoint(ctx, sb.ID, 18080, nil)
162+
egressEndpoint, err := client.GetEndpoint(ctx, sb.ID, 18080, &useProxy)
161163
if err != nil {
162164
t.Logf("GetEndpoint(egress/18080): %v (skipping egress tests)", err)
163165
} else {

0 commit comments

Comments
 (0)