2015-11-06 09:27:17 +00:00
|
|
|
package amon
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"reflect"
|
|
|
|
"testing"
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/influxdb/telegraf/testutil"
|
|
|
|
|
|
|
|
"github.com/influxdb/influxdb/client/v2"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestBuildPoint(t *testing.T) {
|
|
|
|
var tagtests = []struct {
|
|
|
|
ptIn *client.Point
|
|
|
|
outPt Point
|
|
|
|
err error
|
|
|
|
}{
|
|
|
|
{
|
2015-11-11 00:05:28 +00:00
|
|
|
testutil.TestPoint(float64(0.0)),
|
2015-11-06 09:27:17 +00:00
|
|
|
Point{
|
|
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
|
|
0.0,
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
{
|
2015-11-11 00:05:28 +00:00
|
|
|
testutil.TestPoint(float64(1.0)),
|
2015-11-06 09:27:17 +00:00
|
|
|
Point{
|
2015-11-11 00:05:28 +00:00
|
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
2015-11-06 09:27:17 +00:00
|
|
|
1.0,
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
{
|
2015-11-11 00:05:28 +00:00
|
|
|
testutil.TestPoint(int(10)),
|
2015-11-06 09:27:17 +00:00
|
|
|
Point{
|
|
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
|
|
10.0,
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
{
|
2015-11-11 00:05:28 +00:00
|
|
|
testutil.TestPoint(int32(112345)),
|
2015-11-06 09:27:17 +00:00
|
|
|
Point{
|
|
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
|
|
112345.0,
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
{
|
2015-11-11 00:05:28 +00:00
|
|
|
testutil.TestPoint(int64(112345)),
|
2015-11-06 09:27:17 +00:00
|
|
|
Point{
|
|
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
|
|
112345.0,
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
{
|
2015-11-11 00:05:28 +00:00
|
|
|
testutil.TestPoint(float32(11234.5)),
|
2015-11-06 09:27:17 +00:00
|
|
|
Point{
|
|
|
|
float64(time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC).Unix()),
|
|
|
|
11234.5,
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
},
|
|
|
|
{
|
2015-11-11 00:05:28 +00:00
|
|
|
testutil.TestPoint("11234.5"),
|
2015-11-06 09:27:17 +00:00
|
|
|
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 := buildPoint(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, tt.outPt) && tt.err == nil {
|
|
|
|
t.Errorf("%s: \nexpected %+v\ngot %+v\n", tt.ptIn.Name(), tt.outPt, pt)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|