Stabilize hostagent backend release tests

Isolate hostagent coverage tests from failed websocket upgrades and runner-local device state.

Refs release run 26910672866.
This commit is contained in:
rcourtman
2026-06-03 21:41:09 +01:00
parent e78b14f516
commit b97fe12911
2 changed files with 22 additions and 5 deletions
+17 -4
View File
@@ -20,7 +20,10 @@ func TestCommandClient_LoopsCoverage(t *testing.T) {
upgrader := websocket.Upgrader{}
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
conn, _ := upgrader.Upgrade(w, r, nil)
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
return
}
defer conn.Close()
// 1. Receive registration
@@ -82,7 +85,11 @@ func TestCommandClient_PingLoop_Direct(t *testing.T) {
// Directly test pingLoop logic for coverage
upgrader := websocket.Upgrader{}
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
conn, _ := upgrader.Upgrade(w, r, nil)
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
return
}
defer conn.Close()
for {
if _, _, err := conn.ReadMessage(); err != nil {
return
@@ -92,7 +99,10 @@ func TestCommandClient_PingLoop_Direct(t *testing.T) {
defer server.Close()
dialer := websocket.Dialer{}
conn, _, _ := dialer.Dial("ws"+strings.TrimPrefix(server.URL, "http"), nil)
conn, _, err := dialer.Dial("ws"+strings.TrimPrefix(server.URL, "http"), nil)
if err != nil {
t.Fatalf("dial websocket: %v", err)
}
defer conn.Close()
client := &CommandClient{
@@ -116,7 +126,10 @@ func TestCommandClient_RegistrationFailure(t *testing.T) {
upgrader := websocket.Upgrader{}
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
conn, _ := upgrader.Upgrade(w, r, nil)
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
return
}
defer conn.Close()
// Receive registration
+5 -1
View File
@@ -1106,7 +1106,8 @@ func TestCollectDeviceSMARTNoDataReturnsNil(t *testing.T) {
func TestListBlockDevicesFreeBSDError(t *testing.T) {
origRun := smartRunCommandOutput
t.Cleanup(func() { smartRunCommandOutput = origRun })
origReadDir := readDir
t.Cleanup(func() { smartRunCommandOutput = origRun; readDir = origReadDir })
smartRunCommandOutput = func(ctx context.Context, name string, args ...string) ([]byte, error) {
if name != "sysctl" {
@@ -1114,6 +1115,9 @@ func TestListBlockDevicesFreeBSDError(t *testing.T) {
}
return nil, errors.New("sysctl failed")
}
readDir = func(string) ([]os.DirEntry, error) {
return nil, errors.New("dev unavailable")
}
if _, err := listBlockDevicesFreeBSD(context.Background(), nil); err == nil {
t.Fatalf("expected error")