From c2c9d0725fbf260f11aa825cf07e2460ed5ca28c Mon Sep 17 00:00:00 2001 From: Joachim Bauch Date: Tue, 3 Feb 2026 08:31:41 +0100 Subject: [PATCH] Add test for reloading etcd token configuration. --- cmd/proxy/proxy_tokens_etcd_test.go | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/cmd/proxy/proxy_tokens_etcd_test.go b/cmd/proxy/proxy_tokens_etcd_test.go index 32a44e8..aba5a5b 100644 --- a/cmd/proxy/proxy_tokens_etcd_test.go +++ b/cmd/proxy/proxy_tokens_etcd_test.go @@ -153,3 +153,34 @@ func TestProxyTokensEtcd(t *testing.T) { assert.True(key2.PublicKey.Equal(token.key)) } } + +func TestProxyTokensEtcdReload(t *testing.T) { + t.Parallel() + assert := assert.New(t) + tokens, etcd := newTokensEtcdForTesting(t) + + key1 := generateAndSaveKey(t, etcd, "/foo") + + if token, err := tokens.Get("foo"); assert.NoError(err) && assert.NotNil(token) { + assert.True(key1.PublicKey.Equal(token.key)) + } + + if token, err := tokens.Get("bar"); assert.NoError(err) { + assert.Nil(token) + } + + cfg := goconf.NewConfigFile() + cfg.AddOption("etcd", "endpoints", etcd.Config().ListenClientUrls[0].String()) + cfg.AddOption("tokens", "keyformat", "/reload/%s/key") + + tokens.Reload(cfg) + key2 := generateAndSaveKey(t, etcd, "/reload/bar/key") + + if token, err := tokens.Get("foo"); assert.NoError(err) { + assert.Nil(token) + } + + if token, err := tokens.Get("bar"); assert.NoError(err) && assert.NotNil(token) { + assert.True(key2.PublicKey.Equal(token.key)) + } +}