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) }