...

Source file src/github.com/launchdarkly/go-server-sdk-redis-redigo/v2/redis_logging_test.go

Documentation: github.com/launchdarkly/go-server-sdk-redis-redigo/v2

     1  package ldredis
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/launchdarkly/go-sdk-common/v3/ldlog"
     7  	"github.com/launchdarkly/go-sdk-common/v3/ldlogtest"
     8  	"github.com/launchdarkly/go-server-sdk/v6/subsystems"
     9  
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func doStartupLoggingTest(t *testing.T, url string, expectedLogURL string) {
    14  	mockLog1 := ldlogtest.NewMockLog()
    15  	mockLog2 := ldlogtest.NewMockLog()
    16  	defer mockLog1.DumpIfTestFailed(t)
    17  	defer mockLog2.DumpIfTestFailed(t)
    18  	var context1, context2 subsystems.BasicClientContext
    19  	context1.Logging.Loggers = mockLog1.Loggers
    20  	context2.Logging.Loggers = mockLog2.Loggers
    21  
    22  	store1, err := DataStore().URL(url).Build(context1)
    23  	require.NoError(t, err)
    24  	_ = store1.Close()
    25  	mockLog1.AssertMessageMatch(t, true, ldlog.Info, "Using URL: "+expectedLogURL)
    26  
    27  	store2, err := DataStore().URL(url).Build(context2)
    28  	require.NoError(t, err)
    29  	_ = store2.Close()
    30  	mockLog2.AssertMessageMatch(t, true, ldlog.Info, "Using URL: "+expectedLogURL)
    31  }
    32  
    33  func TestURLAppearsInLogAtStartup(t *testing.T) {
    34  	doStartupLoggingTest(t, "redis://localhost:6379", "redis://localhost:6379")
    35  	doStartupLoggingTest(t, "redis://localhost:6379/1", "redis://localhost:6379/1")
    36  }
    37  
    38  func TestURLPasswordIsObfuscatedInLog(t *testing.T) {
    39  	doStartupLoggingTest(t, "redis://username@localhost:6379", "redis://username@localhost:6379")
    40  	doStartupLoggingTest(t, "redis://username:very-secret-password@localhost:6379", "redis://username:xxxxx@localhost:6379")
    41  }
    42  

View as plain text