Files
query-orchestration/internal/query/parse_test.go
T

62 lines
1.5 KiB
Go
Raw Normal View History

2025-01-07 16:30:45 +00:00
package query_test
2024-12-24 12:47:40 +00:00
import (
2025-01-06 14:40:43 +00:00
"queryorchestration/internal/database"
2024-12-24 17:13:48 +00:00
"queryorchestration/internal/database/repository"
2025-01-06 14:40:43 +00:00
"queryorchestration/internal/query"
queryprocessor "queryorchestration/internal/query/processor"
2024-12-24 12:47:40 +00:00
"testing"
"github.com/google/uuid"
"github.com/jackc/pgx/v5/pgtype"
"github.com/stretchr/testify/assert"
)
2025-01-06 14:40:43 +00:00
func TestParseQuery(t *testing.T) {
q := &query.Query{
ID: uuid.New(),
Type: queryprocessor.TypeJsonExtractor,
ActiveVersion: int32(1),
LatestVersion: int32(2),
RequiredQueryIDs: []uuid.UUID{
uuid.New(),
},
Config: "example",
2024-12-24 12:47:40 +00:00
}
2025-01-06 14:40:43 +00:00
out := query.ParseQuery(q)
assert.EqualExportedValues(t, queryprocessor.Query{
ID: q.ID,
Type: q.Type,
Version: q.ActiveVersion,
RequiredQueryIDs: q.RequiredQueryIDs,
Config: q.Config,
}, *out)
2025-01-03 10:35:42 +00:00
}
func TestParseFullActiveQuery(t *testing.T) {
q := &repository.Fullactivequery{
2025-01-06 14:40:43 +00:00
ID: database.MustToDBUUID(uuid.New()),
Type: repository.QuerytypeContextFull,
Activeversion: int32(1),
Latestversion: int32(2),
Requiredids: []pgtype.UUID{
database.MustToDBUUID(uuid.New()),
},
Config: []byte("example"),
}
2024-12-24 17:13:48 +00:00
out, err := query.ParseFullActiveQuery(q)
2024-12-24 17:13:48 +00:00
assert.Nil(t, err)
2025-01-06 14:40:43 +00:00
assert.EqualExportedValues(t, query.Query{
ID: database.MustToUUID(q.ID),
Type: queryprocessor.TypeContextFull,
ActiveVersion: q.Activeversion,
LatestVersion: q.Latestversion,
RequiredQueryIDs: []uuid.UUID{
database.MustToUUID(q.Requiredids[0]),
},
Config: string(q.Config),
}, *out)
2024-12-24 12:47:40 +00:00
}