Skip to content

Commit e2e901a

Browse files
[8.15](backport #5346) Improve testing logger (#5447)
* improve testing logger (#5346) * add loggertesting package move logger.NewTesting to loggertesting.New add loggertesting.PrintObservedLogs to pretty print logs from a observer.ObservedLogs (cherry picked from commit 0126540) --------- Co-authored-by: Anderson Queiroz <anderson.queiroz@elastic.co>
1 parent 2541a5b commit e2e901a

28 files changed

+181
-137
lines changed

internal/pkg/agent/application/actions/handlers/handler_action_diagnostics_test.go

+9-10
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,15 @@ import (
1818

1919
"github.com/elastic/elastic-agent-client/v7/pkg/client"
2020
"github.com/elastic/elastic-agent-client/v7/pkg/proto"
21-
"github.com/elastic/elastic-agent/pkg/control/v2/cproto"
22-
2321
"github.com/elastic/elastic-agent/internal/pkg/agent/application/paths"
2422
"github.com/elastic/elastic-agent/internal/pkg/agent/errors"
2523
"github.com/elastic/elastic-agent/internal/pkg/core/monitoring/config"
2624
"github.com/elastic/elastic-agent/internal/pkg/diagnostics"
2725
"github.com/elastic/elastic-agent/internal/pkg/fleetapi"
2826
"github.com/elastic/elastic-agent/pkg/component"
2927
"github.com/elastic/elastic-agent/pkg/component/runtime"
30-
"github.com/elastic/elastic-agent/pkg/core/logger"
28+
"github.com/elastic/elastic-agent/pkg/control/v2/cproto"
29+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
3130
mockhandlers "github.com/elastic/elastic-agent/testing/mocks/internal_/pkg/agent/application/actions/handlers"
3231
mockackers "github.com/elastic/elastic-agent/testing/mocks/internal_/pkg/fleetapi/acker"
3332
)
@@ -81,7 +80,7 @@ func TestDiagnosticHandlerHappyPathWithLogs(t *testing.T) {
8180

8281
mockDiagProvider := mockhandlers.NewDiagnosticsProvider(t)
8382
mockUploader := mockhandlers.NewUploader(t)
84-
testLogger, observedLogs := logger.NewTesting("diagnostic-handler-test")
83+
testLogger, observedLogs := loggertest.New("diagnostic-handler-test")
8584
handler := NewDiagnostics(testLogger, tempAgentRoot, mockDiagProvider, defaultRateLimit, mockUploader)
8685

8786
mockDiagProvider.EXPECT().DiagnosticHooks().Return([]diagnostics.Hook{hook1})
@@ -162,7 +161,7 @@ func TestDiagnosticHandlerUploaderErrorWithLogs(t *testing.T) {
162161

163162
mockDiagProvider := mockhandlers.NewDiagnosticsProvider(t)
164163
mockUploader := mockhandlers.NewUploader(t)
165-
testLogger, observedLogs := logger.NewTesting("diagnostic-handler-test")
164+
testLogger, observedLogs := loggertest.New("diagnostic-handler-test")
166165
handler := NewDiagnostics(testLogger, tempAgentRoot, mockDiagProvider, defaultRateLimit, mockUploader)
167166

168167
mockDiagProvider.EXPECT().DiagnosticHooks().Return([]diagnostics.Hook{})
@@ -203,7 +202,7 @@ func TestDiagnosticHandlerZipArchiveErrorWithLogs(t *testing.T) {
203202

204203
mockDiagProvider := mockhandlers.NewDiagnosticsProvider(t)
205204
mockUploader := mockhandlers.NewUploader(t)
206-
testLogger, observedLogs := logger.NewTesting("diagnostic-handler-test")
205+
testLogger, observedLogs := loggertest.New("diagnostic-handler-test")
207206
handler := NewDiagnostics(testLogger, tempAgentRoot, mockDiagProvider, defaultRateLimit, mockUploader)
208207

209208
mockDiagProvider.EXPECT().DiagnosticHooks().Return([]diagnostics.Hook{})
@@ -239,7 +238,7 @@ func TestDiagnosticHandlerAckErrorWithLogs(t *testing.T) {
239238

240239
mockDiagProvider := mockhandlers.NewDiagnosticsProvider(t)
241240
mockUploader := mockhandlers.NewUploader(t)
242-
testLogger, observedLogs := logger.NewTesting("diagnostic-handler-test")
241+
testLogger, observedLogs := loggertest.New("diagnostic-handler-test")
243242
handler := NewDiagnostics(testLogger, tempAgentRoot, mockDiagProvider, defaultRateLimit, mockUploader)
244243

245244
mockDiagProvider.EXPECT().DiagnosticHooks().Return([]diagnostics.Hook{})
@@ -278,7 +277,7 @@ func TestDiagnosticHandlerCommitErrorWithLogs(t *testing.T) {
278277

279278
mockDiagProvider := mockhandlers.NewDiagnosticsProvider(t)
280279
mockUploader := mockhandlers.NewUploader(t)
281-
testLogger, observedLogs := logger.NewTesting("diagnostic-handler-test")
280+
testLogger, observedLogs := loggertest.New("diagnostic-handler-test")
282281
handler := NewDiagnostics(testLogger, tempAgentRoot, mockDiagProvider, defaultRateLimit, mockUploader)
283282

284283
mockDiagProvider.EXPECT().DiagnosticHooks().Return([]diagnostics.Hook{})
@@ -318,7 +317,7 @@ func TestDiagnosticHandlerContexteExpiredErrorWithLogs(t *testing.T) {
318317

319318
mockDiagProvider := mockhandlers.NewDiagnosticsProvider(t)
320319
mockUploader := mockhandlers.NewUploader(t)
321-
testLogger, observedLogs := logger.NewTesting("diagnostic-handler-test")
320+
testLogger, observedLogs := loggertest.New("diagnostic-handler-test")
322321
handler := NewDiagnostics(testLogger, tempAgentRoot, mockDiagProvider, defaultRateLimit, mockUploader)
323322

324323
mockDiagProvider.EXPECT().DiagnosticHooks().Return([]diagnostics.Hook{})
@@ -362,7 +361,7 @@ func TestDiagnosticHandlerWithCPUProfile(t *testing.T) {
362361

363362
mockDiagProvider := mockhandlers.NewDiagnosticsProvider(t)
364363
mockUploader := mockhandlers.NewUploader(t)
365-
testLogger, _ := logger.NewTesting("diagnostic-handler-test")
364+
testLogger, _ := loggertest.New("diagnostic-handler-test")
366365
handler := NewDiagnostics(testLogger, tempAgentRoot, mockDiagProvider, defaultRateLimit, mockUploader)
367366

368367
mockDiagProvider.EXPECT().DiagnosticHooks().Return([]diagnostics.Hook{hook1})

internal/pkg/agent/application/actions/handlers/handler_action_policy_change_test.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
"github.com/elastic/elastic-agent/internal/pkg/fleetapi/client"
4040
"github.com/elastic/elastic-agent/internal/pkg/remote"
4141
"github.com/elastic/elastic-agent/pkg/core/logger"
42+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
4243
mockhandlers "github.com/elastic/elastic-agent/testing/mocks/internal_/pkg/agent/application/actions/handlers"
4344
)
4445

@@ -137,7 +138,7 @@ func TestPolicyChangeHandler_handlePolicyChange_FleetClientSettings(t *testing.T
137138
t.Run("policy with proxy config", func(t *testing.T) {
138139
t.Run("rollback client changes when cannot create client",
139140
func(t *testing.T) {
140-
log, _ := logger.NewTesting("TestPolicyChangeHandler")
141+
log, _ := loggertest.New("TestPolicyChangeHandler")
141142
var setterCalledCount int
142143
setter := testSetter{SetClientFn: func(c client.Sender) {
143144
setterCalledCount++
@@ -193,7 +194,7 @@ func TestPolicyChangeHandler_handlePolicyChange_FleetClientSettings(t *testing.T
193194

194195
t.Run("rollback client changes when cannot reach fleet-server",
195196
func(t *testing.T) {
196-
log, _ := logger.NewTesting("TestPolicyChangeHandler")
197+
log, _ := loggertest.New("TestPolicyChangeHandler")
197198
var setterCalledCount int
198199
setter := testSetter{SetClientFn: func(c client.Sender) {
199200
setterCalledCount++
@@ -249,7 +250,7 @@ func TestPolicyChangeHandler_handlePolicyChange_FleetClientSettings(t *testing.T
249250
})
250251

251252
t.Run("a new Hosts and no proxy changes the remote config", func(t *testing.T) {
252-
log, _ := logger.NewTesting("TestPolicyChangeHandler")
253+
log, _ := loggertest.New("TestPolicyChangeHandler")
253254
var setterCalledCount int
254255
setter := testSetter{SetClientFn: func(c client.Sender) {
255256
setterCalledCount++
@@ -293,7 +294,7 @@ func TestPolicyChangeHandler_handlePolicyChange_FleetClientSettings(t *testing.T
293294
})
294295

295296
t.Run("a proxy changes the fleet client", func(t *testing.T) {
296-
log, _ := logger.NewTesting("TestPolicyChangeHandler")
297+
log, _ := loggertest.New("TestPolicyChangeHandler")
297298
var setterCalledCount int
298299
setter := testSetter{SetClientFn: func(c client.Sender) {
299300
setterCalledCount++
@@ -343,7 +344,7 @@ func TestPolicyChangeHandler_handlePolicyChange_FleetClientSettings(t *testing.T
343344
func(t *testing.T) {
344345
wantProxy := mockProxy.URL
345346

346-
log, _ := logger.NewTesting("TestPolicyChangeHandler")
347+
log, _ := loggertest.New("TestPolicyChangeHandler")
347348
var setterCalledCount int
348349
setter := testSetter{SetClientFn: func(c client.Sender) {
349350
setterCalledCount++
@@ -405,7 +406,7 @@ func TestPolicyChangeHandler_handlePolicyChange_FleetClientSettings(t *testing.T
405406
}))
406407
defer alwaysErroringServer.Close()
407408

408-
log, _ := logger.NewTesting("TestPolicyChangeHandler")
409+
log, _ := loggertest.New("TestPolicyChangeHandler")
409410
var setterCalledCount int
410411
setter := testSetter{SetClientFn: func(c client.Sender) {
411412
setterCalledCount++
@@ -858,7 +859,7 @@ func TestPolicyChangeHandler_handlePolicyChange_FleetClientSettings(t *testing.T
858859

859860
for _, tc := range tcs {
860861
t.Run(tc.name, func(t *testing.T) {
861-
log, logs := logger.NewTesting(tc.name)
862+
log, logs := loggertest.New(tc.name)
862863
defer func() {
863864
if t.Failed() {
864865
t.Log("test failed, see handler logs below:")
@@ -1053,7 +1054,7 @@ func TestPolicyChangeHandler_handlePolicyChange_LogLevelSet(t *testing.T) {
10531054
for _, tt := range tests {
10541055
t.Run(tt.name, func(t *testing.T) {
10551056

1056-
log, _ := logger.NewTesting(tt.name)
1057+
log, _ := loggertest.New(tt.name)
10571058
mockLogLevelSetter := mockhandlers.NewLogLevelSetter(t)
10581059

10591060
if tt.setupExpectations != nil {

internal/pkg/agent/application/actions/handlers/handler_action_settings_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"github.com/elastic/elastic-agent-libs/logp"
1616
"github.com/elastic/elastic-agent/internal/pkg/fleetapi"
1717
"github.com/elastic/elastic-agent/pkg/core/logger"
18+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
1819
mockhandlers "github.com/elastic/elastic-agent/testing/mocks/internal_/pkg/agent/application/actions/handlers"
1920
mockinfo "github.com/elastic/elastic-agent/testing/mocks/internal_/pkg/agent/application/info"
2021
mockfleetacker "github.com/elastic/elastic-agent/testing/mocks/internal_/pkg/fleetapi/acker"
@@ -88,7 +89,7 @@ func TestSettings_SetLogLevel(t *testing.T) {
8889
tt.setupMocks(t, mockLogLevelSetter, mockAgentInfo)
8990
}
9091

91-
log, _ := logger.NewTesting(tt.name)
92+
log, _ := loggertest.New(tt.name)
9293

9394
ctx := context.Background()
9495

@@ -191,7 +192,7 @@ func TestSettings_handleLogLevel(t *testing.T) {
191192
}
192193
for _, tt := range tests {
193194
t.Run(tt.name, func(t *testing.T) {
194-
log, _ := logger.NewTesting(tt.name)
195+
log, _ := loggertest.New(tt.name)
195196
mockAgentInfo := mockinfo.NewAgent(t)
196197
mockLogLevelSetter := mockhandlers.NewLogLevelSetter(t)
197198
mockAcker := mockfleetacker.NewAcker(t)

internal/pkg/agent/application/apm_config_modifier_test.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ import (
1414
"gopkg.in/yaml.v2"
1515

1616
"github.com/elastic/elastic-agent-client/v7/pkg/proto"
17-
1817
"github.com/elastic/elastic-agent/internal/pkg/config"
1918
"github.com/elastic/elastic-agent/pkg/component"
20-
"github.com/elastic/elastic-agent/pkg/core/logger"
19+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
2120
)
2221

2322
type injectedConfigAssertion func(*testing.T, []component.Component)
@@ -449,7 +448,7 @@ func TestPatchAPMConfig(t *testing.T) {
449448
require.NoError(t, err)
450449
agtConf, err := config.NewConfigFrom(tt.args.agentFileCfg)
451450
require.NoError(t, err)
452-
log, _ := logger.NewTesting(tt.name)
451+
log, _ := loggertest.New(tt.name)
453452
patcher := PatchAPMConfig(log, agtConf)
454453

455454
mcc := &mockConfigChange{c: fleetConf}

internal/pkg/agent/application/application_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
"github.com/elastic/elastic-agent/internal/pkg/agent/application/info"
1818
"github.com/elastic/elastic-agent/internal/pkg/config"
1919
"github.com/elastic/elastic-agent/internal/pkg/testutils"
20-
"github.com/elastic/elastic-agent/pkg/core/logger"
20+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
2121
"github.com/elastic/elastic-agent/pkg/limits"
2222
)
2323

@@ -48,7 +48,7 @@ func TestMergeFleetConfig(t *testing.T) {
4848
}
4949

5050
func TestLimitsLog(t *testing.T) {
51-
log, obs := logger.NewTesting("TestLimitsLog")
51+
log, obs := loggertest.New("TestLimitsLog")
5252
ctx, cn := context.WithCancel(context.Background())
5353
defer cn()
5454

internal/pkg/agent/application/coordinator/coordinator_unit_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import (
3434
"github.com/elastic/elastic-agent/pkg/component"
3535
"github.com/elastic/elastic-agent/pkg/component/runtime"
3636
agentclient "github.com/elastic/elastic-agent/pkg/control/v2/client"
37-
"github.com/elastic/elastic-agent/pkg/core/logger"
37+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
3838
"github.com/elastic/elastic-agent/pkg/utils/broadcaster"
3939
)
4040

@@ -338,7 +338,7 @@ func TestCoordinatorReportsInvalidPolicy(t *testing.T) {
338338
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
339339
defer cancel()
340340

341-
log, obs := logger.NewTesting("")
341+
log, obs := loggertest.New("")
342342
defer func() {
343343
if t.Failed() {
344344
t.Log("test failed, coordinator logs below:")

internal/pkg/agent/application/dispatcher/dispatcher_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"github.com/elastic/elastic-agent/internal/pkg/fleetapi"
2121
"github.com/elastic/elastic-agent/internal/pkg/fleetapi/acker"
2222
"github.com/elastic/elastic-agent/internal/pkg/fleetapi/acker/noop"
23-
"github.com/elastic/elastic-agent/pkg/core/logger"
23+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
2424
)
2525

2626
type mockHandler struct {
@@ -753,7 +753,7 @@ func TestReportNextScheduledUpgrade(t *testing.T) {
753753
detailsSetter := func(upgradeDetails *details.Details) {
754754
actualDetails = upgradeDetails
755755
}
756-
log, obs := logger.NewTesting("report_next_upgrade_details")
756+
log, obs := loggertest.New("report_next_upgrade_details")
757757

758758
d.reportNextScheduledUpgrade(test.actions, detailsSetter, log)
759759

internal/pkg/agent/application/gateway/fleet/fleet_gateway_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"context"
1010
"encoding/json"
1111
"fmt"
12-
1312
"io"
1413
"net/http"
1514
"net/url"
@@ -32,6 +31,7 @@ import (
3231
"github.com/elastic/elastic-agent/internal/pkg/scheduler"
3332
agentclient "github.com/elastic/elastic-agent/pkg/control/v2/client"
3433
"github.com/elastic/elastic-agent/pkg/core/logger"
34+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
3535
)
3636

3737
type clientCallbackFunc func(headers http.Header, body io.Reader) (*http.Response, error)
@@ -317,7 +317,7 @@ func TestFleetGateway(t *testing.T) {
317317
scheduler := scheduler.NewStepper()
318318
client := newTestingClient()
319319

320-
log, _ := logger.NewTesting("fleet_gateway")
320+
log, _ := loggertest.New("fleet_gateway")
321321

322322
stateStore := newStateStore(t, log)
323323

internal/pkg/agent/application/monitoring/reload/reload_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
aConfig "github.com/elastic/elastic-agent/internal/pkg/config"
1414
monitoringCfg "github.com/elastic/elastic-agent/internal/pkg/core/monitoring/config"
15-
"github.com/elastic/elastic-agent/pkg/core/logger"
15+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
1616
)
1717

1818
func TestReload(t *testing.T) {
@@ -78,7 +78,7 @@ agent.monitoring.enabled: false
7878
for _, tc := range tcs {
7979
t.Run(tc.name, func(t *testing.T) {
8080
fsc := &fakeServerController{}
81-
log, _ := logger.NewTesting(tc.name)
81+
log, _ := loggertest.New(tc.name)
8282
cfg := &monitoringCfg.MonitoringConfig{
8383
Enabled: tc.currEnabled,
8484
MonitorMetrics: tc.currMetrics,

internal/pkg/agent/application/upgrade/artifact/config_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
agentlibsconfig "github.com/elastic/elastic-agent-libs/config"
1717
"github.com/elastic/elastic-agent-libs/transport/httpcommon"
1818
"github.com/elastic/elastic-agent/internal/pkg/config"
19-
"github.com/elastic/elastic-agent/pkg/core/logger"
19+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
2020
)
2121

2222
func TestReload(t *testing.T) {
@@ -224,7 +224,7 @@ func TestReload(t *testing.T) {
224224
},
225225
}
226226

227-
l, _ := logger.NewTesting("t")
227+
l, _ := loggertest.New("t")
228228
for _, tc := range testCases {
229229
cfg := tc.initialConfig
230230
reloader := NewReloader(cfg, l)

internal/pkg/agent/application/upgrade/artifact/download/fs/verifier_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"github.com/elastic/elastic-agent/internal/pkg/agent/application/upgrade/artifact/download"
2323
"github.com/elastic/elastic-agent/internal/pkg/release"
2424
"github.com/elastic/elastic-agent/pkg/core/logger"
25+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
2526
agtversion "github.com/elastic/elastic-agent/pkg/version"
2627
"github.com/elastic/elastic-agent/testing/pgptest"
2728
)
@@ -201,7 +202,7 @@ func TestVerify(t *testing.T) {
201202

202203
for _, tc := range tt {
203204
t.Run(tc.Name, func(t *testing.T) {
204-
log, obs := logger.NewTesting("TestVerify")
205+
log, obs := loggertest.New("TestVerify")
205206
targetDir := t.TempDir()
206207

207208
timeout := 30 * time.Second

internal/pkg/agent/application/upgrade/artifact/download/http/downloader_test.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"github.com/elastic/elastic-agent/internal/pkg/agent/application/upgrade/artifact"
2626
"github.com/elastic/elastic-agent/internal/pkg/agent/application/upgrade/details"
2727
"github.com/elastic/elastic-agent/pkg/core/logger"
28+
"github.com/elastic/elastic-agent/pkg/core/logger/loggertest"
2829
agtversion "github.com/elastic/elastic-agent/pkg/version"
2930

3031
"github.com/docker/go-units"
@@ -109,7 +110,7 @@ func TestDownloadBodyError(t *testing.T) {
109110
Architecture: "64",
110111
}
111112

112-
log, obs := logger.NewTesting("downloader")
113+
log, obs := loggertest.New("downloader")
113114
upgradeDetails := details.NewDetails("8.12.0", details.StateRequested, "")
114115
testClient := NewDownloaderWithClient(log, config, *client, upgradeDetails)
115116
artifactPath, err := testClient.Download(context.Background(), beatSpec, version)
@@ -166,7 +167,7 @@ func TestDownloadLogProgressWithLength(t *testing.T) {
166167
},
167168
}
168169

169-
log, obs := logger.NewTesting("downloader")
170+
log, obs := loggertest.New("downloader")
170171
upgradeDetails := details.NewDetails("8.12.0", details.StateRequested, "")
171172
testClient := NewDownloaderWithClient(log, config, *client, upgradeDetails)
172173
artifactPath, err := testClient.Download(context.Background(), beatSpec, version)
@@ -249,7 +250,7 @@ func TestDownloadLogProgressWithoutLength(t *testing.T) {
249250
},
250251
}
251252

252-
log, obs := logger.NewTesting("downloader")
253+
log, obs := loggertest.New("downloader")
253254
upgradeDetails := details.NewDetails("8.12.0", details.StateRequested, "")
254255
testClient := NewDownloaderWithClient(log, config, *client, upgradeDetails)
255256
artifactPath, err := testClient.Download(context.Background(), beatSpec, version)
@@ -510,7 +511,7 @@ func TestDownloadVersion(t *testing.T) {
510511
defer server.Close()
511512

512513
elasticClient := server.Client()
513-
log, _ := logger.NewTesting("downloader")
514+
log, _ := loggertest.New("downloader")
514515
upgradeDetails := details.NewDetails(tt.args.version.String(), details.StateRequested, "")
515516
config := tt.fields.config
516517
config.SourceURI = server.URL

0 commit comments

Comments
 (0)