Files
query-orchestration/api/queryAPI/collector_test.go
T

91 lines
2.2 KiB
Go
Raw Normal View History

package queryapi_test
2025-01-15 19:45:51 +00:00
import (
"fmt"
2025-01-15 19:45:51 +00:00
"net/http"
"regexp"
2025-03-05 12:05:46 +00:00
"testing"
queryapi "queryorchestration/api/queryAPI"
"queryorchestration/internal/database/repository"
"queryorchestration/internal/test"
2025-01-15 19:45:51 +00:00
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
2025-01-15 19:45:51 +00:00
)
func TestSetCollector(t *testing.T) {
cfg := &ControllerConfig{}
test.CreateDB(t, cfg)
initializeTestConfig(t, cfg)
acfg := test.CreateAWSContainer(t, cfg)
test.SetQueueClient(t, t.Context(), cfg, acfg.ExternalEndpoint)
cfg.ClientSyncURL = test.CreateQueue(t, cfg, test.ClientSyncRunnerName)
svc := createControllerServices(cfg)
cons := queryapi.NewControllers(svc, cfg)
2025-01-23 14:56:20 +00:00
id := "clientid"
err := cfg.GetDBQueries().CreateClient(t.Context(), &repository.CreateClientParams{
Clientid: id,
Name: "client_name",
})
require.NoError(t, err)
queryId, err := cfg.GetDBQueries().CreateQuery(t.Context(), repository.QuerytypeContextFull)
require.NoError(t, err)
av := int32(1)
cv := int64(1)
body := queryapi.CollectorSet{
ActiveVersion: &av,
MinimumCleanerVersion: &cv,
Fields: &[]queryapi.CollectorField{
{
Name: "a",
QueryId: queryId,
},
},
2025-01-23 14:56:20 +00:00
}
ctx, rec := createContextWithJSONBody(t, body)
2025-01-15 19:45:51 +00:00
err = cons.SetCollectorByClientId(ctx, id)
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
2025-01-15 19:45:51 +00:00
assert.Equal(t, http.StatusOK, rec.Code)
2025-01-23 14:56:20 +00:00
assert.Empty(t, rec.Body.String())
test.AssertMessageBody(t, cfg, cfg.GetClientSyncURL(), regexp.MustCompile(fmt.Sprintf("{\"id\":\"%s\"}", id)))
2025-01-15 19:45:51 +00:00
}
func TestGetCollectorByClientId(t *testing.T) {
cfg := &ControllerConfig{}
test.CreateDB(t, cfg)
initializeTestConfig(t, cfg)
2025-01-15 19:45:51 +00:00
svc := createControllerServices(cfg)
cons := queryapi.NewControllers(svc, cfg)
2025-01-15 19:45:51 +00:00
id := "clientid"
err := cfg.GetDBQueries().CreateClient(t.Context(), &repository.CreateClientParams{
Clientid: id,
Name: "client_name",
})
require.NoError(t, err)
ctx, rec := createContext(t)
err = cons.GetCollectorByClientId(ctx, id)
2025-03-19 11:54:14 +00:00
require.NoError(t, err)
2025-01-15 19:45:51 +00:00
assert.Equal(t, http.StatusOK, rec.Code)
assertBody(t, rec, queryapi.Collector{
ClientId: id,
MinimumCleanerVersion: 0,
MinimumTextVersion: 0,
ActiveVersion: 0,
LatestVersion: 0,
Fields: []queryapi.CollectorField{},
})
2025-01-15 19:45:51 +00:00
}