package platform import "testing" func TestParseInterfaceAdminState(t *testing.T) { tests := []struct { name string raw string want bool wantErr bool }{ { name: "admin up with no carrier", raw: "2: enp1s0: mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000\n", want: true, }, { name: "admin down", raw: "2: enp1s0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000\n", want: false, }, { name: "malformed output", raw: "2: enp1s0: mtu 1500 state DOWN\n", wantErr: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := parseInterfaceAdminState(tt.raw) if tt.wantErr { if err == nil { t.Fatal("expected error") } return } if err != nil { t.Fatalf("unexpected error: %v", err) } if got != tt.want { t.Fatalf("got %v want %v", got, tt.want) } }) } }