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:
@@ -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(¤t, nil)
|
||||
assert.NoError(t, err)
|
||||
t.Run("nil update", func(t *testing.T) {
|
||||
current := Query{
|
||||
ActiveVersion: 2,
|
||||
LatestVersion: 4,
|
||||
}
|
||||
err := s.normalizeActiveVersion(¤t, nil)
|
||||
assert.NoError(t, err)
|
||||
})
|
||||
|
||||
err = s.normalizeActiveVersion(¤t, &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(¤t, &entity)
|
||||
assert.NoError(t, err)
|
||||
assert.Nil(t, entity.ActiveVersion)
|
||||
})
|
||||
|
||||
entity.ActiveVersion = ¤t.ActiveVersion
|
||||
err = s.normalizeActiveVersion(¤t, &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(¤t, &entity)
|
||||
assert.NoError(t, err)
|
||||
assert.Nil(t, entity.ActiveVersion)
|
||||
})
|
||||
|
||||
aV := current.ActiveVersion + 1
|
||||
entity.ActiveVersion = &aV
|
||||
err = s.normalizeActiveVersion(¤t, &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(¤t, &entity)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, version, *entity.ActiveVersion)
|
||||
})
|
||||
|
||||
aV = current.LatestVersion + 2
|
||||
entity.ActiveVersion = &aV
|
||||
err = s.normalizeActiveVersion(¤t, &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(¤t, &entity)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, version, *entity.ActiveVersion)
|
||||
})
|
||||
|
||||
aV = 0
|
||||
entity.ActiveVersion = &aV
|
||||
err = s.normalizeActiveVersion(¤t, &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(¤t, &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(¤t, &entity)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user