Merged in feature/update (pull request #27)
Query Update * baselineupdate * baseupdateplusmodelupdates * passtests * somemoresubmittesting * testinnerfunctions * readmeandinstall * cleanerstartup * readmeplusdeps * tidyatrighttime * validatetests * normalizedontvalidate * abitofzenormalizationcleanup * addunitstestforhelperfuns * normalizeactiveversiontestas
This commit is contained in:
@@ -4,6 +4,8 @@ import (
|
||||
"fmt"
|
||||
"queryorchestration/internal/database"
|
||||
"queryorchestration/internal/database/repository"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func ParseDBNullType(qType repository.NullQuerytype) (Type, error) {
|
||||
@@ -64,7 +66,11 @@ func ToDBNullQueryType(t Type) (repository.NullQuerytype, error) {
|
||||
}
|
||||
|
||||
func ParseDBCollectorQuery(q *repository.GetCollectorQueriesRow) (*Query, error) {
|
||||
reqQueryIDs := database.MustToUUIDArray(q.Requiredids)
|
||||
var reqQueryIDs *[]uuid.UUID
|
||||
if len(q.Requiredids) > 0 {
|
||||
ids := database.MustToUUIDArray(q.Requiredids)
|
||||
reqQueryIDs = &ids
|
||||
}
|
||||
|
||||
qType, err := ParseDBNullType(q.Type)
|
||||
if err != nil {
|
||||
|
||||
@@ -22,7 +22,7 @@ func TestParseDBCollectorQuery(t *testing.T) {
|
||||
value, err := queryprocessor.ParseDBCollectorQuery(&dbResult)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, uuid.Nil, value.ID)
|
||||
assert.Equal(t, []uuid.UUID{}, value.RequiredQueryIDs)
|
||||
assert.Nil(t, value.RequiredQueryIDs)
|
||||
assert.Equal(t, int32(0), value.Version)
|
||||
assert.Equal(t, queryprocessor.Type(queryprocessor.TypeJsonExtractor), value.Type)
|
||||
|
||||
|
||||
@@ -16,22 +16,55 @@ const (
|
||||
|
||||
type Create struct {
|
||||
Type Type
|
||||
RequiredQueryIDs []uuid.UUID
|
||||
Config string
|
||||
RequiredQueryIDs *[]uuid.UUID
|
||||
Config *string
|
||||
}
|
||||
|
||||
func (s *Create) GetConfig() *string {
|
||||
return s.Config
|
||||
}
|
||||
|
||||
func (s *Create) SetConfig(cfg *string) {
|
||||
s.Config = cfg
|
||||
}
|
||||
|
||||
func (s *Create) GetRequiredQueryIDs() *[]uuid.UUID {
|
||||
return s.RequiredQueryIDs
|
||||
}
|
||||
|
||||
func (s *Create) SetRequiredQueryIDs(ids *[]uuid.UUID) {
|
||||
s.RequiredQueryIDs = ids
|
||||
}
|
||||
|
||||
type Update struct {
|
||||
ID uuid.UUID
|
||||
RequiredQueryIDs []uuid.UUID
|
||||
Config string
|
||||
ActiveVersion *int32
|
||||
RequiredQueryIDs *[]uuid.UUID
|
||||
Config *string
|
||||
}
|
||||
|
||||
func (s *Update) GetConfig() *string {
|
||||
return s.Config
|
||||
}
|
||||
|
||||
func (s *Update) SetConfig(cfg *string) {
|
||||
s.Config = cfg
|
||||
}
|
||||
|
||||
func (s *Update) GetRequiredQueryIDs() *[]uuid.UUID {
|
||||
return s.RequiredQueryIDs
|
||||
}
|
||||
|
||||
func (s *Update) SetRequiredQueryIDs(ids *[]uuid.UUID) {
|
||||
s.RequiredQueryIDs = ids
|
||||
}
|
||||
|
||||
type Query struct {
|
||||
ID uuid.UUID
|
||||
Type Type
|
||||
Version int32
|
||||
RequiredQueryIDs []uuid.UUID
|
||||
Config string
|
||||
RequiredQueryIDs *[]uuid.UUID
|
||||
Config *string
|
||||
}
|
||||
|
||||
type Creator interface {
|
||||
@@ -43,5 +76,5 @@ type Updator interface {
|
||||
}
|
||||
|
||||
type Processor interface {
|
||||
Process(ctx context.Context, query *Query, values []result.Value) (string, error)
|
||||
Process(ctx context.Context, query *Query, values *[]result.Value) (string, error)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
package queryprocessor_test
|
||||
|
||||
import (
|
||||
queryprocessor "queryorchestration/internal/query/processor"
|
||||
"testing"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestCreateGetConfig(t *testing.T) {
|
||||
entity := queryprocessor.Create{}
|
||||
|
||||
assert.Nil(t, entity.GetConfig())
|
||||
|
||||
cfg := "example_config"
|
||||
entity.Config = &cfg
|
||||
assert.NotNil(t, entity.GetConfig())
|
||||
assert.Equal(t, cfg, *entity.GetConfig())
|
||||
}
|
||||
|
||||
func TestCreateSetConfig(t *testing.T) {
|
||||
entity := queryprocessor.Create{}
|
||||
|
||||
assert.Nil(t, entity.Config)
|
||||
|
||||
cfg := "example_config"
|
||||
entity.SetConfig(&cfg)
|
||||
assert.Equal(t, cfg, *entity.Config)
|
||||
}
|
||||
|
||||
func TestUpdateGetConfig(t *testing.T) {
|
||||
entity := queryprocessor.Update{}
|
||||
|
||||
assert.Nil(t, entity.GetConfig())
|
||||
|
||||
cfg := "example_config"
|
||||
entity.Config = &cfg
|
||||
assert.NotNil(t, entity.GetConfig())
|
||||
assert.Equal(t, cfg, *entity.GetConfig())
|
||||
}
|
||||
|
||||
func TestUpdateSetConfig(t *testing.T) {
|
||||
entity := queryprocessor.Update{}
|
||||
|
||||
assert.Nil(t, entity.Config)
|
||||
|
||||
cfg := "example_config"
|
||||
entity.SetConfig(&cfg)
|
||||
assert.Equal(t, cfg, *entity.Config)
|
||||
}
|
||||
|
||||
func TestCreateGetRequiredQueryIDs(t *testing.T) {
|
||||
entity := queryprocessor.Create{}
|
||||
|
||||
assert.Nil(t, entity.GetRequiredQueryIDs())
|
||||
|
||||
ids := []uuid.UUID{uuid.New()}
|
||||
entity.RequiredQueryIDs = &ids
|
||||
assert.NotNil(t, entity.GetRequiredQueryIDs())
|
||||
assert.Equal(t, ids, *entity.GetRequiredQueryIDs())
|
||||
}
|
||||
|
||||
func TestCreateSetRequiredQueryIDs(t *testing.T) {
|
||||
entity := queryprocessor.Create{}
|
||||
|
||||
assert.Nil(t, entity.RequiredQueryIDs)
|
||||
|
||||
ids := []uuid.UUID{uuid.New()}
|
||||
entity.SetRequiredQueryIDs(&ids)
|
||||
assert.Equal(t, ids, *entity.RequiredQueryIDs)
|
||||
}
|
||||
|
||||
func TestUpdateGetRequiredQueryIDs(t *testing.T) {
|
||||
entity := queryprocessor.Update{}
|
||||
|
||||
assert.Nil(t, entity.GetRequiredQueryIDs())
|
||||
|
||||
ids := []uuid.UUID{uuid.New()}
|
||||
entity.RequiredQueryIDs = &ids
|
||||
assert.NotNil(t, entity.GetRequiredQueryIDs())
|
||||
assert.Equal(t, ids, *entity.GetRequiredQueryIDs())
|
||||
}
|
||||
|
||||
func TestUpdateSetRequiredQueryIDs(t *testing.T) {
|
||||
entity := queryprocessor.Update{}
|
||||
|
||||
assert.Nil(t, entity.RequiredQueryIDs)
|
||||
|
||||
ids := []uuid.UUID{uuid.New()}
|
||||
entity.SetRequiredQueryIDs(&ids)
|
||||
assert.Equal(t, ids, *entity.RequiredQueryIDs)
|
||||
}
|
||||
Reference in New Issue
Block a user