diff --git a/.golangci.yml b/.golangci.yml index 6cc3c4adf..11fe6d2bb 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -21,6 +21,7 @@ linters: - interfacebloat - lll - makezero + - mirror - nakedret - nilerr - nolintlint diff --git a/internal/content_coding_test.go b/internal/content_coding_test.go index b1059a3f0..46401b112 100644 --- a/internal/content_coding_test.go +++ b/internal/content_coding_test.go @@ -128,7 +128,7 @@ func TestIdentityEncodeDecode(t *testing.T) { func TestStreamIdentityDecode(t *testing.T) { var r bytes.Buffer - n, err := r.Write([]byte("howdy")) + n, err := r.WriteString("howdy") require.NoError(t, err) require.Equal(t, 5, n) diff --git a/internal/internal_test.go b/internal/internal_test.go index 5d0fde9d7..8f564815a 100644 --- a/internal/internal_test.go +++ b/internal/internal_test.go @@ -174,7 +174,7 @@ func TestRandomSleep(t *testing.T) { func TestCompressWithGzip(t *testing.T) { testData := "the quick brown fox jumps over the lazy dog" - inputBuffer := bytes.NewBuffer([]byte(testData)) + inputBuffer := bytes.NewBufferString(testData) outputBuffer := CompressWithGzip(inputBuffer) gzipReader, err := gzip.NewReader(outputBuffer) diff --git a/internal/snmp/field.go b/internal/snmp/field.go index 7406a5d98..8f71ead4a 100644 --- a/internal/snmp/field.go +++ b/internal/snmp/field.go @@ -97,7 +97,7 @@ func (f *Field) Init(tr Translator) error { func (f *Field) Convert(ent gosnmp.SnmpPDU) (interface{}, error) { if f.Conversion == "" { // OctetStrings may contain hex data that needs its own conversion - if ent.Type == gosnmp.OctetString && !utf8.ValidString(string(ent.Value.([]byte)[:])) { + if ent.Type == gosnmp.OctetString && !utf8.Valid(ent.Value.([]byte)[:]) { return hex.EncodeToString(ent.Value.([]byte)), nil } if bs, ok := ent.Value.([]byte); ok { diff --git a/plugins/inputs/cloudwatch_metric_streams/cloudwatch_metric_streams_test.go b/plugins/inputs/cloudwatch_metric_streams/cloudwatch_metric_streams_test.go index 5ec75b8fb..fa10aa9aa 100644 --- a/plugins/inputs/cloudwatch_metric_streams/cloudwatch_metric_streams_test.go +++ b/plugins/inputs/cloudwatch_metric_streams/cloudwatch_metric_streams_test.go @@ -275,7 +275,7 @@ func TestWriteHTTPInvalid(t *testing.T) { defer metricStream.Stop() // post a badly formatted message to the metric stream listener - resp, err := http.Post(createURL("http", "/write"), "", bytes.NewBuffer([]byte(badMsg))) + resp, err := http.Post(createURL("http", "/write"), "", bytes.NewBufferString(badMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) @@ -290,7 +290,7 @@ func TestWriteHTTPEmpty(t *testing.T) { defer metricStream.Stop() // post empty message to the metric stream listener - resp, err := http.Post(createURL("http", "/write"), "", bytes.NewBuffer([]byte(emptyMsg))) + resp, err := http.Post(createURL("http", "/write"), "", bytes.NewBufferString(emptyMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) diff --git a/plugins/inputs/docker_log/docker_log_test.go b/plugins/inputs/docker_log/docker_log_test.go index 128623d27..5d4c026af 100644 --- a/plugins/inputs/docker_log/docker_log_test.go +++ b/plugins/inputs/docker_log/docker_log_test.go @@ -86,7 +86,7 @@ func Test(t *testing.T) { }, nil }, ContainerLogsF: func() (io.ReadCloser, error) { - return &Response{Reader: bytes.NewBuffer([]byte("2020-04-28T18:43:16.432691200Z hello\n"))}, nil + return &Response{Reader: bytes.NewBufferString("2020-04-28T18:43:16.432691200Z hello\n")}, nil }, }, expected: []telegraf.Metric{ diff --git a/plugins/inputs/http_listener_v2/http_listener_v2_test.go b/plugins/inputs/http_listener_v2/http_listener_v2_test.go index 1924ae851..1361e1685 100644 --- a/plugins/inputs/http_listener_v2/http_listener_v2_test.go +++ b/plugins/inputs/http_listener_v2/http_listener_v2_test.go @@ -161,7 +161,7 @@ func TestWriteHTTPSNoClientAuth(t *testing.T) { } // post single message to listener - resp, err := noClientAuthClient.Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := noClientAuthClient.Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -177,7 +177,7 @@ func TestWriteHTTPSWithClientAuth(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := getHTTPSClient().Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := getHTTPSClient().Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -194,7 +194,7 @@ func TestWriteHTTPBasicAuth(t *testing.T) { client := &http.Client{} - req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBuffer([]byte(testMsg))) + req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBufferString(testMsg)) require.NoError(t, err) req.SetBasicAuth(basicUsername, basicPassword) resp, err := client.Do(req) @@ -213,7 +213,7 @@ func TestWriteHTTP(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -225,7 +225,7 @@ func TestWriteHTTP(t *testing.T) { ) // post multiple message to listener - resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgs))) + resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgs)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -265,7 +265,7 @@ func TestWriteHTTPWithPathTag(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgNoNewline))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgNoNewline)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -288,7 +288,7 @@ func TestWriteHTTPWithReturnCode(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgNoNewline))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgNoNewline)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 200, resp.StatusCode) @@ -307,13 +307,13 @@ func TestWriteHTTPWithMultiplePaths(t *testing.T) { defer listener.Stop() // post single message to /write - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgNoNewline))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgNoNewline)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) // post single message to /alternative_write - resp, err = http.Post(createURL(listener, "http", "/alternative_write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgNoNewline))) + resp, err = http.Post(createURL(listener, "http", "/alternative_write", "db=mydb"), "", bytes.NewBufferString(testMsgNoNewline)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -341,7 +341,7 @@ func TestWriteHTTPNoNewline(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgNoNewline))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgNoNewline)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -497,7 +497,7 @@ func TestWriteHTTPHighTraffic(t *testing.T) { go func(innerwg *sync.WaitGroup) { defer innerwg.Done() for i := 0; i < 500; i++ { - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgs))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgs)) if err != nil { return } @@ -528,7 +528,7 @@ func TestReceive404ForInvalidEndpoint(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/foobar", ""), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := http.Post(createURL(listener, "http", "/foobar", ""), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 404, resp.StatusCode) @@ -544,7 +544,7 @@ func TestWriteHTTPInvalid(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(badMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(badMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) @@ -560,7 +560,7 @@ func TestWriteHTTPEmpty(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(emptyMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(emptyMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -580,7 +580,7 @@ func TestWriteHTTPTransformHeaderValuesToTagsSingleWrite(t *testing.T) { require.NoError(t, listener.Start(acc)) defer listener.Stop() - req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBuffer([]byte(testMsg))) + req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBufferString(testMsg)) require.NoError(t, err) req.Header.Set("Content-Type", "") req.Header.Set("Present_http_header_1", "PRESENT_HTTP_VALUE_1") @@ -598,7 +598,7 @@ func TestWriteHTTPTransformHeaderValuesToTagsSingleWrite(t *testing.T) { ) // post single message to listener - resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -624,7 +624,7 @@ func TestWriteHTTPTransformHeaderValuesToTagsBulkWrite(t *testing.T) { require.NoError(t, listener.Start(acc)) defer listener.Stop() - req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBuffer([]byte(testMsgs))) + req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBufferString(testMsgs)) require.NoError(t, err) req.Header.Set("Content-Type", "") req.Header.Set("Present_http_header_1", "PRESENT_HTTP_VALUE_1") @@ -661,7 +661,7 @@ func TestWriteHTTPQueryParams(t *testing.T) { require.NoError(t, listener.Start(acc)) defer listener.Stop() - resp, err := http.Post(createURL(listener, "http", "/write", "tagKey=tagValue&fieldKey=42"), "", bytes.NewBuffer([]byte(emptyMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "tagKey=tagValue&fieldKey=42"), "", bytes.NewBufferString(emptyMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -717,7 +717,7 @@ func TestServerHeaders(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) diff --git a/plugins/inputs/influxdb_listener/influxdb_listener_test.go b/plugins/inputs/influxdb_listener/influxdb_listener_test.go index 95742410f..22defcb59 100644 --- a/plugins/inputs/influxdb_listener/influxdb_listener_test.go +++ b/plugins/inputs/influxdb_listener/influxdb_listener_test.go @@ -125,7 +125,7 @@ func TestWriteSecureNoClientAuth(t *testing.T) { } // post single message to listener - resp, err := noClientAuthClient.Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := noClientAuthClient.Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -140,7 +140,7 @@ func TestWriteSecureWithClientAuth(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := getSecureClient().Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := getSecureClient().Post(createURL(listener, "https", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -156,7 +156,7 @@ func TestWriteBasicAuth(t *testing.T) { client := &http.Client{} - req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBuffer([]byte(testMsg))) + req, err := http.NewRequest("POST", createURL(listener, "http", "/write", "db=mydb"), bytes.NewBufferString(testMsg)) require.NoError(t, err) req.SetBasicAuth(basicUsername, basicPassword) resp, err := client.Do(req) @@ -187,7 +187,7 @@ func TestWriteToken(t *testing.T) { defer plugin.Stop() client := &http.Client{} - req, err := http.NewRequest("POST", createURL(plugin, "http", "/write", "db=mydb"), bytes.NewBuffer([]byte(testMsg))) + req, err := http.NewRequest("POST", createURL(plugin, "http", "/write", "db=mydb"), bytes.NewBufferString(testMsg)) require.NoError(t, err) req.Header.Add("Authentication", "Bearer "+token) resp, err := client.Do(req) @@ -218,7 +218,7 @@ func TestWriteTokenInvalidUser(t *testing.T) { defer plugin.Stop() client := &http.Client{} - req, err := http.NewRequest("POST", createURL(plugin, "http", "/write", "db=mydb"), bytes.NewBuffer([]byte(testMsg))) + req, err := http.NewRequest("POST", createURL(plugin, "http", "/write", "db=mydb"), bytes.NewBufferString(testMsg)) require.NoError(t, err) req.Header.Add("Authentication", "Bearer "+token) resp, err := client.Do(req) @@ -249,7 +249,7 @@ func TestWriteTokenExpired(t *testing.T) { defer plugin.Stop() client := &http.Client{} - req, err := http.NewRequest("POST", createURL(plugin, "http", "/write", "db=mydb"), bytes.NewBuffer([]byte(testMsg))) + req, err := http.NewRequest("POST", createURL(plugin, "http", "/write", "db=mydb"), bytes.NewBufferString(testMsg)) require.NoError(t, err) req.Header.Add("Authentication", "Bearer "+token) resp, err := client.Do(req) @@ -276,7 +276,7 @@ func TestWriteKeepDatabase(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -288,7 +288,7 @@ func TestWriteKeepDatabase(t *testing.T) { ) // post single message to listener with a database tag in it already. It should be clobbered. - resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgWithDB))) + resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgWithDB)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -300,7 +300,7 @@ func TestWriteKeepDatabase(t *testing.T) { ) // post multiple message to listener - resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgs))) + resp, err = http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgs)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -327,7 +327,7 @@ func TestWriteRetentionPolicyTag(t *testing.T) { require.NoError(t, listener.Start(acc)) defer listener.Stop() - resp, err := http.Post(createURL(listener, "http", "/write", "rp=myrp"), "", bytes.NewBuffer([]byte("cpu time_idle=42"))) + resp, err := http.Post(createURL(listener, "http", "/write", "rp=myrp"), "", bytes.NewBufferString("cpu time_idle=42")) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.Equal(t, 204, resp.StatusCode) @@ -362,7 +362,7 @@ func TestWriteNoNewline(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgNoNewline))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgNoNewline)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -388,7 +388,7 @@ func TestPartialWrite(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testPartial))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testPartial)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) @@ -488,7 +488,7 @@ func TestWriteLargeLine(t *testing.T) { require.NoError(t, listener.Start(acc)) defer listener.Stop() - resp, err := http.Post(createURL(listener, "http", "/write", ""), "", bytes.NewBuffer([]byte(hugeMetricString+testMsgs))) + resp, err := http.Post(createURL(listener, "http", "/write", ""), "", bytes.NewBufferString(hugeMetricString+testMsgs)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) //todo: with the new parser, long lines aren't a problem. Do we need to skip them? @@ -611,7 +611,7 @@ func TestWriteHighTraffic(t *testing.T) { go func(innerwg *sync.WaitGroup) { defer innerwg.Done() for i := 0; i < 500; i++ { - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(testMsgs))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(testMsgs)) if err != nil { return } @@ -644,7 +644,7 @@ func TestReceive404ForInvalidEndpoint(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/foobar", ""), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := http.Post(createURL(listener, "http", "/foobar", ""), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 404, resp.StatusCode) @@ -664,7 +664,7 @@ func TestWriteInvalid(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(badMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(badMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) @@ -684,7 +684,7 @@ func TestWriteEmpty(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBuffer([]byte(emptyMsg))) + resp, err := http.Post(createURL(listener, "http", "/write", "db=mydb"), "", bytes.NewBufferString(emptyMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -770,7 +770,7 @@ func TestWriteWithPrecision(t *testing.T) { msg := "xyzzy value=42 1422568543\n" resp, err := http.Post( - createURL(listener, "http", "/write", "precision=s"), "", bytes.NewBuffer([]byte(msg))) + createURL(listener, "http", "/write", "precision=s"), "", bytes.NewBufferString(msg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -800,7 +800,7 @@ func TestWriteWithPrecisionNoTimestamp(t *testing.T) { msg := "xyzzy value=42\n" resp, err := http.Post( - createURL(listener, "http", "/write", "precision=s"), "", bytes.NewBuffer([]byte(msg))) + createURL(listener, "http", "/write", "precision=s"), "", bytes.NewBufferString(msg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -848,7 +848,7 @@ func TestWriteUpstreamParseErrors(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", ""), "", bytes.NewBuffer([]byte(tt.input))) + resp, err := http.Post(createURL(listener, "http", "/write", ""), "", bytes.NewBufferString(tt.input)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) @@ -890,7 +890,7 @@ func TestWriteParseErrors(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/write", ""), "", bytes.NewBuffer([]byte(tt.input))) + resp, err := http.Post(createURL(listener, "http", "/write", ""), "", bytes.NewBufferString(tt.input)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) diff --git a/plugins/inputs/influxdb_v2_listener/influxdb_v2_listener_test.go b/plugins/inputs/influxdb_v2_listener/influxdb_v2_listener_test.go index 22bec8a5e..21e10882b 100644 --- a/plugins/inputs/influxdb_v2_listener/influxdb_v2_listener_test.go +++ b/plugins/inputs/influxdb_v2_listener/influxdb_v2_listener_test.go @@ -126,7 +126,7 @@ func TestWriteSecureNoClientAuth(t *testing.T) { } // post single message to listener - resp, err := noClientAuthClient.Post(createURL(listener, "https", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := noClientAuthClient.Post(createURL(listener, "https", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -141,7 +141,7 @@ func TestWriteSecureWithClientAuth(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := getSecureClient().Post(createURL(listener, "https", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := getSecureClient().Post(createURL(listener, "https", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -157,7 +157,7 @@ func TestWriteTokenAuth(t *testing.T) { client := &http.Client{} - req, err := http.NewRequest("POST", createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), bytes.NewBuffer([]byte(testMsg))) + req, err := http.NewRequest("POST", createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), bytes.NewBufferString(testMsg)) require.NoError(t, err) req.Header.Set("Authorization", "Token "+token) resp, err := client.Do(req) @@ -178,7 +178,7 @@ func TestWriteKeepBucket(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -190,7 +190,7 @@ func TestWriteKeepBucket(t *testing.T) { ) // post single message to listener with a database tag in it already. It should be clobbered. - resp, err = http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testMsgWithDB))) + resp, err = http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testMsgWithDB)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -202,7 +202,7 @@ func TestWriteKeepBucket(t *testing.T) { ) // post multiple message to listener - resp, err = http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testMsgs))) + resp, err = http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testMsgs)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -231,7 +231,7 @@ func TestWriteNoNewline(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testMsgNoNewline))) + resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testMsgNoNewline)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -256,7 +256,7 @@ func TestAllOrNothing(t *testing.T) { require.NoError(t, listener.Start(acc)) defer listener.Stop() - resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testPartial))) + resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testPartial)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) @@ -339,7 +339,7 @@ func TestWriteLargeLine(t *testing.T) { require.NoError(t, listener.Start(acc)) defer listener.Stop() - resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(hugeMetricString+testMsgs))) + resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(hugeMetricString+testMsgs)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) //todo: with the new parser, long lines aren't a problem. Do we need to skip them? @@ -451,7 +451,7 @@ func TestWriteHighTraffic(t *testing.T) { go func(innerwg *sync.WaitGroup) { defer innerwg.Done() for i := 0; i < 500; i++ { - resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(testMsgs))) + resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(testMsgs)) if err != nil { return } @@ -484,7 +484,7 @@ func TestReceive404ForInvalidEndpoint(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/foobar", ""), "", bytes.NewBuffer([]byte(testMsg))) + resp, err := http.Post(createURL(listener, "http", "/foobar", ""), "", bytes.NewBufferString(testMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 404, resp.StatusCode) @@ -504,7 +504,7 @@ func TestWriteInvalid(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(badMsg))) + resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(badMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 400, resp.StatusCode) @@ -524,7 +524,7 @@ func TestWriteEmpty(t *testing.T) { defer listener.Stop() // post single message to listener - resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBuffer([]byte(emptyMsg))) + resp, err := http.Post(createURL(listener, "http", "/api/v2/write", "bucket=mybucket"), "", bytes.NewBufferString(emptyMsg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -566,7 +566,7 @@ func TestWriteWithPrecision(t *testing.T) { msg := "xyzzy value=42 1422568543\n" resp, err := http.Post( - createURL(listener, "http", "/api/v2/write", "bucket=mybucket&precision=s"), "", bytes.NewBuffer([]byte(msg))) + createURL(listener, "http", "/api/v2/write", "bucket=mybucket&precision=s"), "", bytes.NewBufferString(msg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -592,7 +592,7 @@ func TestWriteWithPrecisionNoTimestamp(t *testing.T) { msg := "xyzzy value=42\n" resp, err := http.Post( - createURL(listener, "http", "/api/v2/write", "bucket=mybucket&precision=s"), "", bytes.NewBuffer([]byte(msg))) + createURL(listener, "http", "/api/v2/write", "bucket=mybucket&precision=s"), "", bytes.NewBufferString(msg)) require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -614,12 +614,12 @@ func TestRateLimitedConnectionDropsSecondRequest(t *testing.T) { msg := "xyzzy value=42\n" postURL := createURL(listener, "http", "/api/v2/write", "bucket=mybucket&precision=s") - resp, err := http.Post(postURL, "", bytes.NewBuffer([]byte(msg))) // #nosec G107 -- url has to be dynamic due to dynamic port number + resp, err := http.Post(postURL, "", bytes.NewBufferString(msg)) // #nosec G107 -- url has to be dynamic due to dynamic port number require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) - resp, err = http.Post(postURL, "", bytes.NewBuffer([]byte(msg))) // #nosec G107 -- url has to be dynamic due to dynamic port number + resp, err = http.Post(postURL, "", bytes.NewBufferString(msg)) // #nosec G107 -- url has to be dynamic due to dynamic port number require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 429, resp.StatusCode) @@ -634,7 +634,7 @@ func TestRateLimitedConnectionAcceptsNewRequestOnDelivery(t *testing.T) { msg := "xyzzy value=42\n" postURL := createURL(listener, "http", "/api/v2/write", "bucket=mybucket&precision=s") - resp, err := http.Post(postURL, "", bytes.NewBuffer([]byte(msg))) // #nosec G107 -- url has to be dynamic due to dynamic port number + resp, err := http.Post(postURL, "", bytes.NewBufferString(msg)) // #nosec G107 -- url has to be dynamic due to dynamic port number require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -644,7 +644,7 @@ func TestRateLimitedConnectionAcceptsNewRequestOnDelivery(t *testing.T) { m.Accept() } - resp, err = http.Post(postURL, "", bytes.NewBuffer([]byte(msg))) // #nosec G107 -- url has to be dynamic due to dynamic port number + resp, err = http.Post(postURL, "", bytes.NewBufferString(msg)) // #nosec G107 -- url has to be dynamic due to dynamic port number require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 204, resp.StatusCode) @@ -659,7 +659,7 @@ func TestRateLimitedConnectionRejectsBatchesLargerThanMaxUndeliveredMetrics(t *t msg := "xyzzy value=42\nxyzzy value=43" postURL := createURL(listener, "http", "/api/v2/write", "bucket=mybucket&precision=s") - resp, err := http.Post(postURL, "", bytes.NewBuffer([]byte(msg))) // #nosec G107 -- url has to be dynamic due to dynamic port number + resp, err := http.Post(postURL, "", bytes.NewBufferString(msg)) // #nosec G107 -- url has to be dynamic due to dynamic port number require.NoError(t, err) require.NoError(t, resp.Body.Close()) require.EqualValues(t, 413, resp.StatusCode) diff --git a/plugins/inputs/nsd/nsd_test.go b/plugins/inputs/nsd/nsd_test.go index 74f4a14cf..dad4c0e92 100644 --- a/plugins/inputs/nsd/nsd_test.go +++ b/plugins/inputs/nsd/nsd_test.go @@ -12,7 +12,7 @@ import ( func NSDControl(output string) func(string, config.Duration, bool, string, string) (*bytes.Buffer, error) { return func(string, config.Duration, bool, string, string) (*bytes.Buffer, error) { - return bytes.NewBuffer([]byte(output)), nil + return bytes.NewBufferString(output), nil } } diff --git a/plugins/inputs/openntpd/openntpd_test.go b/plugins/inputs/openntpd/openntpd_test.go index 88bb20648..df3b7187b 100644 --- a/plugins/inputs/openntpd/openntpd_test.go +++ b/plugins/inputs/openntpd/openntpd_test.go @@ -12,7 +12,7 @@ import ( func OpenntpdCTL(output string) func(string, config.Duration, bool) (*bytes.Buffer, error) { return func(string, config.Duration, bool) (*bytes.Buffer, error) { - return bytes.NewBuffer([]byte(output)), nil + return bytes.NewBufferString(output), nil } } diff --git a/plugins/inputs/opensmtpd/opensmtpd_test.go b/plugins/inputs/opensmtpd/opensmtpd_test.go index 47e536c72..599bf5008 100644 --- a/plugins/inputs/opensmtpd/opensmtpd_test.go +++ b/plugins/inputs/opensmtpd/opensmtpd_test.go @@ -12,7 +12,7 @@ import ( func SMTPCTL(output string) func(string, config.Duration, bool) (*bytes.Buffer, error) { return func(string, config.Duration, bool) (*bytes.Buffer, error) { - return bytes.NewBuffer([]byte(output)), nil + return bytes.NewBufferString(output), nil } } diff --git a/plugins/inputs/snmp_trap/snmp_trap.go b/plugins/inputs/snmp_trap/snmp_trap.go index 5c02c80f8..be5ec0e37 100644 --- a/plugins/inputs/snmp_trap/snmp_trap.go +++ b/plugins/inputs/snmp_trap/snmp_trap.go @@ -348,7 +348,7 @@ func makeTrapHandler(s *SnmpTrap) gosnmp.TrapHandlerFunc { } case gosnmp.OctetString: // OctetStrings may contain hex data that needs its own conversion - if !utf8.ValidString(string(v.Value.([]byte)[:])) { + if !utf8.Valid(v.Value.([]byte)[:]) { value = hex.EncodeToString(v.Value.([]byte)) } else { value = v.Value diff --git a/plugins/inputs/unbound/unbound_test.go b/plugins/inputs/unbound/unbound_test.go index 076ab6d11..f6f4b2cd8 100644 --- a/plugins/inputs/unbound/unbound_test.go +++ b/plugins/inputs/unbound/unbound_test.go @@ -11,7 +11,7 @@ import ( func UnboundControl(output string) func(Unbound) (*bytes.Buffer, error) { return func(Unbound) (*bytes.Buffer, error) { - return bytes.NewBuffer([]byte(output)), nil + return bytes.NewBufferString(output), nil } } diff --git a/plugins/inputs/varnish/varnish_test.go b/plugins/inputs/varnish/varnish_test.go index 7ebfac188..e239d67a2 100644 --- a/plugins/inputs/varnish/varnish_test.go +++ b/plugins/inputs/varnish/varnish_test.go @@ -17,7 +17,7 @@ import ( func fakeVarnishRunner(output string) func(string, bool, []string, config.Duration) (*bytes.Buffer, error) { return func(string, bool, []string, config.Duration) (*bytes.Buffer, error) { - return bytes.NewBuffer([]byte(output)), nil + return bytes.NewBufferString(output), nil } } diff --git a/plugins/inputs/win_perf_counters/win_perf_counters.go b/plugins/inputs/win_perf_counters/win_perf_counters.go index e8a872de2..2b2992a33 100644 --- a/plugins/inputs/win_perf_counters/win_perf_counters.go +++ b/plugins/inputs/win_perf_counters/win_perf_counters.go @@ -357,7 +357,7 @@ func (m *WinPerfCounters) ParseConfig() error { m.Sources = []string{"localhost"} } - if len(m.Object) <= 0 { + if len(m.Object) == 0 { err := errors.New("no performance objects configured") return err } diff --git a/plugins/outputs/sql/sql_test.go b/plugins/outputs/sql/sql_test.go index afa761c1a..f04eb1ab8 100644 --- a/plugins/outputs/sql/sql_test.go +++ b/plugins/outputs/sql/sql_test.go @@ -1,12 +1,12 @@ package sql import ( + "bytes" "fmt" "io" "math/rand" "os" "path/filepath" - "strings" "testing" "time" @@ -230,11 +230,10 @@ func TestMysqlIntegration(t *testing.T) { require.NoError(t, err) require.Equal(t, 0, rc) - bytes, err := io.ReadAll(out) + b, err := io.ReadAll(out) require.NoError(t, err) - fmt.Println(string(bytes)) - return strings.Contains(string(bytes), string(expected)) + return bytes.Contains(b, expected) }, 10*time.Second, 500*time.Millisecond, tc.expectedFile) } } @@ -318,10 +317,10 @@ func TestPostgresIntegration(t *testing.T) { require.NoError(t, err) require.Equal(t, 0, rc) - bytes, err := io.ReadAll(out) + b, err := io.ReadAll(out) require.NoError(t, err) - return strings.Contains(string(bytes), string(expected)) + return bytes.Contains(b, expected) }, 5*time.Second, 500*time.Millisecond) } @@ -402,9 +401,9 @@ func TestClickHouseIntegration(t *testing.T) { "SHOW CREATE TABLE \\\"" + tc.table + "\\\"\"", }) require.NoError(t, err) - bytes, err := io.ReadAll(out) + b, err := io.ReadAll(out) require.NoError(t, err) - return strings.Contains(string(bytes), tc.expected) + return bytes.Contains(b, []byte(tc.expected)) }, 5*time.Second, 500*time.Millisecond) } } diff --git a/plugins/serializers/prometheusremotewrite/prometheusremotewrite_test.go b/plugins/serializers/prometheusremotewrite/prometheusremotewrite_test.go index 53babcf2e..3c3ba2bb3 100644 --- a/plugins/serializers/prometheusremotewrite/prometheusremotewrite_test.go +++ b/plugins/serializers/prometheusremotewrite/prometheusremotewrite_test.go @@ -707,7 +707,7 @@ func prompbToText(data []byte) ([]byte, error) { } samples := protoToSamples(&req) for _, sample := range samples { - buf.Write([]byte(fmt.Sprintf("%s %s\n", sample.Metric.String(), sample.Value.String()))) + buf.WriteString(fmt.Sprintf("%s %s\n", sample.Metric.String(), sample.Value.String())) } return buf.Bytes(), nil diff --git a/tools/readme_config_includer/generator.go b/tools/readme_config_includer/generator.go index 9914e01e4..e2c0b7b96 100644 --- a/tools/readme_config_includer/generator.go +++ b/tools/readme_config_includer/generator.go @@ -225,7 +225,7 @@ func main() { // Copy everything up to the beginning of the block we want to replace and make sure we get a newline output.Write(readme[offset:b.Start]) if !bytes.HasSuffix(output.Bytes(), []byte("\n")) { - output.Write([]byte("\n")) + output.WriteString("\n") } offset = b.Stop