diff --git a/pkg/stanza/operator/parser/keyvalue/config_test.go b/pkg/stanza/operator/parser/keyvalue/config_test.go index a66786568d6c..82c16359dcf6 100644 --- a/pkg/stanza/operator/parser/keyvalue/config_test.go +++ b/pkg/stanza/operator/parser/keyvalue/config_test.go @@ -14,6 +14,7 @@ package keyvalue import ( + "path/filepath" "testing" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/entry" @@ -22,92 +23,86 @@ import ( ) func TestConfig(t *testing.T) { - cases := []operatortest.ConfigUnmarshalTest{ - { - Name: "default", - Expect: defaultCfg(), + operatortest.ConfigUnmarshalTests{ + DefaultConfig: NewConfig(), + TestsFile: filepath.Join(".", "testdata", "config.yaml"), + Tests: []operatortest.ConfigUnmarshalTest{ + { + Name: "default", + Expect: NewConfig(), + }, + { + Name: "parse_from_simple", + Expect: func() *Config { + cfg := NewConfig() + cfg.ParseFrom = entry.NewBodyField("from") + return cfg + }(), + }, + { + Name: "parse_to_simple", + Expect: func() *Config { + cfg := NewConfig() + cfg.ParseTo = entry.NewBodyField("log") + return cfg + }(), + }, + { + Name: "on_error_drop", + Expect: func() *Config { + cfg := NewConfig() + cfg.OnError = "drop" + return cfg + }(), + }, + { + Name: "timestamp", + Expect: func() *Config { + cfg := NewConfig() + parseField := entry.NewBodyField("timestamp_field") + newTime := helper.TimeParser{ + LayoutType: "strptime", + Layout: "%Y-%m-%d", + ParseFrom: &parseField, + } + cfg.TimeParser = &newTime + return cfg + }(), + }, + { + Name: "severity", + Expect: func() *Config { + cfg := NewConfig() + parseField := entry.NewBodyField("severity_field") + severityField := helper.NewSeverityConfig() + severityField.ParseFrom = &parseField + mapping := map[interface{}]interface{}{ + "critical": "5xx", + "error": "4xx", + "info": "3xx", + "debug": "2xx", + } + severityField.Mapping = mapping + cfg.Config = &severityField + return cfg + }(), + }, + { + Name: "delimiter", + Expect: func() *Config { + cfg := NewConfig() + cfg.Delimiter = ";" + return cfg + }(), + }, + { + Name: "pair_delimiter", + Expect: func() *Config { + cfg := NewConfig() + cfg.PairDelimiter = ";" + return cfg + }(), + }, }, - { - Name: "parse_from_simple", - Expect: func() *Config { - cfg := defaultCfg() - cfg.ParseFrom = entry.NewBodyField("from") - return cfg - }(), - }, - { - Name: "parse_to_simple", - Expect: func() *Config { - cfg := defaultCfg() - cfg.ParseTo = entry.NewBodyField("log") - return cfg - }(), - }, - { - Name: "on_error_drop", - Expect: func() *Config { - cfg := defaultCfg() - cfg.OnError = "drop" - return cfg - }(), - }, - { - Name: "timestamp", - Expect: func() *Config { - cfg := defaultCfg() - parseField := entry.NewBodyField("timestamp_field") - newTime := helper.TimeParser{ - LayoutType: "strptime", - Layout: "%Y-%m-%d", - ParseFrom: &parseField, - } - cfg.TimeParser = &newTime - return cfg - }(), - }, - { - Name: "severity", - Expect: func() *Config { - cfg := defaultCfg() - parseField := entry.NewBodyField("severity_field") - severityField := helper.NewSeverityConfig() - severityField.ParseFrom = &parseField - mapping := map[interface{}]interface{}{ - "critical": "5xx", - "error": "4xx", - "info": "3xx", - "debug": "2xx", - } - severityField.Mapping = mapping - cfg.Config = &severityField - return cfg - }(), - }, - { - Name: "delimiter", - Expect: func() *Config { - cfg := defaultCfg() - cfg.Delimiter = ";" - return cfg - }(), - }, - { - Name: "pair_delimiter", - Expect: func() *Config { - cfg := defaultCfg() - cfg.PairDelimiter = ";" - return cfg - }(), - }, - } - - for _, tc := range cases { - t.Run(tc.Name, func(t *testing.T) { - tc.RunDeprecated(t, defaultCfg()) - }) - } -} - -func defaultCfg() *Config { - return NewConfig() + }.Run(t) } diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/config.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/config.yaml new file mode 100644 index 000000000000..62066f7b9603 --- /dev/null +++ b/pkg/stanza/operator/parser/keyvalue/testdata/config.yaml @@ -0,0 +1,32 @@ +default: + type: key_value_parser +delimiter: + type: key_value_parser + delimiter: ";" +on_error_drop: + type: key_value_parser + on_error: drop +pair_delimiter: + type: key_value_parser + pair_delimiter: ";" +parse_from_simple: + type: key_value_parser + parse_from: body.from +parse_to_simple: + type: key_value_parser + parse_to: body.log +severity: + type: key_value_parser + severity: + parse_from: body.severity_field + mapping: + critical: 5xx + error: 4xx + info: 3xx + debug: 2xx +timestamp: + type: key_value_parser + timestamp: + parse_from: body.timestamp_field + layout_type: strptime + layout: '%Y-%m-%d' diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/default.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/default.yaml deleted file mode 100644 index ef7be79c621d..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/default.yaml +++ /dev/null @@ -1 +0,0 @@ - type: key_value_parser diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/delimiter.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/delimiter.yaml deleted file mode 100644 index 357313e45fd4..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/delimiter.yaml +++ /dev/null @@ -1,2 +0,0 @@ -type: key_value_parser -delimiter: ";" diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/on_error_drop.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/on_error_drop.yaml deleted file mode 100644 index 570c4189a950..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/on_error_drop.yaml +++ /dev/null @@ -1,2 +0,0 @@ -type: key_value_parser -on_error: drop diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/pair_delimiter.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/pair_delimiter.yaml deleted file mode 100644 index c298f87dcdd0..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/pair_delimiter.yaml +++ /dev/null @@ -1,2 +0,0 @@ -type: key_value_parser -pair_delimiter: ";" diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/parse_from_simple.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/parse_from_simple.yaml deleted file mode 100644 index d48cbb8e50f4..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/parse_from_simple.yaml +++ /dev/null @@ -1,2 +0,0 @@ -type: key_value_parser -parse_from: body.from diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/parse_to_simple.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/parse_to_simple.yaml deleted file mode 100644 index 68bf226585df..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/parse_to_simple.yaml +++ /dev/null @@ -1,2 +0,0 @@ -type: key_value_parser -parse_to: body.log diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/severity.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/severity.yaml deleted file mode 100644 index 8670cd425b15..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/severity.yaml +++ /dev/null @@ -1,8 +0,0 @@ -type: key_value_parser -severity: - parse_from: body.severity_field - mapping: - critical: 5xx - error: 4xx - info: 3xx - debug: 2xx diff --git a/pkg/stanza/operator/parser/keyvalue/testdata/timestamp.yaml b/pkg/stanza/operator/parser/keyvalue/testdata/timestamp.yaml deleted file mode 100644 index 50d7bf3baa8d..000000000000 --- a/pkg/stanza/operator/parser/keyvalue/testdata/timestamp.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: key_value_parser -timestamp: - parse_from: body.timestamp_field - layout_type: strptime - layout: '%Y-%m-%d'