Files
query-orchestration/api/queryAPI/status_test.go
T
Michael McGuinness 61d12bf8df Merged in feature/checkbox (pull request #145)
Checkbox Primary Edge Cases

* hascheckboxlogic

* gen

* preppinggen

* exploringcheckbox

* removeunselected

* tests

* failingtest

* failintests

* nomockqueryapi

* db

* name

* nocontainer

* deleterow

* cnc

* extradocsandupdatetextracts

* moretables

* appndedtables

* baseversion
2025-05-20 12:47:22 +00:00

82 lines
1.9 KiB
Go

package queryapi_test
import (
"net/http"
"testing"
queryapi "queryorchestration/api/queryAPI"
"queryorchestration/internal/client"
"queryorchestration/internal/database/repository"
"queryorchestration/internal/export"
"queryorchestration/internal/test"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestGetClientStatus(t *testing.T) {
t.Parallel()
cfg := &ClientConfig{}
net := test.GetNetwork(t)
test.CreateDB(t, cfg, net, &test.CreateDatabaseConfig{})
cons := queryapi.NewControllers(&queryapi.Services{
Client: client.New(cfg),
Export: export.New(),
})
ctx, rec := createContext(t)
clientId := "clientid"
err := cfg.GetDBQueries().CreateClient(t.Context(), &repository.CreateClientParams{
Clientid: clientId,
Name: "client_name",
})
require.NoError(t, err)
err = cfg.GetDBQueries().AddClientCanSync(t.Context(), &repository.AddClientCanSyncParams{
Clientid: clientId,
Cansync: true,
})
require.NoError(t, err)
err = cons.GetStatusByClientId(ctx, clientId)
require.NoError(t, err)
assert.Equal(t, http.StatusOK, rec.Code)
assertBody(t, rec, queryapi.ClientStatusBody{
Status: queryapi.INSYNC,
})
}
func BenchmarkGetClientStatus(b *testing.B) {
cfg := &ClientConfig{}
net := test.GetNetwork(b)
test.CreateDB(b, cfg, net, &test.CreateDatabaseConfig{})
cons := queryapi.NewControllers(&queryapi.Services{
Client: client.New(cfg),
Export: export.New(),
})
ctx, _ := createContext(b)
clientId := "clientid"
err := cfg.GetDBQueries().CreateClient(b.Context(), &repository.CreateClientParams{
Clientid: clientId,
Name: "client_name",
})
require.NoError(b, err)
err = cfg.GetDBQueries().AddClientCanSync(b.Context(), &repository.AddClientCanSyncParams{
Clientid: clientId,
Cansync: true,
})
require.NoError(b, err)
b.ResetTimer()
for b.Loop() {
_ = cons.GetStatusByClientId(ctx, clientId)
}
}