Merged in feature/mockserver (pull request #135)

Single Mock Server

* mockserver

* mockserver

* reqs

* mockserver

* slowrunner

* someoptimisedqueries

* passedfullsuite

* passedfullsuite
This commit is contained in:
Michael McGuinness
2025-05-06 01:59:52 +00:00
parent 39b5517d7f
commit ee776d2681
56 changed files with 656 additions and 822 deletions
+20 -19
View File
@@ -16,25 +16,38 @@ import (
"github.com/stretchr/testify/require"
)
func CreateClientWithSync(t testing.TB, ctx context.Context, client queryapi.ClientWithResponsesInterface) *queryapi.DocClient {
func CreateClientWithSync(t testing.TB, client queryapi.ClientWithResponsesInterface) queryapi.ClientID {
t.Helper()
clientCreateRes, err := client.CreateClientWithResponse(ctx, queryapi.ClientCreate{
clientCreateRes, err := client.CreateClientWithResponse(t.Context(), queryapi.ClientCreate{
Name: "example_name",
Id: "ID",
})
require.NoError(t, err)
canSync := true
_, err = client.UpdateClientWithResponse(ctx, clientCreateRes.JSON201.Id, queryapi.ClientUpdate{
_, err = client.UpdateClientWithResponse(t.Context(), clientCreateRes.JSON201.Id, queryapi.ClientUpdate{
CanSync: &canSync,
})
require.NoError(t, err)
clientRes, err := client.GetClientWithResponse(ctx, clientCreateRes.JSON201.Id)
require.NoError(t, err)
return clientCreateRes.JSON201.Id
}
return clientRes.JSON200
func SetQueryForClient(t testing.TB, client queryapi.ClientWithResponsesInterface, clientId queryapi.ClientID, queryId uuid.UUID) {
t.Helper()
newActiveVersion := int32(1)
_, err := client.SetCollectorByClientIdWithResponse(t.Context(), clientId, queryapi.CollectorSet{
ActiveVersion: &newActiveVersion,
Fields: &[]queryapi.CollectorField{
{
Name: "JSON_QUERY",
QueryId: queryId,
},
},
})
require.NoError(t, err)
}
func WaitForClientStatus(t testing.TB, ctx context.Context, service queryapi.ClientWithResponsesInterface, id string, status queryapi.ClientStatus) {
@@ -66,7 +79,7 @@ func WaitForClientStatus(t testing.TB, ctx context.Context, service queryapi.Cli
}
}
func CreateDependentQueries(t testing.TB, client *queryapi.ClientWithResponses, clientId string) (uuid.UUID, uuid.UUID) {
func CreateDependentQueries(t testing.TB, client *queryapi.ClientWithResponses) (uuid.UUID, uuid.UUID) {
contextQueryRes, err := client.CreateQueryWithResponse(t.Context(), queryapi.QueryCreate{
Type: queryapi.CONTEXTFULL,
})
@@ -80,18 +93,6 @@ func CreateDependentQueries(t testing.TB, client *queryapi.ClientWithResponses,
})
require.NoError(t, err)
require.Equal(t, http.StatusCreated, jsonQueryRes.StatusCode())
newActiveVersion := int32(1)
collRes, err := client.SetCollectorByClientIdWithResponse(t.Context(), clientId, queryapi.CollectorSet{
ActiveVersion: &newActiveVersion,
Fields: &[]queryapi.CollectorField{
{
Name: "JSON_QUERY",
QueryId: jsonQueryRes.JSON201.Id,
},
},
})
require.NoError(t, err)
require.Equal(t, http.StatusOK, collRes.StatusCode())
return contextQueryRes.JSON201.Id, jsonQueryRes.JSON201.Id
}
-80
View File
@@ -1,80 +0,0 @@
package queryapitest_test
import (
"context"
"testing"
queryapitest "queryorchestration/internal/test/queryAPI"
queryapimock "queryorchestration/mocks/queryapi"
queryapi "queryorchestration/pkg/queryAPI"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
)
func TestCreateClientWithSync(t *testing.T) {
ctx := context.Background()
svcClient := queryapimock.NewMockClientWithResponsesInterface(t)
svcClient.EXPECT().CreateClientWithResponse(
mock.Anything,
mock.MatchedBy(func(create queryapi.ClientCreate) bool {
return create.Name == "example_name" && create.Id == "ID"
}),
mock.Anything,
).Return(&queryapi.CreateClientResponse{
JSON201: &queryapi.ClientIDBody{
Id: "ID",
},
}, nil)
svcClient.EXPECT().UpdateClientWithResponse(
mock.Anything,
mock.MatchedBy(func(id string) bool {
return id == "ID"
}),
mock.MatchedBy(func(create queryapi.ClientUpdate) bool {
return *create.CanSync == true
}),
mock.Anything,
).Return(&queryapi.UpdateClientResponse{}, nil)
svcClient.EXPECT().GetClientWithResponse(
mock.Anything,
mock.MatchedBy(func(id string) bool {
return id == "ID"
}),
mock.Anything,
).Return(&queryapi.GetClientResponse{
JSON200: &queryapi.DocClient{
Id: "ID",
},
}, nil)
client := queryapitest.CreateClientWithSync(t, ctx, svcClient)
assert.NotNil(t, client)
assert.NotNil(t, client)
assert.EqualExportedValues(t, queryapi.DocClient{
Id: "ID",
}, *client)
}
func TestWaitForClientStatus(t *testing.T) {
ctx := context.Background()
client := queryapimock.NewMockClientWithResponsesInterface(t)
client.EXPECT().GetStatusByClientIdWithResponse(
mock.Anything,
mock.MatchedBy(func(id string) bool {
return id == "id"
}),
).Return(&queryapi.GetStatusByClientIdResponse{
JSON200: &queryapi.ClientStatusBody{
Status: queryapi.INSYNC,
},
}, nil)
queryapitest.WaitForClientStatus(t, ctx, client, "id", queryapi.INSYNC)
}