Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
e393c3af3f
commit
4978089aab
4963 changed files with 677545 additions and 0 deletions
104
migrations/global_agent/migration_test.go
Normal file
104
migrations/global_agent/migration_test.go
Normal 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))
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue