test: migrate redis to test-containers (#11174)

This commit is contained in:
Joshua Powers 2022-05-24 09:30:19 -06:00 committed by GitHub
parent dd8dd75824
commit cb9d9fe075
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 8 deletions

View File

@ -56,10 +56,6 @@ services:
ports:
- "15672:15672"
- "5672:5672"
redis:
image: redis:alpine
ports:
- "6379:6379"
nsq:
image: nsqio/nsq
ports:

View File

@ -9,6 +9,7 @@ import (
"github.com/go-redis/redis"
"github.com/stretchr/testify/require"
"github.com/testcontainers/testcontainers-go/wait"
"github.com/influxdata/telegraf/testutil"
)
@ -33,7 +34,18 @@ func TestRedisConnectIntegration(t *testing.T) {
t.Skip("Skipping integration test in short mode")
}
addr := fmt.Sprintf(testutil.GetLocalHost() + ":6379")
container := testutil.Container{
Image: "redis:alpine",
ExposedPorts: []string{"6379"},
WaitingFor: wait.ForListeningPort("6379/tcp"),
}
err := container.Start()
require.NoError(t, err, "failed to start container")
defer func() {
require.NoError(t, container.Terminate(), "terminating container failed")
}()
addr := fmt.Sprintf("%s:%s", container.Address, container.Port)
r := &Redis{
Log: testutil.Logger{},
@ -42,7 +54,7 @@ func TestRedisConnectIntegration(t *testing.T) {
var acc testutil.Accumulator
err := acc.GatherError(r.Gather)
err = acc.GatherError(r.Gather)
require.NoError(t, err)
}

View File

@ -10,6 +10,7 @@ import (
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/testutil"
"github.com/testcontainers/testcontainers-go/wait"
"github.com/stretchr/testify/require"
)
@ -21,7 +22,18 @@ func TestRedisSentinelConnect(t *testing.T) {
t.Skip("Skipping integration test in short mode")
}
addr := fmt.Sprintf("tcp://" + testutil.GetLocalHost() + ":26379")
container := testutil.Container{
Image: "redis:alpine",
ExposedPorts: []string{"6379"},
WaitingFor: wait.ForListeningPort("6379/tcp"),
}
err := container.Start()
require.NoError(t, err, "failed to start container")
defer func() {
require.NoError(t, container.Terminate(), "terminating container failed")
}()
addr := fmt.Sprintf("tcp://%s:%s", container.Address, container.Port)
r := &RedisSentinel{
Servers: []string{addr},
@ -29,7 +41,7 @@ func TestRedisSentinelConnect(t *testing.T) {
var acc testutil.Accumulator
err := acc.GatherError(r.Gather)
err = acc.GatherError(r.Gather)
require.NoError(t, err)
}