42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
package js
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"src.dualinventive.com/go/devsim/simulator/testdata"
|
|
"src.dualinventive.com/go/dinet/rpc"
|
|
)
|
|
|
|
// Test device:ping request routed to javascript and back
|
|
func TestParams(t *testing.T) {
|
|
m, tt := model(t)
|
|
s, err := newSimulator(m, &testdata.Info{IPath: "testdata/params"})
|
|
require.Nil(t, err)
|
|
|
|
req := &rpc.Msg{
|
|
ID: 1234,
|
|
DeviceUID: testDeviceUID,
|
|
ClassMethod: rpc.ClassMethodConfigSet,
|
|
Params: rpc.NewParams(&rpc.ConfigParam{
|
|
UID: 1,
|
|
Value: 1337,
|
|
}),
|
|
}
|
|
require.Nil(t, tt.Queue(req))
|
|
|
|
s.Start()
|
|
defer s.Stop()
|
|
|
|
rep, err := tt.Dequeue(context.Background())
|
|
require.Nil(t, err)
|
|
require.NotNil(t, rep)
|
|
require.Nil(t, rep.Error)
|
|
// TODO is not nil due to rpc deferredDecoder... require.Nil(t, rep.Params)
|
|
// TODO is not nil due to rpc deferredDecoder... require.Nil(t, rep.Result)
|
|
require.Equal(t, req.ID, rep.ID)
|
|
require.Equal(t, req.DeviceUID, rep.DeviceUID)
|
|
require.Equal(t, req.ClassMethod, rep.ClassMethod)
|
|
}
|