1
0
Fork 0

Adding upstream version 1.34.4.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-05-24 07:26:29 +02:00
parent e393c3af3f
commit 4978089aab
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
4963 changed files with 677545 additions and 0 deletions

View file

@ -0,0 +1,104 @@
package global_agent_test
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf/config"
_ "github.com/influxdata/telegraf/migrations/global_agent" // register migration
)
func TestNoMigration(t *testing.T) {
fn := filepath.Join("testcases", "default.conf")
// Read the input data
input, remote, err := config.LoadConfigFile(fn)
require.NoError(t, err)
require.False(t, remote)
require.NotEmpty(t, input)
// Expect the output to be equal to the input
expectedBuffer, err := os.ReadFile(fn)
require.NoError(t, err)
expected := config.NewConfig()
require.NoError(t, expected.LoadConfigData(expectedBuffer, config.EmptySourcePath))
require.NotNil(t, expected.Agent)
// Migrate
output, n, err := config.ApplyMigrations(input)
require.NoError(t, err)
require.NotEmpty(t, output)
require.Zero(t, n)
actual := config.NewConfig()
require.NoError(t, actual.LoadConfigData(output, config.EmptySourcePath))
require.NotNil(t, actual.Agent)
// Test the output
require.EqualValues(t, expected.Agent, actual.Agent, string(output))
require.Equal(t, string(expectedBuffer), string(output))
}
func TestLogTargetEventlogCollision(t *testing.T) {
fn := filepath.Join("testcases", "logtarget_eventlog_collision.conf")
// Read the input data
input, remote, err := config.LoadConfigFile(fn)
require.NoError(t, err)
require.False(t, remote)
require.NotEmpty(t, input)
// Migrate
_, n, err := config.ApplyMigrations(input)
require.ErrorContains(t, err, "contradicting setting for 'logtarget' and 'logformat'")
require.Zero(t, n)
}
func TestCases(t *testing.T) {
// Get all directories in testdata
folders, err := os.ReadDir("testcases")
require.NoError(t, err)
for _, f := range folders {
// Only handle folders
if !f.IsDir() {
continue
}
t.Run(f.Name(), func(t *testing.T) {
testcasePath := filepath.Join("testcases", f.Name())
inputFile := filepath.Join(testcasePath, "telegraf.conf")
expectedFile := filepath.Join(testcasePath, "expected.conf")
// Read the expected output
expected := config.NewConfig()
require.NoError(t, expected.LoadConfig(expectedFile))
require.NotNil(t, expected.Agent)
// Read the input data
input, remote, err := config.LoadConfigFile(inputFile)
require.NoError(t, err)
require.False(t, remote)
require.NotEmpty(t, input)
// Migrate
output, n, err := config.ApplyMigrations(input)
require.NoError(t, err)
require.NotEmpty(t, output)
require.Positive(t, n, "expected migration application but none applied")
actual := config.NewConfig()
require.NoError(t, actual.LoadConfigData(output, config.EmptySourcePath))
require.NotNil(t, actual.Agent)
// Test the output
require.EqualValues(t, expected.Agent, actual.Agent, string(output))
expectedBuffer, err := os.ReadFile(expectedFile)
require.NoError(t, err)
require.Equal(t, string(expectedBuffer), string(output))
})
}
}