Persist agent/secrets settings with masked secrets and runner hot-reload; add maintenance windows, maintpage binary, and zero-downtime listener handoff.
48 lines
928 B
Go
48 lines
928 B
Go
package handoff_test
|
|
|
|
import (
|
|
"net"
|
|
"os"
|
|
"testing"
|
|
|
|
"chat-agent-system/internal/handoff"
|
|
)
|
|
|
|
func TestListenOrAdoptFresh(t *testing.T) {
|
|
_ = os.Unsetenv(handoff.EnvInheritFD)
|
|
ln, err := handoff.ListenOrAdopt("127.0.0.1:0")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer ln.Close()
|
|
tcp, ok := ln.(*net.TCPListener)
|
|
if !ok {
|
|
t.Fatal("expected TCPListener")
|
|
}
|
|
f, err := tcp.File()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer f.Close()
|
|
adopted, err := net.FileListener(f)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer adopted.Close()
|
|
}
|
|
|
|
func TestSignalReadyNoopWithoutEnv(t *testing.T) {
|
|
_ = os.Unsetenv(handoff.EnvReadyPipeFD)
|
|
if err := handoff.SignalReady(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func TestAdoptFromEnvMissing(t *testing.T) {
|
|
_ = os.Unsetenv(handoff.EnvInheritFD)
|
|
ln, ok, err := handoff.AdoptFromEnv()
|
|
if ok || ln != nil || err != nil {
|
|
t.Fatalf("expected no adopt, got ok=%v ln=%v err=%v", ok, ln, err)
|
|
}
|
|
}
|