test: Use `t.Setenv` to set env vars (#12621)
This commit is contained in:
parent
aa0b9d7dcf
commit
4d0f05980e
|
|
@ -58,8 +58,8 @@ func TestReadBinaryFile(t *testing.T) {
|
||||||
|
|
||||||
func TestConfig_LoadSingleInputWithEnvVars(t *testing.T) {
|
func TestConfig_LoadSingleInputWithEnvVars(t *testing.T) {
|
||||||
c := NewConfig()
|
c := NewConfig()
|
||||||
require.NoError(t, os.Setenv("MY_TEST_SERVER", "192.168.1.1"))
|
t.Setenv("MY_TEST_SERVER", "192.168.1.1")
|
||||||
require.NoError(t, os.Setenv("TEST_INTERVAL", "10s"))
|
t.Setenv("TEST_INTERVAL", "10s")
|
||||||
require.NoError(t, c.LoadConfig("./testdata/single_plugin_env_vars.toml"))
|
require.NoError(t, c.LoadConfig("./testdata/single_plugin_env_vars.toml"))
|
||||||
|
|
||||||
input := inputs.Inputs["memcached"]().(*MockupInputPlugin)
|
input := inputs.Inputs["memcached"]().(*MockupInputPlugin)
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package config
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/awnumar/memguard"
|
"github.com/awnumar/memguard"
|
||||||
|
|
@ -325,7 +324,7 @@ func TestSecretEnvironmentVariable(t *testing.T) {
|
||||||
[[inputs.mockup]]
|
[[inputs.mockup]]
|
||||||
secret = "$SOME_ENV_SECRET"
|
secret = "$SOME_ENV_SECRET"
|
||||||
`)
|
`)
|
||||||
require.NoError(t, os.Setenv("SOME_ENV_SECRET", "an env secret"))
|
t.Setenv("SOME_ENV_SECRET", "an env secret")
|
||||||
|
|
||||||
c := NewConfig()
|
c := NewConfig()
|
||||||
err := c.LoadConfigData(cfg)
|
err := c.LoadConfigData(cfg)
|
||||||
|
|
|
||||||
|
|
@ -609,7 +609,7 @@ func TestDiskUsageIssues(t *testing.T) {
|
||||||
|
|
||||||
// Get the partitions in the test-case
|
// Get the partitions in the test-case
|
||||||
os.Clearenv()
|
os.Clearenv()
|
||||||
require.NoError(t, os.Setenv("HOST_PROC", hostProcPrefix))
|
t.Setenv("HOST_PROC", hostProcPrefix)
|
||||||
partitions, err := diskUtil.Partitions(true)
|
partitions, err := diskUtil.Partitions(true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package ecs
|
package ecs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
|
@ -774,8 +773,7 @@ func TestResolveEndpoint(t *testing.T) {
|
||||||
name string
|
name string
|
||||||
given Ecs
|
given Ecs
|
||||||
exp Ecs
|
exp Ecs
|
||||||
preF func()
|
setEnv func(*testing.T)
|
||||||
afterF func()
|
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "Endpoint is explicitly set => use v2 metadata",
|
name: "Endpoint is explicitly set => use v2 metadata",
|
||||||
|
|
@ -799,11 +797,8 @@ func TestResolveEndpoint(t *testing.T) {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Endpoint is not set, ECS_CONTAINER_METADATA_URI is set => use v3 metadata",
|
name: "Endpoint is not set, ECS_CONTAINER_METADATA_URI is set => use v3 metadata",
|
||||||
preF: func() {
|
setEnv: func(t *testing.T) {
|
||||||
require.NoError(t, os.Setenv("ECS_CONTAINER_METADATA_URI", "v3-endpoint.local"))
|
t.Setenv("ECS_CONTAINER_METADATA_URI", "v3-endpoint.local")
|
||||||
},
|
|
||||||
afterF: func() {
|
|
||||||
require.NoError(t, os.Unsetenv("ECS_CONTAINER_METADATA_URI"))
|
|
||||||
},
|
},
|
||||||
given: Ecs{
|
given: Ecs{
|
||||||
EndpointURL: "",
|
EndpointURL: "",
|
||||||
|
|
@ -816,11 +811,8 @@ func TestResolveEndpoint(t *testing.T) {
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
if tt.preF != nil {
|
if tt.setEnv != nil {
|
||||||
tt.preF()
|
tt.setEnv(t)
|
||||||
}
|
|
||||||
if tt.afterF != nil {
|
|
||||||
defer tt.afterF()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
act := tt.given
|
act := tt.given
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package shim
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
@ -113,8 +112,8 @@ func (i *testInput) Stop() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLoadConfig(t *testing.T) {
|
func TestLoadConfig(t *testing.T) {
|
||||||
require.NoError(t, os.Setenv("SECRET_TOKEN", "xxxxxxxxxx"))
|
t.Setenv("SECRET_TOKEN", "xxxxxxxxxx")
|
||||||
require.NoError(t, os.Setenv("SECRET_VALUE", `test"\test`))
|
t.Setenv("SECRET_VALUE", `test"\test`)
|
||||||
|
|
||||||
inputs.Add("test", func() telegraf.Input {
|
inputs.Add("test", func() telegraf.Input {
|
||||||
return &serviceInput{}
|
return &serviceInput{}
|
||||||
|
|
|
||||||
|
|
@ -140,10 +140,8 @@ func testMain(t *testing.T, code string, endpoint string, serverType ServerType)
|
||||||
currentWorkingDirectory, err := os.Getwd()
|
currentWorkingDirectory, err := os.Getwd()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
envPathOrigin := os.Getenv("PATH")
|
|
||||||
// Refer to the fake snmpwalk
|
// Refer to the fake snmpwalk
|
||||||
require.NoError(t, os.Setenv("PATH", currentWorkingDirectory))
|
t.Setenv("PATH", currentWorkingDirectory)
|
||||||
defer os.Setenv("PATH", envPathOrigin)
|
|
||||||
|
|
||||||
l := &LeoFS{
|
l := &LeoFS{
|
||||||
Servers: []string{endpoint},
|
Servers: []string{endpoint},
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,15 @@ package prometheus
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/influxdata/telegraf/config"
|
|
||||||
"math"
|
"math"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/influxdata/telegraf/config"
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
|
|
||||||
|
|
@ -413,30 +413,35 @@ func TestInitConfigErrors(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Both invalid IP addresses
|
// Both invalid IP addresses
|
||||||
p.NodeIP = "10.240.0.0.0"
|
t.Run("Both invalid IP addresses", func(t *testing.T) {
|
||||||
require.NoError(t, os.Setenv("NODE_IP", "10.000.0.0.0"))
|
p.NodeIP = "10.240.0.0.0"
|
||||||
err := p.Init()
|
t.Setenv("NODE_IP", "10.000.0.0.0")
|
||||||
require.Error(t, err)
|
err := p.Init()
|
||||||
expectedMessage := "the node_ip config and the environment variable NODE_IP are not set or invalid; " +
|
require.Error(t, err)
|
||||||
"cannot get pod list for monitor_kubernetes_pods using node scrape scope"
|
expectedMessage := "the node_ip config and the environment variable NODE_IP are not set or invalid; " +
|
||||||
require.Equal(t, expectedMessage, err.Error())
|
"cannot get pod list for monitor_kubernetes_pods using node scrape scope"
|
||||||
require.NoError(t, os.Setenv("NODE_IP", "10.000.0.0"))
|
require.Equal(t, expectedMessage, err.Error())
|
||||||
|
})
|
||||||
|
|
||||||
p.KubernetesLabelSelector = "label0==label0, label0 in (=)"
|
t.Run("Valid IP address", func(t *testing.T) {
|
||||||
err = p.Init()
|
t.Setenv("NODE_IP", "10.000.0.0")
|
||||||
expectedMessage = "error parsing the specified label selector(s): unable to parse requirement: found '=', expected: ',', ')' or identifier"
|
|
||||||
require.Error(t, err, expectedMessage)
|
|
||||||
p.KubernetesLabelSelector = "label0==label"
|
|
||||||
|
|
||||||
p.KubernetesFieldSelector = "field,"
|
p.KubernetesLabelSelector = "label0==label0, label0 in (=)"
|
||||||
err = p.Init()
|
err := p.Init()
|
||||||
expectedMessage = "error parsing the specified field selector(s): invalid selector: 'field,'; can't understand 'field'"
|
expectedMessage := "error parsing the specified label selector(s): unable to parse requirement: found '=', expected: ',', ')' or identifier"
|
||||||
require.Error(t, err, expectedMessage)
|
require.Error(t, err, expectedMessage)
|
||||||
|
p.KubernetesLabelSelector = "label0==label"
|
||||||
|
|
||||||
p.KubernetesFieldSelector = "spec.containerNames=containerNames"
|
p.KubernetesFieldSelector = "field,"
|
||||||
err = p.Init()
|
err = p.Init()
|
||||||
expectedMessage = "the field selector spec.containerNames is not supported for pods"
|
expectedMessage = "error parsing the specified field selector(s): invalid selector: 'field,'; can't understand 'field'"
|
||||||
require.Error(t, err, expectedMessage)
|
require.Error(t, err, expectedMessage)
|
||||||
|
|
||||||
|
p.KubernetesFieldSelector = "spec.containerNames=containerNames"
|
||||||
|
err = p.Init()
|
||||||
|
expectedMessage = "the field selector spec.containerNames is not supported for pods"
|
||||||
|
require.Error(t, err, expectedMessage)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInitConfigSelectors(t *testing.T) {
|
func TestInitConfigSelectors(t *testing.T) {
|
||||||
|
|
|
||||||
|
|
@ -8,26 +8,32 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestDockerHost(t *testing.T) {
|
func TestDockerHost(t *testing.T) {
|
||||||
err := os.Unsetenv("DOCKER_HOST")
|
t.Run("no DOCKER_HOST set", func(t *testing.T) {
|
||||||
require.NoError(t, err)
|
err := os.Unsetenv("DOCKER_HOST")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
host := GetLocalHost()
|
host := GetLocalHost()
|
||||||
|
|
||||||
if host != localhost {
|
if host != localhost {
|
||||||
t.Fatalf("Host should be localhost when DOCKER_HOST is not set. Current value [%s]", host)
|
t.Fatalf("Host should be localhost when DOCKER_HOST is not set. Current value [%s]", host)
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
|
||||||
t.Setenv("DOCKER_HOST", "1.1.1.1")
|
t.Run("DOCKER_HOST with IP address only", func(t *testing.T) {
|
||||||
host = GetLocalHost()
|
t.Setenv("DOCKER_HOST", "1.1.1.1")
|
||||||
|
|
||||||
if host != "1.1.1.1" {
|
host := GetLocalHost()
|
||||||
t.Fatalf("Host should take DOCKER_HOST value when set. Current value is [%s] and DOCKER_HOST is [%s]", host, os.Getenv("DOCKER_HOST"))
|
if host != "1.1.1.1" {
|
||||||
}
|
t.Fatalf("Host should take DOCKER_HOST value when set. Current value is [%s] and DOCKER_HOST is [%s]", host, os.Getenv("DOCKER_HOST"))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
t.Setenv("DOCKER_HOST", "tcp://1.1.1.1:8080")
|
t.Run("DOCKER_HOST with protocol, IP address, and port", func(t *testing.T) {
|
||||||
host = GetLocalHost()
|
t.Setenv("DOCKER_HOST", "tcp://1.1.1.1:8080")
|
||||||
|
|
||||||
if host != "1.1.1.1" {
|
host := GetLocalHost()
|
||||||
t.Fatalf("Host should take DOCKER_HOST value when set. Current value is [%s] and DOCKER_HOST is [%s]", host, os.Getenv("DOCKER_HOST"))
|
if host != "1.1.1.1" {
|
||||||
}
|
t.Fatalf("Host should take DOCKER_HOST value when set. Current value is [%s] and DOCKER_HOST is [%s]", host, os.Getenv("DOCKER_HOST"))
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue