58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
package ca_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
// TestGetCtrl exercises GetCtrl across the native DBF types served by the mock,
|
|
// covering NativeCtrlType dispatch and the DBR_CTRL_* decoders.
|
|
func TestGetCtrl(t *testing.T) {
|
|
srv := newTestServer(t)
|
|
cli := newTestClient(t, srv)
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
defer cancel()
|
|
|
|
t.Run("double", func(t *testing.T) {
|
|
ci, err := cli.GetCtrl(ctx, "TEST:DOUBLE")
|
|
if err != nil {
|
|
t.Fatalf("GetCtrl: %v", err)
|
|
}
|
|
if ci.Double == nil {
|
|
t.Fatal("expected Double ctrl info")
|
|
}
|
|
})
|
|
|
|
t.Run("long", func(t *testing.T) {
|
|
ci, err := cli.GetCtrl(ctx, "TEST:LONG")
|
|
if err != nil {
|
|
t.Fatalf("GetCtrl: %v", err)
|
|
}
|
|
if ci.Long == nil {
|
|
t.Fatal("expected Long ctrl info")
|
|
}
|
|
})
|
|
|
|
t.Run("enum", func(t *testing.T) {
|
|
ci, err := cli.GetCtrl(ctx, "TEST:ENUM")
|
|
if err != nil {
|
|
t.Fatalf("GetCtrl: %v", err)
|
|
}
|
|
if ci.Enum == nil {
|
|
t.Fatal("expected Enum ctrl info")
|
|
}
|
|
})
|
|
|
|
t.Run("string", func(t *testing.T) {
|
|
ci, err := cli.GetCtrl(ctx, "TEST:STRING")
|
|
if err != nil {
|
|
t.Fatalf("GetCtrl: %v", err)
|
|
}
|
|
if ci.Str == nil {
|
|
t.Fatal("expected Str ctrl info")
|
|
}
|
|
})
|
|
}
|