Files
query-orchestration/test/queryAPI/client_test.go
T

64 lines
1.8 KiB
Go
Raw Normal View History

package endtoend_test
2025-01-21 18:24:14 +00:00
import (
"context"
"net/http"
2025-03-05 12:05:46 +00:00
"testing"
2025-01-21 18:24:14 +00:00
"queryorchestration/internal/test"
queryapi "queryorchestration/pkg/queryAPI"
2025-01-21 18:24:14 +00:00
"github.com/stretchr/testify/assert"
2025-03-19 11:54:14 +00:00
"github.com/stretchr/testify/require"
2025-01-21 18:24:14 +00:00
)
func TestClient(t *testing.T) {
2025-04-25 17:02:50 +00:00
t.Parallel()
2025-01-21 18:24:14 +00:00
ctx := context.Background()
cfg := &Config{}
c, cleanup := test.CreateAPINetwork(t, ctx, cfg, test.QueryAPI)
2025-01-21 18:24:14 +00:00
defer cleanup()
client, err := queryapi.NewClientWithResponses(c.API.URI)
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
2025-01-21 18:24:14 +00:00
clientErrRes, err := client.GetClientWithResponse(ctx, "INVALID")
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
assert.Equal(t, http.StatusBadRequest, clientErrRes.StatusCode())
assert.Equal(t, "Unable to get client: no rows in result set", clientErrRes.JSON400.Message)
idRes, err := client.CreateClientWithResponse(ctx, queryapi.ClientCreate{
2025-01-21 18:24:14 +00:00
Name: "example_name",
Id: "EXA",
2025-01-21 18:24:14 +00:00
})
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
require.Equal(t, http.StatusCreated, idRes.StatusCode())
2025-01-21 18:24:14 +00:00
assert.NotNil(t, idRes.JSON201)
2025-03-19 11:54:14 +00:00
assert.Equal(t, "EXA", idRes.JSON201.Id)
2025-01-21 18:24:14 +00:00
id := idRes.JSON201.Id
clientRes, err := client.GetClientWithResponse(ctx, id)
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
require.Equal(t, http.StatusOK, clientRes.StatusCode())
2025-01-21 18:24:14 +00:00
assert.Equal(t, id, clientRes.JSON200.Id)
assert.Equal(t, "example_name", clientRes.JSON200.Name)
assert.False(t, clientRes.JSON200.CanSync)
updateName := "update_name"
updateCanSync := true
updateRes, err := client.UpdateClientWithResponse(ctx, id, queryapi.ClientUpdate{
2025-01-21 18:24:14 +00:00
Name: &updateName,
CanSync: &updateCanSync,
})
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
2025-01-21 18:24:14 +00:00
assert.NotNil(t, updateRes)
clientRes, err = client.GetClientWithResponse(ctx, id)
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
2025-01-21 18:24:14 +00:00
assert.Equal(t, id, clientRes.JSON200.Id)
assert.Equal(t, updateName, clientRes.JSON200.Name)
assert.True(t, clientRes.JSON200.CanSync)
}