package integration_test import ( "context" "queryorchestration/internal/test" queryservice "queryorchestration/pkg/queryService" "testing" "github.com/stretchr/testify/assert" ) func TestQueryService(t *testing.T) { ctx := context.Background() address, cleanup := test.CreateAPIWithDependencies(t, ctx, "queryService") defer cleanup() client, err := queryservice.NewClientWithResponses(address) assert.Nil(t, err) idRes, err := client.CreateQueryWithResponse(ctx, queryservice.QueryCreate{ Type: queryservice.CONTEXTFULL, }) assert.Nil(t, err) assert.NotNil(t, idRes) assert.NotNil(t, idRes.JSON201) id := idRes.JSON201.Id assert.NotEmpty(t, id) queryRes, err := client.GetQueryByIdWithResponse(ctx, id) assert.Nil(t, err) assert.Equal(t, id, queryRes.JSON200.Id) assert.Equal(t, queryservice.CONTEXTFULL, queryRes.JSON200.Type) assert.Equal(t, int32(1), queryRes.JSON200.ActiveVersion) assert.Equal(t, int32(1), queryRes.JSON200.LatestVersion) assert.Nil(t, queryRes.JSON200.Config) assert.Nil(t, queryRes.JSON200.RequiredQueries) queriesRes, err := client.ListQueriesWithResponse(ctx) assert.Nil(t, err) assert.Len(t, queriesRes.JSON200.Queries, 1) assert.Equal(t, id, queriesRes.JSON200.Queries[0].Id) res, err := client.UpdateQueryWithResponse(ctx, id, queryservice.QueryUpdate{ Config: nil, ActiveVersion: nil, RequiredQueries: &[]string{}, }) assert.Nil(t, err) assert.NotNil(t, res) queryRes, err = client.GetQueryByIdWithResponse(ctx, id) assert.Nil(t, err) assert.Equal(t, id, queryRes.JSON200.Id) assert.Equal(t, queryservice.CONTEXTFULL, queryRes.JSON200.Type) assert.Equal(t, int32(1), queryRes.JSON200.ActiveVersion) assert.Equal(t, int32(1), queryRes.JSON200.LatestVersion) assert.Nil(t, queryRes.JSON200.Config) assert.Nil(t, queryRes.JSON200.RequiredQueries) }