| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | package nebulaimport (	"testing"	"time"	"github.com/slackhq/nebula/config"	"github.com/slackhq/nebula/test"	"github.com/stretchr/testify/assert"	"github.com/stretchr/testify/require")func TestNewPunchyFromConfig(t *testing.T) {	l := test.NewLogger()	c := config.NewC(l)	// Test defaults	p := NewPunchyFromConfig(l, c)	assert.False(t, p.GetPunch())	assert.False(t, p.GetRespond())	assert.Equal(t, time.Second, p.GetDelay())	assert.Equal(t, 5*time.Second, p.GetRespondDelay())	// punchy deprecation	c.Settings["punchy"] = true	p = NewPunchyFromConfig(l, c)	assert.True(t, p.GetPunch())	// punchy.punch	c.Settings["punchy"] = map[string]any{"punch": true}	p = NewPunchyFromConfig(l, c)	assert.True(t, p.GetPunch())	// punch_back deprecation	c.Settings["punch_back"] = true	p = NewPunchyFromConfig(l, c)	assert.True(t, p.GetRespond())	// punchy.respond	c.Settings["punchy"] = map[string]any{"respond": true}	c.Settings["punch_back"] = false	p = NewPunchyFromConfig(l, c)	assert.True(t, p.GetRespond())	// punchy.delay	c.Settings["punchy"] = map[string]any{"delay": "1m"}	p = NewPunchyFromConfig(l, c)	assert.Equal(t, time.Minute, p.GetDelay())	// punchy.respond_delay	c.Settings["punchy"] = map[string]any{"respond_delay": "1m"}	p = NewPunchyFromConfig(l, c)	assert.Equal(t, time.Minute, p.GetRespondDelay())}func TestPunchy_reload(t *testing.T) {	l := test.NewLogger()	c := config.NewC(l)	delay, _ := time.ParseDuration("1m")	require.NoError(t, c.LoadString(`punchy:  delay: 1m  respond: false`))	p := NewPunchyFromConfig(l, c)	assert.Equal(t, delay, p.GetDelay())	assert.False(t, p.GetRespond())	newDelay, _ := time.ParseDuration("10m")	require.NoError(t, c.ReloadConfigString(`punchy:  delay: 10m  respond: true`))	p.reload(c, false)	assert.Equal(t, newDelay, p.GetDelay())	assert.True(t, p.GetRespond())}
 |