blob: 6056764a2ab325d7e21fe5ccef0d6868c2c06739 [file] [log] [blame]
package prom
import (
"testing"
"github.com/stretchr/testify/assert"
"go.skia.org/infra/go/testutils/unittest"
)
func TestEquationFromExpr_Equality(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("up == 0")
assert.False(t, ignore)
assert.Equal(t, "up", got)
}
func TestEquationFromExpr_NoOperations(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("vector(1)")
assert.True(t, ignore)
assert.Equal(t, "", got)
}
func TestEquationFromExpr_LessThan(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("liveness_ci_pubsub_receive_s > 60 * 60 * 24 * 2")
assert.False(t, ignore)
assert.Equal(t, "liveness_ci_pubsub_receive_s", got)
}
func TestEquationFromExpr_LessThanOrEqual(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("cq_watcher_in_flight_waiting_in_cq{app=\"cq-watcher\"} >= 10")
assert.False(t, ignore)
assert.Equal(t, "cq_watcher_in_flight_waiting_in_cq{app=\"cq-watcher\"}", got)
}
func TestEquationFromExpr_NotEqual(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("healthy{app=\"ct-perf\"} != 1")
assert.False(t, ignore)
assert.Equal(t, "healthy{app=\"ct-perf\"}", got)
}
func TestEquationFromExpr_Empty(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("")
assert.False(t, ignore)
assert.Equal(t, "", got)
}
func TestEquationFromExpr_IgnoreComputedEquations(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("computed:value")
assert.True(t, ignore)
assert.Equal(t, "", got)
}
func TestEquationFromExpr_IgnoreMultipleComparisons(t *testing.T) {
unittest.SmallTest(t)
got, ignore := EquationFromExpr("a < b and b > c")
assert.True(t, ignore)
assert.Equal(t, "", got)
}