Merged in feature/docinitialisation (pull request #41)

Queuing Changes and Cfg Testing

* staarting

* staarting

* startedpush

* note

* save

* mocking

* removederrs

* fixtests

* cleanuperrs

* newenvsetup

* preppingtests

* queue

* mmovetocfgpassunittests

* sortoutconfig

* passinginteg

* deps

* fixtests
This commit is contained in:
Michael McGuinness
2025-02-03 17:30:50 +00:00
parent 15adaebfcd
commit 7001ca854c
135 changed files with 3916 additions and 1523 deletions
+38 -47
View File
@@ -6,7 +6,6 @@ import (
"path"
"queryorchestration/internal/database"
"queryorchestration/internal/database/repository"
"queryorchestration/internal/serviceconfig"
"queryorchestration/internal/test"
"testing"
@@ -17,11 +16,9 @@ import (
func TestQueries(t *testing.T) {
ctx := context.Background()
t.Setenv("BASE_PATH", path.Join(os.Getenv("PWD"), "../../.."))
cfg := &serviceconfig.BaseConfig{}
err := serviceconfig.InitializeConfig(cfg)
assert.Nil(t, err)
cfg := test.CreateBaseConfig()
cfg.BasePath = path.Join(os.Getenv("PWD"), "../../..")
_, cleanup := test.CreateDB(t, ctx, &test.CreateDatabaseConfig{
Cfg: cfg,
RunMigrations: true,
@@ -31,15 +28,15 @@ func TestQueries(t *testing.T) {
queries := cfg.DBQueries
contextQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeContextFull))
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, contextQueryID.Valid)
jsonQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeJsonExtractor))
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, jsonQueryID.Valid)
jsonQuery, err := queries.GetQuery(ctx, jsonQueryID)
assert.Nil(t, err)
assert.NoError(t, err)
assert.EqualExportedValues(t, &repository.Fullactivequery{
ID: jsonQueryID,
Type: repository.QuerytypeJsonExtractor,
@@ -54,7 +51,7 @@ func TestQueries(t *testing.T) {
Activeversion: 1,
ID: jsonQueryID,
})
assert.Nil(t, err)
assert.NoError(t, err)
jsonConfig := []byte("{\"path\": \"example_path\"}")
@@ -63,7 +60,7 @@ func TestQueries(t *testing.T) {
Requiredqueryid: contextQueryID,
Addedversion: 1,
})
assert.Nil(t, err)
assert.NoError(t, err)
removeV := int32(2)
err = queries.RemoveRequiredQuery(ctx, &repository.RemoveRequiredQueryParams{
@@ -71,20 +68,20 @@ func TestQueries(t *testing.T) {
Requiredqueryid: contextQueryID,
Removedversion: &removeV,
})
assert.Nil(t, err)
assert.NoError(t, err)
err = queries.AddQueryConfig(ctx, &repository.AddQueryConfigParams{
Queryid: jsonQueryID,
Config: jsonConfig,
Addedversion: 1,
})
assert.Nil(t, err)
assert.NoError(t, err)
jsonQueryConfig, err := queries.GetQueryConfig(ctx, &repository.GetQueryConfigParams{
Queryid: jsonQueryID,
Addedversion: jsonQuery.Activeversion,
})
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, jsonConfig, jsonQueryConfig.Config)
removeV = 2
@@ -92,7 +89,7 @@ func TestQueries(t *testing.T) {
Queryid: jsonQueryID,
Removedversion: &removeV,
})
assert.Nil(t, err)
assert.NoError(t, err)
_, err = queries.GetQueryConfig(ctx, &repository.GetQueryConfigParams{
Queryid: jsonQueryID,
@@ -101,7 +98,7 @@ func TestQueries(t *testing.T) {
assert.EqualError(t, err, "no rows in result set")
jsonQuery, err = queries.GetQuery(ctx, jsonQueryID)
assert.Nil(t, err)
assert.NoError(t, err)
assert.EqualExportedValues(t, &repository.Fullactivequery{
ID: jsonQueryID,
Type: repository.QuerytypeJsonExtractor,
@@ -116,10 +113,10 @@ func TestQueries(t *testing.T) {
Latestversion: 2,
ID: jsonQueryID,
})
assert.Nil(t, err)
assert.NoError(t, err)
jsonQuery, err = queries.GetQuery(ctx, jsonQueryID)
assert.Nil(t, err)
assert.NoError(t, err)
assert.EqualExportedValues(t, &repository.Fullactivequery{
ID: jsonQueryID,
Type: repository.QuerytypeJsonExtractor,
@@ -133,7 +130,7 @@ func TestQueries(t *testing.T) {
ID: jsonQueryID,
Addedversion: 1,
})
assert.Nil(t, err)
assert.NoError(t, err)
assert.EqualExportedValues(t, &repository.GetQueryWithVersionRow{
ID: jsonQueryID,
Type: repository.QuerytypeJsonExtractor,
@@ -144,34 +141,31 @@ func TestQueries(t *testing.T) {
}, versionedQuery)
all_exist, err := queries.AllQueriesExist(ctx, []pgtype.UUID{})
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, all_exist)
all_exist, err = queries.AllQueriesExist(ctx, []pgtype.UUID{database.MustToDBUUID(uuid.New())})
assert.Nil(t, err)
assert.NoError(t, err)
assert.False(t, all_exist)
all_exist, err = queries.AllQueriesExist(ctx, []pgtype.UUID{jsonQueryID})
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, all_exist)
all_exist, err = queries.AllQueriesExist(ctx, []pgtype.UUID{jsonQueryID, contextQueryID})
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, all_exist)
all_exist, err = queries.AllQueriesExist(ctx, []pgtype.UUID{jsonQueryID, database.MustToDBUUID(uuid.New())})
assert.Nil(t, err)
assert.NoError(t, err)
assert.False(t, all_exist)
}
func TestQueryDependencyTree(t *testing.T) {
ctx := context.Background()
t.Setenv("BASE_PATH", path.Join(os.Getenv("PWD"), "../../.."))
cfg := &serviceconfig.BaseConfig{}
err := serviceconfig.InitializeConfig(cfg)
assert.Nil(t, err)
cfg := test.CreateBaseConfig()
cfg.BasePath = path.Join(os.Getenv("PWD"), "../../..")
_, cleanup := test.CreateDB(t, ctx, &test.CreateDatabaseConfig{
Cfg: cfg,
RunMigrations: true,
@@ -181,70 +175,67 @@ func TestQueryDependencyTree(t *testing.T) {
queries := cfg.DBQueries
contextQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeContextFull))
assert.Nil(t, err)
assert.NoError(t, err)
jsonQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeJsonExtractor))
assert.Nil(t, err)
assert.NoError(t, err)
err = queries.AddRequiredQuery(ctx, &repository.AddRequiredQueryParams{
Queryid: jsonQueryID,
Requiredqueryid: contextQueryID,
Addedversion: 1,
})
assert.Nil(t, err)
assert.NoError(t, err)
secondJsonQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeJsonExtractor))
assert.Nil(t, err)
assert.NoError(t, err)
err = queries.AddRequiredQuery(ctx, &repository.AddRequiredQueryParams{
Queryid: secondJsonQueryID,
Requiredqueryid: jsonQueryID,
Addedversion: 1,
})
assert.Nil(t, err)
assert.NoError(t, err)
isdependent, err := queries.IsQueryInDependencyTree(ctx, &repository.IsQueryInDependencyTreeParams{
Requiredqueryid: jsonQueryID,
ID: []pgtype.UUID{contextQueryID},
})
assert.Nil(t, err)
assert.NoError(t, err)
assert.False(t, isdependent)
isdependent, err = queries.IsQueryInDependencyTree(ctx, &repository.IsQueryInDependencyTreeParams{
Requiredqueryid: jsonQueryID,
ID: []pgtype.UUID{secondJsonQueryID},
})
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, isdependent)
isdependent, err = queries.IsQueryInDependencyTree(ctx, &repository.IsQueryInDependencyTreeParams{
Requiredqueryid: jsonQueryID,
ID: []pgtype.UUID{jsonQueryID},
})
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, isdependent)
isdependent, err = queries.IsQueryInDependencyTree(ctx, &repository.IsQueryInDependencyTreeParams{
Requiredqueryid: secondJsonQueryID,
ID: []pgtype.UUID{jsonQueryID, contextQueryID},
})
assert.Nil(t, err)
assert.NoError(t, err)
assert.False(t, isdependent)
isdependent, err = queries.IsQueryInDependencyTree(ctx, &repository.IsQueryInDependencyTreeParams{
Requiredqueryid: contextQueryID,
ID: []pgtype.UUID{jsonQueryID, secondJsonQueryID},
})
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, isdependent)
}
func TestQueriesList(t *testing.T) {
ctx := context.Background()
t.Setenv("BASE_PATH", path.Join(os.Getenv("PWD"), "../../.."))
cfg := &serviceconfig.BaseConfig{}
err := serviceconfig.InitializeConfig(cfg)
assert.Nil(t, err)
cfg := test.CreateBaseConfig()
cfg.BasePath = path.Join(os.Getenv("PWD"), "../../..")
_, cleanup := test.CreateDB(t, ctx, &test.CreateDatabaseConfig{
Cfg: cfg,
RunMigrations: true,
@@ -254,13 +245,13 @@ func TestQueriesList(t *testing.T) {
queries := cfg.DBQueries
contextQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeContextFull))
assert.Nil(t, err)
assert.NoError(t, err)
jsonQueryID, err := queries.CreateQuery(ctx, repository.Querytype(repository.QuerytypeJsonExtractor))
assert.Nil(t, err)
assert.NoError(t, err)
qs, err := queries.ListQueries(ctx)
assert.Nil(t, err)
assert.NoError(t, err)
assert.Len(t, qs, 2)
assert.ElementsMatch(t, []*repository.Fullactivequery{
{
@@ -282,7 +273,7 @@ func TestQueriesList(t *testing.T) {
}, qs)
qs, err = queries.ListQueriesById(ctx, []pgtype.UUID{jsonQueryID})
assert.Nil(t, err)
assert.NoError(t, err)
assert.Len(t, qs, 1)
assert.ElementsMatch(t, []*repository.Fullactivequery{
{