From be4dc2b943da39f947bbdc5fb2998acb511606a7 Mon Sep 17 00:00:00 2001 From: greg linton Date: Tue, 6 Aug 2019 09:45:40 -0600 Subject: [PATCH] Test http_listener partial write --- .../influxdb_listener/http_listener_test.go | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/plugins/inputs/influxdb_listener/http_listener_test.go b/plugins/inputs/influxdb_listener/http_listener_test.go index 96429506..c42aa572 100644 --- a/plugins/inputs/influxdb_listener/http_listener_test.go +++ b/plugins/inputs/influxdb_listener/http_listener_test.go @@ -30,6 +30,10 @@ cpu_load_short,host=server04 value=12.0 1422568543702900257 cpu_load_short,host=server05 value=12.0 1422568543702900257 cpu_load_short,host=server06 value=12.0 1422568543702900257 ` + testPartial = `cpu,host=a value1=1 +cpu,host=b value1=1,value2=+Inf,value3=3 +cpu,host=c value1=1` + badMsg = "blahblahblah: 42\n" emptyMsg = "" @@ -215,6 +219,30 @@ func TestWriteHTTPNoNewline(t *testing.T) { ) } +func TestPartialWriteHTTP(t *testing.T) { + listener := newTestHTTPListener() + + acc := &testutil.Accumulator{} + require.NoError(t, listener.Start(acc)) + defer listener.Stop() + + // post single message to listener + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testPartial))) + require.NoError(t, err) + resp.Body.Close() + require.EqualValues(t, 400, resp.StatusCode) + + acc.Wait(1) + acc.AssertContainsTaggedFields(t, "cpu", + map[string]interface{}{"value1": float64(1)}, + map[string]string{"host": "a"}, + ) + acc.AssertContainsTaggedFields(t, "cpu", + map[string]interface{}{"value1": float64(1)}, + map[string]string{"host": "c"}, + ) +} + func TestWriteHTTPMaxLineSizeIncrease(t *testing.T) { listener := &HTTPListener{ ServiceAddress: "localhost:0",