Merge pull request #2101 from vmware-tanzu/jtc/plog-testlogger-returns-buffer

plog.TestLogger returns a buffer instead of taking one in
This commit is contained in:
Ryan Richard
2024-11-08 14:08:15 -08:00
committed by GitHub
21 changed files with 76 additions and 110 deletions

14
go.mod
View File

@@ -43,12 +43,12 @@ require (
github.com/tdewolff/minify/v2 v2.21.1
go.uber.org/mock v0.5.0
go.uber.org/zap v1.27.0
golang.org/x/crypto v0.28.0
golang.org/x/net v0.30.0
golang.org/x/oauth2 v0.23.0
golang.org/x/sync v0.8.0
golang.org/x/term v0.25.0
golang.org/x/text v0.19.0
golang.org/x/crypto v0.29.0
golang.org/x/net v0.31.0
golang.org/x/oauth2 v0.24.0
golang.org/x/sync v0.9.0
golang.org/x/term v0.26.0
golang.org/x/text v0.20.0
k8s.io/api v0.31.2
k8s.io/apiextensions-apiserver v0.31.2
k8s.io/apimachinery v0.31.2
@@ -162,7 +162,7 @@ require (
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
golang.org/x/mod v0.20.0 // indirect
golang.org/x/sys v0.26.0 // indirect
golang.org/x/sys v0.27.0 // indirect
golang.org/x/time v0.4.0 // indirect
golang.org/x/tools v0.24.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 // indirect

28
go.sum
View File

@@ -680,8 +680,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -766,8 +766,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo=
golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -777,8 +777,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -793,8 +793,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ=
golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -851,8 +851,8 @@ golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -862,8 +862,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -875,8 +875,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

View File

@@ -4,4 +4,4 @@ go 1.22.0
toolchain go1.23.3
require golang.org/x/mod v0.21.0
require golang.org/x/mod v0.22.0

View File

@@ -1,2 +1,2 @@
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=

View File

@@ -4,14 +4,12 @@
package apicerts
import (
"bytes"
"context"
"crypto/ecdsa"
"crypto/elliptic"
"crypto/rand"
"crypto/x509"
"errors"
"io"
"strings"
"testing"
"time"
@@ -96,6 +94,8 @@ func TestExpirerControllerFilters(t *testing.T) {
0,
).Core().V1().Secrets()
withInformer := testutil.NewObservableWithInformerOption()
logger, _ := plog.TestLogger(t)
_ = NewCertsExpirerController(
test.namespace,
certsSecretResourceName,
@@ -104,7 +104,7 @@ func TestExpirerControllerFilters(t *testing.T) {
withInformer.WithInformer,
0, // renewBefore, not needed
"", // not needed
plog.TestLogger(t, io.Discard),
logger,
)
unrelated := corev1.Secret{}
@@ -256,7 +256,7 @@ func TestExpirerControllerSync(t *testing.T) {
0,
)
var log bytes.Buffer
logger, log := plog.TestLogger(t)
c := NewCertsExpirerController(
namespace,
@@ -266,7 +266,7 @@ func TestExpirerControllerSync(t *testing.T) {
controllerlib.WithInformer,
test.renewBefore,
fakeTestKey,
plog.TestLogger(t, &log),
logger,
)
// Must start informers before calling TestRunSynchronously().

View File

@@ -4,7 +4,6 @@
package cachecleaner
import (
"bytes"
"context"
"testing"
@@ -146,8 +145,7 @@ func TestController(t *testing.T) {
}
webhooks := informers.Authentication().V1alpha1().WebhookAuthenticators()
jwtAuthenticators := informers.Authentication().V1alpha1().JWTAuthenticators()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
controller := New(cache, webhooks, jwtAuthenticators, logger)

View File

@@ -4,7 +4,6 @@
package jwtcachefiller
import (
"bytes"
"context"
"crypto/ecdsa"
"crypto/elliptic"
@@ -2414,8 +2413,7 @@ func TestController(t *testing.T) {
kubeInformers := kubeinformers.NewSharedInformerFactory(kubernetesfake.NewSimpleClientset(tt.secretsAndConfigMaps...), 0)
cache := authncache.New()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
if tt.cache != nil {
tt.cache(t, cache, tt.wantClose)
@@ -2892,8 +2890,7 @@ func TestControllerFilterSecret(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
nowDoesntMatter := time.Date(1122, time.September, 33, 4, 55, 56, 778899, time.Local)
frozenClock := clocktesting.NewFakeClock(nowDoesntMatter)
@@ -2953,8 +2950,7 @@ func TestControllerFilterConfigMap(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
nowDoesntMatter := time.Date(1122, time.September, 33, 4, 55, 56, 778899, time.Local)
frozenClock := clocktesting.NewFakeClock(nowDoesntMatter)

View File

@@ -4,7 +4,6 @@
package webhookcachefiller
import (
"bytes"
"context"
"crypto/tls"
"encoding/base64"
@@ -2128,8 +2127,7 @@ func TestController(t *testing.T) {
kubeInformers := kubeinformers.NewSharedInformerFactory(kubernetesfake.NewSimpleClientset(tt.secretsAndConfigMaps...), 0)
cache := authncache.New()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
if tt.cache != nil {
tt.cache(t, cache)
@@ -2375,8 +2373,7 @@ func TestControllerFilterSecret(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
nowDoesntMatter := time.Date(1122, time.September, 33, 4, 55, 56, 778899, time.Local)
frozenClock := clocktesting.NewFakeClock(nowDoesntMatter)
@@ -2439,8 +2436,7 @@ func TestControllerFilterConfigMap(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
nowDoesntMatter := time.Date(1122, time.September, 33, 4, 55, 56, 778899, time.Local)
frozenClock := clocktesting.NewFakeClock(nowDoesntMatter)

View File

@@ -4,7 +4,6 @@
package conditionsutil
import (
"bytes"
"strings"
"testing"
"time"
@@ -167,8 +166,7 @@ func TestMergeIDPConditions(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
result := MergeConditions(
test.newConditions,

View File

@@ -4,7 +4,6 @@
package impersonatorconfig
import (
"bytes"
"context"
"crypto/tls"
"crypto/x509"
@@ -75,8 +74,7 @@ func TestImpersonatorConfigControllerOptions(t *testing.T) {
servicesInformer := sharedInformerFactory.Core().V1().Services()
secretsInformer := sharedInformerFactory.Core().V1().Secrets()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
_ = NewImpersonatorConfigController(
installedInNamespace,
@@ -569,8 +567,7 @@ func TestImpersonatorConfigControllerSync(t *testing.T) {
// Defer starting the informers until the last possible moment so that the
// nested Before's can keep adding things to the informer caches.
var startInformersAndController = func() {
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
// Set this at the last second to allow for injection of server override.
subject = NewImpersonatorConfigController(

View File

@@ -4,7 +4,6 @@
package kubecertagent
import (
"bytes"
"context"
"fmt"
"slices"
@@ -1156,8 +1155,7 @@ func TestAgentController(t *testing.T) {
kubeInformers := informers.NewSharedInformerFactory(kubeClientset, 0)
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
ctrl := gomock.NewController(t)
defer ctrl.Finish()

View File

@@ -4,7 +4,6 @@
package kubecertagent
import (
"bytes"
"context"
"fmt"
"testing"
@@ -149,8 +148,7 @@ func TestLegacyPodCleanerController(t *testing.T) {
}
kubeInformers := informers.NewSharedInformerFactory(kubeClientset, 0)
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
controller := NewLegacyPodCleanerController(
AgentConfig{
Namespace: "concierge",

View File

@@ -4,7 +4,6 @@
package serviceaccounttokencleanup
import (
"bytes"
"context"
"errors"
"testing"
@@ -29,14 +28,14 @@ func TestNewServiceAccountTokenCleanupController(t *testing.T) {
observableWithInformerOption := testutil.NewObservableWithInformerOption()
secretsInformer := kubeinformers.NewSharedInformerFactory(nil, 0).Core().V1().Secrets()
var log bytes.Buffer
logger, _ := plog.TestLogger(t)
_ = NewLegacyServiceAccountTokenCleanupController(
namespace,
legacySecretName,
nil, // not needed for this test
secretsInformer,
observableWithInformerOption.WithInformer,
plog.TestLogger(t, &log),
logger,
)
secretsInformerFilter := observableWithInformerOption.GetFilterForInformer(secretsInformer)
@@ -138,14 +137,14 @@ func TestSync(t *testing.T) {
tt.addReactors(kubeAPIClient)
}
var log bytes.Buffer
logger, _ := plog.TestLogger(t)
controller := NewLegacyServiceAccountTokenCleanupController(
tt.namespace,
tt.secretNameToDelete,
kubeAPIClient,
kubeInformers.Core().V1().Secrets(),
controllerlib.WithInformer,
plog.TestLogger(t, &log),
logger,
)
ctx, cancel := context.WithCancel(context.Background())

View File

@@ -4,7 +4,6 @@
package githubupstreamwatcher
import (
"bytes"
"context"
"crypto/x509"
"encoding/base64"
@@ -2451,8 +2450,7 @@ func TestController(t *testing.T) {
),
})
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
gitHubIdentityProviderInformer := supervisorInformers.IDP().V1alpha1().GitHubIdentityProviders()
@@ -2846,8 +2844,7 @@ func TestController_OnlyWantActions(t *testing.T) {
kubeInformers := k8sinformers.NewSharedInformerFactoryWithOptions(kubernetesfake.NewSimpleClientset(tt.secrets...), 0)
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
controller := New(
namespace,
@@ -2967,8 +2964,7 @@ func TestGitHubUpstreamWatcherControllerFilterSecret(t *testing.T) {
kubeInformers := k8sinformers.NewSharedInformerFactoryWithOptions(kubernetesfake.NewSimpleClientset(), 0)
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
observableInformers := testutil.NewObservableWithInformerOption()
secretInformer := kubeInformers.Core().V1().Secrets()
@@ -3024,8 +3020,7 @@ func TestGitHubUpstreamWatcherControllerFilterConfigMaps(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
observableInformers := testutil.NewObservableWithInformerOption()
configMapInformer := k8sinformers.NewSharedInformerFactoryWithOptions(kubernetesfake.NewSimpleClientset(), 0).Core().V1().ConfigMaps()
@@ -3081,8 +3076,7 @@ func TestGitHubUpstreamWatcherControllerFilterGitHubIDP(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
observableInformers := testutil.NewObservableWithInformerOption()
gitHubIdentityProviderInformer := supervisorinformers.NewSharedInformerFactory(supervisorfake.NewSimpleClientset(), 0).IDP().V1alpha1().GitHubIdentityProviders()

View File

@@ -4,7 +4,6 @@
package oidcupstreamwatcher
import (
"bytes"
"context"
"crypto/x509"
"encoding/base64"
@@ -113,8 +112,7 @@ func TestOIDCUpstreamWatcherControllerFilterSecret(t *testing.T) {
configMapInformer := kubeInformers.Core().V1().ConfigMaps()
withInformer := testutil.NewObservableWithInformerOption()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
New(
cache,
@@ -173,8 +171,7 @@ func TestOIDCUpstreamWatcherControllerFilterConfigMaps(t *testing.T) {
configMapInformer := kubeInformers.Core().V1().ConfigMaps()
withInformer := testutil.NewObservableWithInformerOption()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
New(
cache,
@@ -1626,8 +1623,7 @@ func TestOIDCUpstreamWatcherControllerSync(t *testing.T) {
&upstreamoidc.ProviderConfig{Name: "initial-entry"},
})
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
validatorCache := expiringcache.NewExpiring()
if tt.inputValidatorCache != nil {

View File

@@ -5,7 +5,6 @@
package ptls_test
import (
"bytes"
"context"
"crypto/tls"
"crypto/x509"
@@ -63,8 +62,7 @@ func TestDialer(t *testing.T) {
t.Parallel()
dialer := ptls.NewDialer()
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
err := dialer.IsReachableAndTLSValidationSucceeds(
context.Background(),
@@ -135,8 +133,7 @@ func TestDialer_AppliesTimeouts(t *testing.T) {
maxTimeForTest := time.After(test.maxTestDuration)
testPassed := make(chan bool)
go func() {
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
dialer := ptls.NewDialer()
err := dialer.IsReachableAndTLSValidationSucceeds(

View File

@@ -4,7 +4,6 @@
package ptls
import (
"bytes"
"strings"
"testing"
@@ -14,8 +13,7 @@ import (
)
func TestLogAllProfiles(t *testing.T) {
var log bytes.Buffer
logger := plog.TestLogger(t, &log)
logger, log := plog.TestLogger(t)
LogAllProfiles(logger)

View File

@@ -4,7 +4,6 @@
package plog
import (
"bytes"
"fmt"
"runtime"
"strings"
@@ -360,8 +359,8 @@ func TestPlog(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
var log bytes.Buffer
tt.run(TestLogger(t, &log))
subjectLogger, log := TestLogger(t)
tt.run(subjectLogger)
require.Equal(t, strings.TrimSpace(tt.want), strings.TrimSpace(log.String()))
})

View File

@@ -4,6 +4,7 @@
package plog
import (
"bytes"
"context"
"io"
"math"
@@ -59,12 +60,15 @@ func AddZapOverridesToContext(
return context.WithValue(ctx, testOverridesContextKey, overrides)
}
func TestLogger(t *testing.T, w io.Writer) Logger {
func TestLogger(t *testing.T) (Logger, *bytes.Buffer) {
t.Helper()
var log bytes.Buffer
return New().withLogrMod(func(l logr.Logger) logr.Logger {
return l.WithSink(testZapr(t, w, "json").GetSink())
})
return l.WithSink(testZapr(t, &log, "json").GetSink())
}),
&log
}
func TestConsoleLogger(t *testing.T, w io.Writer) Logger {

View File

@@ -4,7 +4,6 @@
package tokenclient
import (
"bytes"
"context"
"errors"
"sync"
@@ -34,8 +33,7 @@ func TestNew(t *testing.T) {
mockClient := fake.NewSimpleClientset().CoreV1().ServiceAccounts("")
mockTime := time.Now()
mockClock := clocktesting.NewFakeClock(mockTime)
var log bytes.Buffer
testLogger := plog.TestLogger(t, &log)
logger, _ := plog.TestLogger(t)
type args struct {
serviceAccountName string
@@ -56,7 +54,7 @@ func TestNew(t *testing.T) {
serviceAccountName: "serviceAccountName",
serviceAccountClient: mockClient,
whatToDoWithToken: mockWhatToDoWithTokenFunc,
logger: testLogger,
logger: logger,
},
expected: &TokenClient{
serviceAccountName: "serviceAccountName",
@@ -64,7 +62,7 @@ func TestNew(t *testing.T) {
whatToDoWithToken: mockWhatToDoWithTokenFunc,
expirationSeconds: 600,
clock: clock.RealClock{},
logger: testLogger,
logger: logger,
},
},
{
@@ -73,7 +71,7 @@ func TestNew(t *testing.T) {
serviceAccountName: "custom-serviceAccountName",
serviceAccountClient: mockClient,
whatToDoWithToken: mockWhatToDoWithTokenFunc,
logger: testLogger,
logger: logger,
opts: []Opt{
WithExpirationSeconds(777),
withClock(mockClock),
@@ -85,7 +83,7 @@ func TestNew(t *testing.T) {
whatToDoWithToken: mockWhatToDoWithTokenFunc,
expirationSeconds: 777,
clock: mockClock,
logger: testLogger,
logger: logger,
},
},
}
@@ -169,7 +167,7 @@ func TestFetchToken(t *testing.T) {
t.Parallel()
mockClock := clocktesting.NewFakeClock(mockTime.Time)
var log bytes.Buffer
logger, _ := plog.TestLogger(t)
require.NotEmpty(t, tt.serviceAccountName)
@@ -178,7 +176,7 @@ func TestFetchToken(t *testing.T) {
tt.serviceAccountName,
mockClient.CoreV1().ServiceAccounts("any-namespace-works"),
nil,
plog.TestLogger(t, &log),
logger,
WithExpirationSeconds(tt.expirationSeconds),
)
tokenClient.clock = mockClock
@@ -325,7 +323,7 @@ func TestStart(t *testing.T) {
t.Parallel()
mockClient := fake.NewSimpleClientset()
var logs bytes.Buffer
logger, _ := plog.TestLogger(t)
var mutex sync.Mutex
// These variables are accessed by the reactor and by the callback function in the goroutine which is
@@ -344,7 +342,7 @@ func TestStart(t *testing.T) {
t.Logf("received token %q with ttl %q", token, ttl)
receivedTokens = append(receivedTokens, receivedToken{token: token, ttl: ttl})
},
plog.TestLogger(t, &logs),
logger,
)
mockClient.PrependReactor(verb, resource, func(action coretesting.Action) (handled bool, ret runtime.Object, err error) {

View File

@@ -3881,10 +3881,10 @@ func TestLoggers(t *testing.T) {
}), nil)
t.Run("with new logger, outputs logs", func(t *testing.T) {
var log bytes.Buffer
logger, log := plog.TestLogger(t)
token, err := Login(issuer.URL, "clientID",
WithLoginLogger(plog.TestLogger(t, &log)),
WithLoginLogger(logger),
)
// This error is expected, we're testing logs not discovery
require.EqualError(t, err, `could not perform OIDC discovery for "`+issuer.URL+`": Get "`+issuer.URL+`/.well-known/openid-configuration": tls: failed to verify certificate: x509: certificate signed by unknown authority`)