@@ -72,6 +72,64 @@ func createGetCallsFunc(objects ...client.Object) getCallsFunc {
7272}
7373
7474var _ = 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+ })
75133 var (
76134 k8sClientReader * kubernetesfakes.FakeReader
77135 fakeGraphGetter * telemetryfakes.FakeGraphGetter
@@ -195,6 +253,7 @@ var _ = Describe("Collector", Ordered, func() {
195253 ImageSource : "local" ,
196254 Flags : flags ,
197255 NginxOneConsoleConnection : true ,
256+ BuildOS : "" ,
198257 })
199258
200259 baseGetCalls = createGetCallsFunc (ngfPod , ngfReplicaSet , kubeNamespace )
0 commit comments