@@ -72,6 +72,64 @@ func createGetCallsFunc(objects ...client.Object) getCallsFunc {
72
72
}
73
73
74
74
var _ = Describe ("Collector" , Ordered , func () {
75
+
76
+ Describe ("BuildOS field" , func () {
77
+ var (
78
+ k8sClientReader * kubernetesfakes.FakeReader
79
+ fakeGraphGetter * telemetryfakes.FakeGraphGetter
80
+ fakeConfigurationGetter * telemetryfakes.FakeConfigurationGetter
81
+ version string
82
+ podNSName types.NamespacedName
83
+ flags config.Flags
84
+ )
85
+
86
+ BeforeEach (func () {
87
+ version = "1.1"
88
+ k8sClientReader = & kubernetesfakes.FakeReader {}
89
+ fakeGraphGetter = & telemetryfakes.FakeGraphGetter {}
90
+ fakeConfigurationGetter = & telemetryfakes.FakeConfigurationGetter {}
91
+ podNSName = types.NamespacedName {Namespace : "nginx-gateway" , Name : "ngf-pod" }
92
+ flags = config.Flags {}
93
+ fakeGraphGetter .GetLatestGraphReturns (& graph.Graph {})
94
+ fakeConfigurationGetter .GetLatestConfigurationReturns (nil )
95
+ })
96
+
97
+ It ("sets BuildOS to 'alpine' when config.BuildOS is empty" , func (ctx SpecContext ) {
98
+ dataCollector := telemetry .NewDataCollectorImpl (telemetry.DataCollectorConfig {
99
+ K8sClientReader : k8sClientReader ,
100
+ GraphGetter : fakeGraphGetter ,
101
+ ConfigurationGetter : fakeConfigurationGetter ,
102
+ Version : version ,
103
+ PodNSName : podNSName ,
104
+ ImageSource : "local" ,
105
+ Flags : flags ,
106
+ NginxOneConsoleConnection : true ,
107
+ BuildOS : "" ,
108
+ })
109
+
110
+ data , err := dataCollector .Collect (ctx )
111
+ Expect (err ).ToNot (HaveOccurred ())
112
+ Expect (data .BuildOS ).To (Equal ("alpine" ))
113
+ })
114
+
115
+ It ("sets BuildOS to 'ubi' when config.BuildOS is 'ubi'" , func (ctx SpecContext ) {
116
+ dataCollector := telemetry .NewDataCollectorImpl (telemetry.DataCollectorConfig {
117
+ K8sClientReader : k8sClientReader ,
118
+ GraphGetter : fakeGraphGetter ,
119
+ ConfigurationGetter : fakeConfigurationGetter ,
120
+ Version : version ,
121
+ PodNSName : podNSName ,
122
+ ImageSource : "local" ,
123
+ Flags : flags ,
124
+ NginxOneConsoleConnection : true ,
125
+ BuildOS : "ubi" ,
126
+ })
127
+
128
+ data , err := dataCollector .Collect (ctx )
129
+ Expect (err ).ToNot (HaveOccurred ())
130
+ Expect (data .BuildOS ).To (Equal ("ubi" ))
131
+ })
132
+ })
75
133
var (
76
134
k8sClientReader * kubernetesfakes.FakeReader
77
135
fakeGraphGetter * telemetryfakes.FakeGraphGetter
@@ -195,6 +253,7 @@ var _ = Describe("Collector", Ordered, func() {
195
253
ImageSource : "local" ,
196
254
Flags : flags ,
197
255
NginxOneConsoleConnection : true ,
256
+ BuildOS : "" ,
198
257
})
199
258
200
259
baseGetCalls = createGetCallsFunc (ngfPod , ngfReplicaSet , kubeNamespace )
0 commit comments