Merged in feature/splitqueryrunning (pull request #57)

Split Query Running + Debugging Full Flow

* completedquerysyncrunner

* spliitinglogic

* synccomplete

* informdependents

* only push same collector

* deps

* livetesting

* foundissue

* some issues resolved

* activeupdate

* collectorupdatefixes

* fix dbquesries

* tests

* tests

* pollingdebug
This commit is contained in:
Michael McGuinness
2025-02-11 15:22:59 +00:00
parent 24a038ec3d
commit 71f9802e1a
108 changed files with 3013 additions and 1666 deletions
+91 -30
View File
@@ -142,42 +142,103 @@ func TestNormalizeQueryIDs(t *testing.T) {
func TestNormalizeActiveVersion(t *testing.T) {
s := Service{}
err := s.normalizeActiveVersion(nil, nil)
assert.Error(t, err)
t.Run("all nil", func(t *testing.T) {
err := s.normalizeActiveVersion(nil, nil)
assert.Error(t, err)
})
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
entity := resultprocessor.Update{}
t.Run("nil current", func(t *testing.T) {
entity := resultprocessor.Update{}
err = s.normalizeActiveVersion(nil, &entity)
assert.Error(t, err)
err := s.normalizeActiveVersion(nil, &entity)
assert.Error(t, err)
})
err = s.normalizeActiveVersion(&current, nil)
assert.NoError(t, err)
t.Run("nil update", func(t *testing.T) {
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
err := s.normalizeActiveVersion(&current, nil)
assert.NoError(t, err)
})
err = s.normalizeActiveVersion(&current, &entity)
assert.NoError(t, err)
t.Run("no update", func(t *testing.T) {
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
entity := resultprocessor.Update{}
err := s.normalizeActiveVersion(&current, &entity)
assert.NoError(t, err)
assert.Nil(t, entity.ActiveVersion)
})
entity.ActiveVersion = &current.ActiveVersion
err = s.normalizeActiveVersion(&current, &entity)
assert.NoError(t, err)
assert.Nil(t, entity.ActiveVersion)
t.Run("equal update to current", func(t *testing.T) {
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
version := int32(2)
entity := resultprocessor.Update{
ActiveVersion: &version,
}
err := s.normalizeActiveVersion(&current, &entity)
assert.NoError(t, err)
assert.Nil(t, entity.ActiveVersion)
})
aV := current.ActiveVersion + 1
entity.ActiveVersion = &aV
err = s.normalizeActiveVersion(&current, &entity)
assert.NoError(t, err)
assert.Equal(t, aV, *entity.ActiveVersion)
t.Run("valid update", func(t *testing.T) {
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
version := int32(3)
entity := resultprocessor.Update{
ActiveVersion: &version,
}
err := s.normalizeActiveVersion(&current, &entity)
assert.NoError(t, err)
assert.Equal(t, version, *entity.ActiveVersion)
})
aV = current.LatestVersion + 2
entity.ActiveVersion = &aV
err = s.normalizeActiveVersion(&current, &entity)
assert.Error(t, err)
t.Run("update greater than latest by 1", func(t *testing.T) {
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
version := int32(5)
entity := resultprocessor.Update{
ActiveVersion: &version,
}
err := s.normalizeActiveVersion(&current, &entity)
assert.NoError(t, err)
assert.Equal(t, version, *entity.ActiveVersion)
})
aV = 0
entity.ActiveVersion = &aV
err = s.normalizeActiveVersion(&current, &entity)
assert.Error(t, err)
t.Run("update greater than latest by 2", func(t *testing.T) {
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
version := int32(6)
entity := resultprocessor.Update{
ActiveVersion: &version,
}
err := s.normalizeActiveVersion(&current, &entity)
assert.Error(t, err)
})
t.Run("update to 0", func(t *testing.T) {
current := Query{
ActiveVersion: 2,
LatestVersion: 4,
}
version := int32(0)
entity := resultprocessor.Update{
ActiveVersion: &version,
}
err := s.normalizeActiveVersion(&current, &entity)
assert.Error(t, err)
})
}