Merged in feature/testquery (pull request #39)
Test Query * depstextandclean * startedcleaningresult * resulttidyup * roundone * cleaning * unsyncedquery * startedtestsandsimplification * api * querytests * resultprocessortests * unittests * cleanup
This commit is contained in:
@@ -8,7 +8,12 @@ import (
|
||||
queryservice "queryorchestration/api/queryService"
|
||||
"queryorchestration/internal/database"
|
||||
"queryorchestration/internal/database/repository"
|
||||
"queryorchestration/internal/document"
|
||||
documentclean "queryorchestration/internal/document/clean"
|
||||
documenttext "queryorchestration/internal/document/text"
|
||||
"queryorchestration/internal/job/collector"
|
||||
"queryorchestration/internal/query"
|
||||
"queryorchestration/internal/query/result"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
@@ -33,7 +38,7 @@ func TestCreateQuery(t *testing.T) {
|
||||
}
|
||||
|
||||
cons := queryservice.NewControllers(validator.New(), &queryservice.Services{
|
||||
Query: query.New(db),
|
||||
Query: query.New(db, &query.Services{}),
|
||||
})
|
||||
|
||||
body := queryservice.QueryCreate{
|
||||
@@ -75,7 +80,7 @@ func TestListQueries(t *testing.T) {
|
||||
}
|
||||
|
||||
cons := queryservice.NewControllers(validator.New(), &queryservice.Services{
|
||||
Query: query.New(db),
|
||||
Query: query.New(db, &query.Services{}),
|
||||
})
|
||||
|
||||
e := echo.New()
|
||||
@@ -85,7 +90,7 @@ func TestListQueries(t *testing.T) {
|
||||
|
||||
id := uuid.New()
|
||||
|
||||
pool.ExpectQuery("-- name: ListQueries :many").WithArgs().WillReturnRows(
|
||||
pool.ExpectQuery("name: ListQueries :many").WithArgs().WillReturnRows(
|
||||
pgxmock.NewRows([]string{"id", "type", "activeVersion", "latestVersion", "config", "requiredIds"}).
|
||||
AddRow(database.MustToDBUUID(id), repository.QuerytypeContextFull, int32(1), int32(2), []byte(""), []pgtype.UUID{}),
|
||||
)
|
||||
@@ -120,7 +125,7 @@ func TestGetQuery(t *testing.T) {
|
||||
}
|
||||
|
||||
cons := queryservice.NewControllers(validator.New(), &queryservice.Services{
|
||||
Query: query.New(db),
|
||||
Query: query.New(db, &query.Services{}),
|
||||
})
|
||||
|
||||
e := echo.New()
|
||||
@@ -164,7 +169,7 @@ func TestUpdateQuery(t *testing.T) {
|
||||
}
|
||||
|
||||
cons := queryservice.NewControllers(validator.New(), &queryservice.Services{
|
||||
Query: query.New(db),
|
||||
Query: query.New(db, &query.Services{}),
|
||||
})
|
||||
|
||||
av := int32(2)
|
||||
@@ -211,12 +216,38 @@ func TestTestQuery(t *testing.T) {
|
||||
Pool: pool,
|
||||
}
|
||||
|
||||
docsvc := document.New(db)
|
||||
col := collector.New(db, &collector.Services{
|
||||
Clean: documentclean.New(),
|
||||
Text: documenttext.New(),
|
||||
})
|
||||
cons := queryservice.NewControllers(validator.New(), &queryservice.Services{
|
||||
Query: query.New(db),
|
||||
Collector: col,
|
||||
Query: query.New(db, &query.Services{
|
||||
Document: docsvc,
|
||||
Collector: col,
|
||||
Result: result.New(db),
|
||||
}),
|
||||
})
|
||||
|
||||
coll := collector.Collector{
|
||||
ID: uuid.New(),
|
||||
JobID: uuid.New(),
|
||||
}
|
||||
doc := document.Document{
|
||||
ID: uuid.New(),
|
||||
JobID: coll.JobID,
|
||||
Hash: "example_hash",
|
||||
Location: "example_location",
|
||||
}
|
||||
params := &query.Test{
|
||||
QueryID: uuid.New(),
|
||||
DocumentID: doc.ID,
|
||||
QueryVersion: int32(3),
|
||||
}
|
||||
body := queryservice.QueryTestRequest{
|
||||
DocumentId: uuid.New(),
|
||||
DocumentId: params.DocumentID,
|
||||
QueryVersion: params.QueryVersion,
|
||||
}
|
||||
bodyBytes, err := json.Marshal(body)
|
||||
assert.Nil(t, err)
|
||||
@@ -227,9 +258,32 @@ func TestTestQuery(t *testing.T) {
|
||||
rec := httptest.NewRecorder()
|
||||
ctx := e.NewContext(req, rec)
|
||||
|
||||
id := uuid.New()
|
||||
reqID := database.MustToDBUUID(uuid.New())
|
||||
pool.ExpectQuery("name: GetDocument :one").WithArgs(database.MustToDBUUID(doc.ID)).
|
||||
WillReturnRows(
|
||||
pgxmock.NewRows([]string{"id", "jobId", "hash", "location"}).
|
||||
AddRow(database.MustToDBUUID(doc.ID), database.MustToDBUUID(doc.JobID), doc.Hash, doc.Location),
|
||||
)
|
||||
pool.ExpectQuery("name: GetCollectorByJobID :one").WithArgs(database.MustToDBUUID(doc.JobID)).
|
||||
WillReturnRows(
|
||||
pgxmock.NewRows([]string{"id", "jobId", "minCleanVersion", "minTextVersion", "activeVersion", "latestVersion", "fields"}).
|
||||
AddRow(database.MustToDBUUID(coll.ID), database.MustToDBUUID(doc.JobID), coll.MinCleanVersion, coll.MinTextVersion, int32(1), int32(2), []byte("")),
|
||||
)
|
||||
pool.ExpectQuery("name: GetQueryWithVersion :one").WithArgs(database.MustToDBUUID(params.QueryID), params.QueryVersion).WillReturnRows(
|
||||
pgxmock.NewRows([]string{"id", "type", "activeVersion", "latestVersion", "config", "requiredIds"}).
|
||||
AddRow(database.MustToDBUUID(params.QueryID), repository.QuerytypeJsonExtractor, int32(1), params.QueryVersion+1, []byte("{\"path\":\"oldkey\"}"), []pgtype.UUID{reqID}),
|
||||
)
|
||||
pool.ExpectQuery("name: ListQueryRequirementValues :many").WithArgs(database.MustToDBUUID(params.QueryID), params.QueryVersion, database.MustToDBUUID(params.DocumentID), coll.MinCleanVersion, coll.MinTextVersion).
|
||||
WillReturnRows(
|
||||
pgxmock.NewRows([]string{"queryId", "value", "type"}).
|
||||
AddRow(reqID, "{\"mykey\":\"example_value\",\"oldkey\":\"old_value\"}", repository.QuerytypeContextFull),
|
||||
)
|
||||
pool.ExpectQuery("name: GetQueryConfig :one").WithArgs(database.MustToDBUUID(params.QueryID), params.QueryVersion).WillReturnRows(
|
||||
pgxmock.NewRows([]string{"id", "config"}).
|
||||
AddRow(pgtype.UUID{}, []byte("{\"path\":\"oldkey\"}")),
|
||||
)
|
||||
|
||||
err = cons.TestQuery(ctx, id)
|
||||
err = cons.TestQuery(ctx, params.QueryID)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, http.StatusOK, rec.Code)
|
||||
|
||||
@@ -237,6 +291,6 @@ func TestTestQuery(t *testing.T) {
|
||||
err = json.Unmarshal(rec.Body.Bytes(), &res)
|
||||
assert.Nil(t, err)
|
||||
assert.EqualExportedValues(t, queryservice.QueryTestResponse{
|
||||
Value: "",
|
||||
Value: "old_value",
|
||||
}, res)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user