Files
query-orchestration/api/queryAPI/status_test.go
T
Jay Brown 2ff6e05ffc Merged in feature/permit-integration-1 (pull request #172)
Permit integration - part 1

* WIP permit integration

* slim down build

* Merge branch 'main' of bitbucket.org:aarete/query-orchestration into feature/permit-integration-1

* omit swagger from auth

* clean build

* comment

* part 1 completed

this is the initial permitio parts and tests without integration. Also testing.md since we have a new test target `task test:permitio`

* feature flag for no jwt validation

* permit integration

* fix ci unit tests

* ci fix

* build fix

* fix home handler

* fix redirect

* test fix

* update docs for auth
2025-07-11 19:27:14 +00:00

76 lines
1.7 KiB
Go

package queryapi_test
import (
"net/http"
"testing"
queryapi "queryorchestration/api/queryAPI"
"queryorchestration/internal/database/repository"
"queryorchestration/internal/test"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestGetClientStatus(t *testing.T) {
t.Parallel()
cfg := &ControllerConfig{}
test.CreateDB(t, cfg)
initializeTestConfig(t, cfg)
svc := createControllerServices(cfg)
cons := queryapi.NewControllers(svc, cfg)
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 := &ControllerConfig{}
test.CreateDB(b, cfg)
initializeTestConfig(b, cfg)
svc := createControllerServices(cfg)
cons := queryapi.NewControllers(svc, cfg)
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)
}
}