Alerting: Add multiple threshold operators (#99516)

The following operators are being added:
- Equal
- Not Equal
- Greater or Equal
- Less or Equal
- Within Range Inclusive
- Outside Range Inclusive
This commit is contained in:
Paulo Dias
2025-02-21 19:11:16 +02:00
committed by GitHub
parent 6ebde0481e
commit 2d2e595555
18 changed files with 781 additions and 128 deletions
+90
View File
@@ -38,6 +38,26 @@ func TestNewThresholdCommand(t *testing.T) {
args: []float64{0},
shouldError: false,
},
{
fn: "eq",
args: []float64{0},
shouldError: false,
},
{
fn: "ne",
args: []float64{0},
shouldError: false,
},
{
fn: "gte",
args: []float64{0},
shouldError: false,
},
{
fn: "lte",
args: []float64{0},
shouldError: false,
},
{
fn: "within_range",
args: []float64{0, 1},
@@ -48,6 +68,16 @@ func TestNewThresholdCommand(t *testing.T) {
args: []float64{0, 1},
shouldError: false,
},
{
fn: "within_range_included",
args: []float64{0, 1},
shouldError: false,
},
{
fn: "outside_range_included",
args: []float64{0, 1},
shouldError: false,
},
{
fn: "gt",
args: []float64{},
@@ -60,6 +90,30 @@ func TestNewThresholdCommand(t *testing.T) {
shouldError: true,
expectedError: "incorrect number of arguments",
},
{
fn: "eq",
args: []float64{},
shouldError: true,
expectedError: "incorrect number of arguments",
},
{
fn: "ne",
args: []float64{},
shouldError: true,
expectedError: "incorrect number of arguments",
},
{
fn: "gte",
args: []float64{},
shouldError: true,
expectedError: "incorrect number of arguments",
},
{
fn: "lte",
args: []float64{},
shouldError: true,
expectedError: "incorrect number of arguments",
},
{
fn: "within_range",
args: []float64{0},
@@ -72,6 +126,18 @@ func TestNewThresholdCommand(t *testing.T) {
shouldError: true,
expectedError: "incorrect number of arguments",
},
{
fn: "within_range_included",
args: []float64{0},
shouldError: true,
expectedError: "incorrect number of arguments",
},
{
fn: "outside_range_included",
args: []float64{0},
shouldError: true,
expectedError: "incorrect number of arguments",
},
}
for _, tc := range cases {
@@ -249,6 +315,22 @@ func TestIsSupportedThresholdFunc(t *testing.T) {
function: ThresholdIsBelow,
supported: true,
},
{
function: ThresholdIsEqual,
supported: true,
},
{
function: ThresholdIsNotEqual,
supported: true,
},
{
function: ThresholdIsGreaterThanEqual,
supported: true,
},
{
function: ThresholdIsLessThanEqual,
supported: true,
},
{
function: ThresholdIsWithinRange,
supported: true,
@@ -257,6 +339,14 @@ func TestIsSupportedThresholdFunc(t *testing.T) {
function: ThresholdIsOutsideRange,
supported: true,
},
{
function: ThresholdIsWithinRangeIncluded,
supported: true,
},
{
function: ThresholdIsOutsideRangeIncluded,
supported: true,
},
{
function: "foo",
supported: false,