Update naoina/toml library dependency (#5513)
This commit is contained in:
parent
af8137eab7
commit
32f0cb16f5
|
@ -654,15 +654,15 @@
|
||||||
revision = "c43482518d410361b6c383d7aebce33d0471d7bc"
|
revision = "c43482518d410361b6c383d7aebce33d0471d7bc"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "telegraf"
|
||||||
digest = "1:7fb6cc9607eaa6ef309edebc42b57f704244bd4b9ab23bff128829c4ad09b95d"
|
digest = "1:65e98c3d449a34fe4644b503148d3a7244ceabe13f8bf71c2cfecfc2bdce05e9"
|
||||||
name = "github.com/influxdata/toml"
|
name = "github.com/influxdata/toml"
|
||||||
packages = [
|
packages = [
|
||||||
".",
|
".",
|
||||||
"ast",
|
"ast",
|
||||||
]
|
]
|
||||||
pruneopts = ""
|
pruneopts = ""
|
||||||
revision = "2a2e3012f7cfbef64091cc79776311e65dfa211b"
|
revision = "270119a8ce653b297f12189c9099ef1409979f2b"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
|
|
|
@ -80,7 +80,7 @@
|
||||||
|
|
||||||
[[constraint]]
|
[[constraint]]
|
||||||
name = "github.com/influxdata/toml"
|
name = "github.com/influxdata/toml"
|
||||||
branch = "master"
|
branch = "telegraf"
|
||||||
|
|
||||||
[[constraint]]
|
[[constraint]]
|
||||||
name = "github.com/influxdata/wlog"
|
name = "github.com/influxdata/wlog"
|
||||||
|
|
|
@ -5,13 +5,17 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/influxdata/telegraf/internal"
|
||||||
"github.com/influxdata/telegraf/internal/models"
|
"github.com/influxdata/telegraf/internal/models"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs"
|
"github.com/influxdata/telegraf/plugins/inputs"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs/exec"
|
"github.com/influxdata/telegraf/plugins/inputs/exec"
|
||||||
|
"github.com/influxdata/telegraf/plugins/inputs/http_listener_v2"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs/memcached"
|
"github.com/influxdata/telegraf/plugins/inputs/memcached"
|
||||||
"github.com/influxdata/telegraf/plugins/inputs/procstat"
|
"github.com/influxdata/telegraf/plugins/inputs/procstat"
|
||||||
|
httpOut "github.com/influxdata/telegraf/plugins/outputs/http"
|
||||||
"github.com/influxdata/telegraf/plugins/parsers"
|
"github.com/influxdata/telegraf/plugins/parsers"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestConfig_LoadSingleInputWithEnvVars(t *testing.T) {
|
func TestConfig_LoadSingleInputWithEnvVars(t *testing.T) {
|
||||||
|
@ -176,3 +180,74 @@ func TestConfig_LoadDirectory(t *testing.T) {
|
||||||
assert.Equal(t, pConfig, c.Inputs[3].Config,
|
assert.Equal(t, pConfig, c.Inputs[3].Config,
|
||||||
"Merged Testdata did not produce correct procstat metadata.")
|
"Merged Testdata did not produce correct procstat metadata.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConfig_LoadSpecialTypes(t *testing.T) {
|
||||||
|
c := NewConfig()
|
||||||
|
err := c.LoadConfig("./testdata/special_types.toml")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
require.Equal(t, 1, len(c.Inputs))
|
||||||
|
|
||||||
|
inputHTTPListener, ok := c.Inputs[0].Input.(*http_listener_v2.HTTPListenerV2)
|
||||||
|
assert.Equal(t, true, ok)
|
||||||
|
// Tests telegraf duration parsing.
|
||||||
|
assert.Equal(t, internal.Duration{Duration: time.Second}, inputHTTPListener.WriteTimeout)
|
||||||
|
// Tests telegraf size parsing.
|
||||||
|
assert.Equal(t, internal.Size{Size: 1024 * 1024}, inputHTTPListener.MaxBodySize)
|
||||||
|
// Tests toml multiline basic strings.
|
||||||
|
assert.Equal(t, "/path/to/my/cert\n", inputHTTPListener.TLSCert)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfig_FieldNotDefined(t *testing.T) {
|
||||||
|
c := NewConfig()
|
||||||
|
err := c.LoadConfig("./testdata/invalid_field.toml")
|
||||||
|
require.Error(t, err, "invalid field name")
|
||||||
|
assert.Equal(t, "Error parsing ./testdata/invalid_field.toml, line 2: field corresponding to `not_a_field' is not defined in http_listener_v2.HTTPListenerV2", err.Error())
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfig_WrongFieldType(t *testing.T) {
|
||||||
|
c := NewConfig()
|
||||||
|
err := c.LoadConfig("./testdata/wrong_field_type.toml")
|
||||||
|
require.Error(t, err, "invalid field type")
|
||||||
|
assert.Equal(t, "Error parsing ./testdata/wrong_field_type.toml, line 2: (http_listener_v2.HTTPListenerV2.Port) cannot unmarshal TOML string into int", err.Error())
|
||||||
|
|
||||||
|
c = NewConfig()
|
||||||
|
err = c.LoadConfig("./testdata/wrong_field_type2.toml")
|
||||||
|
require.Error(t, err, "invalid field type2")
|
||||||
|
assert.Equal(t, "Error parsing ./testdata/wrong_field_type2.toml, line 2: (http_listener_v2.HTTPListenerV2.Methods) cannot unmarshal TOML string into []string", err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfig_InlineTables(t *testing.T) {
|
||||||
|
// #4098
|
||||||
|
c := NewConfig()
|
||||||
|
err := c.LoadConfig("./testdata/inline_table.toml")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
require.Equal(t, 2, len(c.Outputs))
|
||||||
|
|
||||||
|
outputHTTP, ok := c.Outputs[1].Output.(*httpOut.HTTP)
|
||||||
|
assert.Equal(t, true, ok)
|
||||||
|
assert.Equal(t, map[string]string{"Authorization": "Token $TOKEN", "Content-Type": "application/json"}, outputHTTP.Headers)
|
||||||
|
assert.Equal(t, []string{"org_id"}, c.Outputs[0].Config.Filter.TagInclude)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfig_SliceComment(t *testing.T) {
|
||||||
|
t.Skipf("Skipping until #3642 is resolved")
|
||||||
|
|
||||||
|
c := NewConfig()
|
||||||
|
err := c.LoadConfig("./testdata/slice_comment.toml")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
require.Equal(t, 1, len(c.Outputs))
|
||||||
|
|
||||||
|
outputHTTP, ok := c.Outputs[0].Output.(*httpOut.HTTP)
|
||||||
|
assert.Equal(t, []string{"test"}, outputHTTP.Scopes)
|
||||||
|
assert.Equal(t, true, ok)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConfig_BadOrdering(t *testing.T) {
|
||||||
|
// #3444: when not using inline tables, care has to be taken so subsequent configuration
|
||||||
|
// doesn't become part of the table. This is not a bug, but TOML syntax.
|
||||||
|
c := NewConfig()
|
||||||
|
err := c.LoadConfig("./testdata/non_slice_slice.toml")
|
||||||
|
require.Error(t, err, "bad ordering")
|
||||||
|
assert.Equal(t, "Error parsing ./testdata/non_slice_slice.toml, line 4: cannot unmarshal TOML array into string (need slice)", err.Error())
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
[[outputs.http]]
|
||||||
|
headers = { Authorization = "Token $TOKEN",Content-Type = "application/json" }
|
||||||
|
taginclude = ["org_id"]
|
||||||
|
|
||||||
|
[[outputs.http]]
|
||||||
|
headers = { Authorization = "Token $TOKEN",Content-Type = "application/json" }
|
||||||
|
taginclude = ["org_id"]
|
|
@ -0,0 +1,2 @@
|
||||||
|
[[inputs.http_listener_v2]]
|
||||||
|
not_a_field = true
|
|
@ -0,0 +1,4 @@
|
||||||
|
[[outputs.http]]
|
||||||
|
[outputs.http.headers]
|
||||||
|
Content-Type = "application/json"
|
||||||
|
taginclude = ["org_id"]
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[outputs.http]]
|
||||||
|
scopes = [
|
||||||
|
# comment
|
||||||
|
"test" # comment
|
||||||
|
]
|
|
@ -0,0 +1,9 @@
|
||||||
|
[[inputs.http_listener_v2]]
|
||||||
|
write_timeout = "1s"
|
||||||
|
max_body_size = "1MiB"
|
||||||
|
tls_cert = """
|
||||||
|
/path/to/my/cert
|
||||||
|
"""
|
||||||
|
tls_key = '''
|
||||||
|
/path/to/my/key
|
||||||
|
'''
|
|
@ -0,0 +1,2 @@
|
||||||
|
[[inputs.http_listener_v2]]
|
||||||
|
port = "80"
|
|
@ -0,0 +1,2 @@
|
||||||
|
[[inputs.http_listener_v2]]
|
||||||
|
methods = "POST"
|
Loading…
Reference in New Issue