91 lines
1.9 KiB
Go
91 lines
1.9 KiB
Go
package amon
|
|
|
|
import (
|
|
"fmt"
|
|
"reflect"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/influxdata/telegraf/testutil"
|
|
|
|
"github.com/influxdata/telegraf"
|
|
)
|
|
|
|
func TestBuildPoint(t *testing.T) {
|
|
var tagtests = []struct {
|
|
ptIn telegraf.Metric
|
|
outPt Point
|
|
err error
|
|
}{
|
|
{
|
|
testutil.TestMetric(float64(0.0), "testpt"),
|
|
Point{
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
0.0,
|
|
},
|
|
nil,
|
|
},
|
|
{
|
|
testutil.TestMetric(float64(1.0), "testpt"),
|
|
Point{
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
1.0,
|
|
},
|
|
nil,
|
|
},
|
|
{
|
|
testutil.TestMetric(int(10), "testpt"),
|
|
Point{
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
10.0,
|
|
},
|
|
nil,
|
|
},
|
|
{
|
|
testutil.TestMetric(int32(112345), "testpt"),
|
|
Point{
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
112345.0,
|
|
},
|
|
nil,
|
|
},
|
|
{
|
|
testutil.TestMetric(int64(112345), "testpt"),
|
|
Point{
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
112345.0,
|
|
},
|
|
nil,
|
|
},
|
|
{
|
|
testutil.TestMetric(float32(11234.5), "testpt"),
|
|
Point{
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
11234.5,
|
|
},
|
|
nil,
|
|
},
|
|
{
|
|
testutil.TestMetric("11234.5", "testpt"),
|
|
Point{
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
11234.5,
|
|
},
|
|
fmt.Errorf("unable to extract value from Fields, undeterminable type"),
|
|
},
|
|
}
|
|
for _, tt := range tagtests {
|
|
pt, err := buildMetrics(tt.ptIn)
|
|
if err != nil && tt.err == nil {
|
|
t.Errorf("%s: unexpected error, %+v\n", tt.ptIn.Name(), err)
|
|
}
|
|
if tt.err != nil && err == nil {
|
|
t.Errorf("%s: expected an error (%s) but none returned", tt.ptIn.Name(), tt.err.Error())
|
|
}
|
|
if !reflect.DeepEqual(pt["value"], tt.outPt) && tt.err == nil {
|
|
t.Errorf("%s: \nexpected %+v\ngot %+v\n",
|
|
tt.ptIn.Name(), tt.outPt, pt["value"])
|
|
}
|
|
}
|
|
}
|