Skip to content

Commit eeaeb08

Browse files
committed
Add telemetry collector failure test
1 parent af94be8 commit eeaeb08

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

internal/mode/static/telemetry/job_worker_test.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package telemetry_test
22

33
import (
44
"context"
5+
"errors"
56
"testing"
67
"time"
78

@@ -13,7 +14,7 @@ import (
1314
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/telemetry/telemetryfakes"
1415
)
1516

16-
func TestCreateTelemetryJobWorker(t *testing.T) {
17+
func TestCreateTelemetryJobWorker_Succeeds(t *testing.T) {
1718
g := NewWithT(t)
1819

1920
exporter := &telemetryfakes.FakeExporter{}
@@ -36,3 +37,22 @@ func TestCreateTelemetryJobWorker(t *testing.T) {
3637
_, data := exporter.ExportArgsForCall(0)
3738
g.Expect(data).To(Equal(&expData))
3839
}
40+
41+
func TestCreateTelemetryJobWorker_CollectFails(t *testing.T) {
42+
g := NewWithT(t)
43+
44+
exporter := &telemetryfakes.FakeExporter{}
45+
dataCollector := &telemetryfakes.FakeDataCollector{}
46+
47+
worker := telemetry.CreateTelemetryJobWorker(zap.New(), exporter, dataCollector)
48+
49+
expData := telemetry.Data{}
50+
dataCollector.CollectReturns(expData, errors.New("failed to collect cluster information"))
51+
52+
timeout := 10 * time.Second
53+
ctx, cancel := context.WithTimeout(context.Background(), timeout)
54+
defer cancel()
55+
56+
worker(ctx)
57+
g.Expect(exporter.ExportCallCount()).To(Equal(0))
58+
}

0 commit comments

Comments
 (0)