0ebb8a21a1
Clean Up Testing and Linting * somescriptcleanup * mostgolangci * deplatest * imageversions * usingscratch * movedqueuefrtesting * finishedunittesting * linting * taskfilecontext
69 lines
1.8 KiB
Go
69 lines
1.8 KiB
Go
package repository_test
|
|
|
|
import (
|
|
"context"
|
|
"queryorchestration/internal/database"
|
|
"queryorchestration/internal/database/repository"
|
|
"testing"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestResults(t *testing.T) {
|
|
ctx := context.Background()
|
|
db, cleanup := createDB(t, ctx)
|
|
defer cleanup()
|
|
queries := repository.New(db.pool)
|
|
|
|
jsonQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeJsonExtractor))
|
|
assert.Nil(t, err)
|
|
|
|
documentID := database.MustToDBUUID(uuid.New())
|
|
|
|
jsonQuery, err := queries.GetQuery(ctx, jsonQueryID)
|
|
assert.Nil(t, err)
|
|
|
|
cleanVersion := int32(1)
|
|
textVersion := int32(1)
|
|
jsonResultValue := "example_value"
|
|
|
|
jsonResultID, err := queries.SetResult(ctx, repository.SetResultParams{
|
|
Queryid: jsonQueryID,
|
|
Documentid: documentID,
|
|
Value: jsonResultValue,
|
|
Cleanversion: cleanVersion,
|
|
Textversion: textVersion,
|
|
Queryversion: jsonQuery.Activeversion,
|
|
})
|
|
assert.Nil(t, err)
|
|
assert.True(t, jsonResultID.Valid)
|
|
|
|
resultsByDoc, err := queries.ListResultsByDocumentID(ctx, repository.ListResultsByDocumentIDParams{
|
|
Documentid: documentID,
|
|
Cleanversion: cleanVersion,
|
|
Textversion: textVersion,
|
|
})
|
|
assert.Nil(t, err)
|
|
assert.Len(t, resultsByDoc, 1)
|
|
assert.ElementsMatch(t, []repository.ListResultsByDocumentIDRow{
|
|
{
|
|
ID: jsonResultID,
|
|
Queryid: jsonQueryID,
|
|
Queryversion: jsonQuery.Activeversion,
|
|
},
|
|
}, resultsByDoc)
|
|
|
|
results, err := queries.ListResultValuesByID(ctx, []pgtype.UUID{jsonResultID})
|
|
assert.Nil(t, err)
|
|
assert.Len(t, results, 1)
|
|
assert.ElementsMatch(t, []repository.ListResultValuesByIDRow{
|
|
{
|
|
ID: jsonResultID,
|
|
Queryid: jsonQueryID,
|
|
Value: jsonResultValue,
|
|
},
|
|
}, results)
|
|
}
|