test: server Run, upstream 500/401 branches, virtual dead members, local DB accessor

This commit is contained in:
2026-07-03 13:38:49 +10:00
parent 6029f19b86
commit cfd0bae515
3 changed files with 58 additions and 0 deletions
+27
View File
@@ -484,6 +484,33 @@ func TestRunOnListener(t *testing.T) {
}
}
func TestRun(t *testing.T) {
requireStack(t)
ctx, cancel := context.WithCancel(context.Background())
errc := make(chan error, 1)
go func() { errc <- testSrv.Run(ctx) }()
time.Sleep(300 * time.Millisecond) // let it bind and start serving
cancel()
select {
case err := <-errc:
if err != nil {
t.Errorf("Run returned error: %v", err)
}
case <-time.After(12 * time.Second):
t.Fatal("Run did not shut down")
}
}
func TestServerVirtualUnreachableMembers(t *testing.T) {
requireStack(t)
// A virtual whose only member does not exist -> no members reachable.
req(t, "POST", "/api/v2/virtuals", `{"name":"srv-vbad","package_type":"helm","members":["nonexistent-member"]}`)
defer req(t, "DELETE", "/api/v2/virtuals/srv-vbad", "")
if resp, _ := req(t, "GET", "/api/v1/virtual/srv-vbad/index.yaml", ""); resp.StatusCode != 502 {
t.Errorf("virtual with dead members = %d, want 502", resp.StatusCode)
}
}
func TestServerVirtualLocalPyPIMerge(t *testing.T) {
requireStack(t)
for _, n := range []string{"a", "b"} {