Add filepath processor plugin (#7418)
This commit is contained in:
70
plugins/processors/filepath/filepath_test.go
Normal file
70
plugins/processors/filepath/filepath_test.go
Normal file
@@ -0,0 +1,70 @@
|
||||
// +build !windows
|
||||
|
||||
package filepath
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/telegraf"
|
||||
"github.com/influxdata/telegraf/testutil"
|
||||
)
|
||||
|
||||
var samplePath = "/my/test//c/../path/file.log"
|
||||
|
||||
func TestOptions_Apply(t *testing.T) {
|
||||
tests := []testCase{
|
||||
{
|
||||
name: "Smoke Test",
|
||||
o: newOptions("/my/test/"),
|
||||
inputMetrics: getSmokeTestInputMetrics(samplePath),
|
||||
expectedMetrics: []telegraf.Metric{
|
||||
testutil.MustMetric(
|
||||
smokeMetricName,
|
||||
map[string]string{
|
||||
"baseTag": "file.log",
|
||||
"dirTag": "/my/test/path",
|
||||
"stemTag": "file",
|
||||
"cleanTag": "/my/test/path/file.log",
|
||||
"relTag": "path/file.log",
|
||||
"slashTag": "/my/test//c/../path/file.log",
|
||||
},
|
||||
map[string]interface{}{
|
||||
"baseField": "file.log",
|
||||
"dirField": "/my/test/path",
|
||||
"stemField": "file",
|
||||
"cleanField": "/my/test/path/file.log",
|
||||
"relField": "path/file.log",
|
||||
"slashField": "/my/test//c/../path/file.log",
|
||||
},
|
||||
time.Now()),
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Test Dest Option",
|
||||
o: &Options{
|
||||
BaseName: []BaseOpts{
|
||||
{
|
||||
Field: "sourcePath",
|
||||
Tag: "sourcePath",
|
||||
Dest: "basePath",
|
||||
},
|
||||
}},
|
||||
inputMetrics: []telegraf.Metric{
|
||||
testutil.MustMetric(
|
||||
"testMetric",
|
||||
map[string]string{"sourcePath": samplePath},
|
||||
map[string]interface{}{"sourcePath": samplePath},
|
||||
time.Now()),
|
||||
},
|
||||
expectedMetrics: []telegraf.Metric{
|
||||
testutil.MustMetric(
|
||||
"testMetric",
|
||||
map[string]string{"sourcePath": samplePath, "basePath": "file.log"},
|
||||
map[string]interface{}{"sourcePath": samplePath, "basePath": "file.log"},
|
||||
time.Now()),
|
||||
},
|
||||
},
|
||||
}
|
||||
runTestOptionsApply(t, tests)
|
||||
}
|
||||
Reference in New Issue
Block a user