mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-20 23:46:23 +01:00
78 lines
1.3 KiB
Go
78 lines
1.3 KiB
Go
|
package datadogv2
|
||
|
|
||
|
import (
|
||
|
"reflect"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestRequestUnmarshalJSONFailure(t *testing.T) {
|
||
|
f := func(s string) {
|
||
|
t.Helper()
|
||
|
var req Request
|
||
|
if err := UnmarshalJSON(&req, []byte(s)); err == nil {
|
||
|
t.Fatalf("expecting non-nil error for Unmarshal(%q)", s)
|
||
|
}
|
||
|
}
|
||
|
f("")
|
||
|
f("foobar")
|
||
|
f(`{"series":123`)
|
||
|
f(`1234`)
|
||
|
f(`[]`)
|
||
|
}
|
||
|
|
||
|
func TestRequestUnmarshalJSONSuccess(t *testing.T) {
|
||
|
f := func(s string, reqExpected *Request) {
|
||
|
t.Helper()
|
||
|
var req Request
|
||
|
if err := UnmarshalJSON(&req, []byte(s)); err != nil {
|
||
|
t.Fatalf("unexpected error in Unmarshal(%q): %s", s, err)
|
||
|
}
|
||
|
if !reflect.DeepEqual(&req, reqExpected) {
|
||
|
t.Fatalf("unexpected row;\ngot\n%+v\nwant\n%+v", &req, reqExpected)
|
||
|
}
|
||
|
}
|
||
|
f("{}", &Request{})
|
||
|
f(`
|
||
|
{
|
||
|
"series": [
|
||
|
{
|
||
|
"metric": "system.load.1",
|
||
|
"type": 0,
|
||
|
"points": [
|
||
|
{
|
||
|
"timestamp": 1636629071,
|
||
|
"value": 0.7
|
||
|
}
|
||
|
],
|
||
|
"resources": [
|
||
|
{
|
||
|
"name": "dummyhost",
|
||
|
"type": "host"
|
||
|
}
|
||
|
],
|
||
|
"tags": ["environment:test"]
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
`, &Request{
|
||
|
Series: []Series{{
|
||
|
Metric: "system.load.1",
|
||
|
Points: []Point{
|
||
|
{
|
||
|
Timestamp: 1636629071,
|
||
|
Value: 0.7,
|
||
|
},
|
||
|
},
|
||
|
Resources: []Resource{
|
||
|
{
|
||
|
Name: "dummyhost",
|
||
|
Type: "host",
|
||
|
},
|
||
|
},
|
||
|
Tags: []string{
|
||
|
"environment:test",
|
||
|
},
|
||
|
}},
|
||
|
})
|
||
|
}
|