Skip to content

Commit

Permalink
fix(datadog): allow empty datadog result. Fixes argoproj#1548
Browse files Browse the repository at this point in the history
Signed-off-by: Ryan M Smith <[email protected]>
  • Loading branch information
rms1000watt committed Oct 7, 2021
1 parent a85fdf5 commit 35d9093
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 1 deletion.
2 changes: 1 addition & 1 deletion metricproviders/datadog/datadog_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ func TestRunSuite(t *testing.T) {
useEnvVarForKeys: false,
},

// Expect sucess with bad default() and good data
// Expect success with bad default() and good data
{
webServerStatus: 200,
webServerResponse: `{"status":"ok","series":[{"pointlist":[[1598867910000,0.0020008318672513122],[1598867925000,0.006121378742186943]]}]}`,
Expand Down
57 changes: 57 additions & 0 deletions utils/evaluate/evaluate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package evaluate
import (
"fmt"
"math"
"reflect"
"testing"

"github.com/sirupsen/logrus"
Expand Down Expand Up @@ -262,3 +263,59 @@ func TestEqual(t *testing.T) {
assert.False(t, Equal([]string{"a"}, []string{"a", "b"}))
assert.False(t, Equal([]string{"a", "b"}, []string{}))
}

func TestDefaultFunc(t *testing.T) {
var nilFloat *float64
var oneFloat float64 = 1
var oneFloatPointer *float64 = new(float64)
*oneFloatPointer = 1

assert.True(t, defaultFunc(nilFloat)(nilFloat, 0) == 0)
assert.True(t, defaultFunc(nilFloat)(nilFloat, 1) == 1)
assert.True(t, defaultFunc(nilFloat)(nilFloat, 2) == 2)
assert.True(t, defaultFunc(oneFloatPointer)(oneFloatPointer, 0) == oneFloat)
}

func TestIsNilFunc(t *testing.T) {
var nilFloat *float64
var oneFloat float64 = 1
var nilArr []string
var twoArr []string = []string{"hi", "hello"}

assert.True(t, isNilFunc(nilFloat)(nilFloat))
assert.True(t, isNilFunc(nilArr)(nilArr))
assert.False(t, isNilFunc(oneFloat)(oneFloat))
assert.False(t, isNilFunc(twoArr)(twoArr))
assert.False(t, isNilFunc(1)(1))
assert.False(t, isNilFunc(false)(false))
}

func TestIsNil(t *testing.T) {
var nilFloat *float64
var oneFloat float64 = 1
var nilArr []string
var twoArr []string = []string{"hi", "hello"}

assert.True(t, isNil(nilFloat))
assert.True(t, isNil(nilArr))
assert.False(t, isNil(oneFloat))
assert.False(t, isNil(twoArr))
assert.False(t, isNil(1))
assert.False(t, isNil(false))
}

func TestValueFromPointer(t *testing.T) {
var nilFloat *float64
var oneFloat float64 = 1
var oneFloatPointer *float64 = new(float64)
*oneFloatPointer = 1
var nilArr []string
var twoArr []string = []string{"hi", "hello"}

assert.True(t, valueFromPointer(nilFloat) == nil)
assert.True(t, valueFromPointer(nilArr) == nil)
assert.True(t, reflect.DeepEqual(valueFromPointer(twoArr).([]string), twoArr))
assert.True(t, valueFromPointer(oneFloatPointer) == oneFloat)
assert.True(t, valueFromPointer(1) == 1)
assert.True(t, valueFromPointer(false) == false)
}

0 comments on commit 35d9093

Please sign in to comment.