package sims import ( "context" "encoding/json" "testing" "time" "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/experimental" "github.com/stretchr/testify/require" ) func TestFlightPathQuery(t *testing.T) { s, err := NewSimulationEngine() require.NoError(t, err) t.Run("simple flight", func(t *testing.T) { sq := &simulationQuery{} sq.Key = simulationKey{ Type: "flight", TickHZ: 1, } sq.Stream = true sb, err := json.Marshal(map[string]any{ "sim": sq, }) require.NoError(t, err) start := time.Date(2020, time.January, 10, 23, 0, 0, 0, time.UTC) qr := &backend.QueryDataRequest{ Queries: []backend.DataQuery{ { RefID: "A", TimeRange: backend.TimeRange{ From: start, To: start.Add(time.Second * 10), }, Interval: time.Second, MaxDataPoints: 10, JSON: sb, }, }, } rsp, err := s.QueryData(context.Background(), qr) require.NoError(t, err) require.NotNil(t, rsp) for k, v := range rsp.Responses { dr := v experimental.CheckGoldenJSONResponse(t, "testdata", "flight_path_query_"+k, &dr, true) } }) }