11
11
from azure .monitor .opentelemetry .exporter ._generated .models import TelemetryItem
12
12
from opentelemetry .sdk .resources import Resource
13
13
from unittest .mock import patch
14
+ # from azure.monitor.opentelemetry.exporter._constants import (
15
+ # _AKS_ARM_NAMESPACE_ID,
16
+ # _DEFAULT_AAD_SCOPE,
17
+ # _FUNCTIONS_WORKER_RUNTIME,
18
+ # _INSTRUMENTATIONS_BIT_MAP,
19
+ # _KUBERNETES_SERVICE_HOST,
20
+ # _PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY,
21
+ # _WEBSITE_SITE_NAME,
22
+ # )
14
23
15
24
16
25
TEST_AI_DEVICE_ID = "TEST_AI_DEVICE_ID"
29
38
TEST_TIMESTAMP = "TEST_TIMESTAMP"
30
39
TEST_TIME = "TEST_TIME"
31
40
TEST_WEBSITE_SITE_NAME = "TEST_WEBSITE_SITE_NAME"
41
+ TEST_KUBERNETES_SERVICE_HOST = "TEST_KUBERNETES_SERVICE_HOST"
42
+ TEST_AKS_ARM_NAMESPACE_ID = "TEST_AKS_ARM_NAMESPACE_ID"
32
43
33
44
34
45
class TestUtils (unittest .TestCase ):
@@ -105,37 +116,37 @@ def test_create_telemetry_item(self, mock_ns_to_iso_str):
105
116
106
117
@patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
107
118
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
108
- def test_get_sdk_version_prefix (self , mock_system , mock_getenv ):
119
+ def test_get_sdk_version_prefix (self , mock_system , mock_isdir ):
109
120
result = _utils ._get_sdk_version_prefix ()
110
121
self .assertEqual (result , "uum_" )
111
122
112
123
@patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
113
124
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
114
- def test_get_sdk_version_prefix_linux (self , mock_system , mock_getenv ):
125
+ def test_get_sdk_version_prefix_linux (self , mock_system , mock_isdir ):
115
126
result = _utils ._get_sdk_version_prefix ()
116
127
self .assertEqual (result , "ulm_" )
117
128
118
129
@patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
119
130
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
120
- def test_get_sdk_version_prefix_windows (self , mock_system , mock_getenv ):
131
+ def test_get_sdk_version_prefix_windows (self , mock_system , mock_isdir ):
121
132
result = _utils ._get_sdk_version_prefix ()
122
133
self .assertEqual (result , "uwm_" )
123
134
124
135
@patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
125
136
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
126
- def test_get_sdk_version_prefix_attach (self , mock_system , mock_getenv ):
137
+ def test_get_sdk_version_prefix_attach (self , mock_system , mock_isdir ):
127
138
result = _utils ._get_sdk_version_prefix ()
128
139
self .assertEqual (result , "uui_" )
129
140
130
141
@patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
131
142
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
132
- def test_get_sdk_version_prefix_attach_linux (self , mock_system , mock_getenv ):
143
+ def test_get_sdk_version_prefix_attach_linux (self , mock_system , mock_isdir ):
133
144
result = _utils ._get_sdk_version_prefix ()
134
145
self .assertEqual (result , "uli_" )
135
146
136
147
@patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
137
148
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
138
- def test_get_sdk_version_prefix_attach_windows (self , mock_system , mock_getenv ):
149
+ def test_get_sdk_version_prefix_attach_windows (self , mock_system , mock_isdir ):
139
150
result = _utils ._get_sdk_version_prefix ()
140
151
self .assertEqual (result , "uwi_" )
141
152
@@ -146,7 +157,7 @@ def test_get_sdk_version_prefix_attach_windows(self, mock_system, mock_getenv):
146
157
)
147
158
@patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = False )
148
159
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
149
- def test_get_sdk_version_prefix_app_service (self , mock_system , mock_getenv ):
160
+ def test_get_sdk_version_prefix_app_service (self , mock_system , mock_isdir ):
150
161
result = _utils ._get_sdk_version_prefix ()
151
162
self .assertEqual (result , "aum_" )
152
163
@@ -155,7 +166,7 @@ def test_get_sdk_version_prefix_app_service(self, mock_system, mock_getenv):
155
166
)
156
167
@patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = False )
157
168
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
158
- def test_get_sdk_version_prefix_app_service_linux (self , mock_system , mock_getenv ):
169
+ def test_get_sdk_version_prefix_app_service_linux (self , mock_system , mock_isdir ):
159
170
result = _utils ._get_sdk_version_prefix ()
160
171
self .assertEqual (result , "alm_" )
161
172
@@ -164,7 +175,7 @@ def test_get_sdk_version_prefix_app_service_linux(self, mock_system, mock_getenv
164
175
)
165
176
@patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = False )
166
177
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
167
- def test_get_sdk_version_prefix_app_service_windows (self , mock_system , mock_getenv ):
178
+ def test_get_sdk_version_prefix_app_service_windows (self , mock_system , mock_isdir ):
168
179
result = _utils ._get_sdk_version_prefix ()
169
180
self .assertEqual (result , "awm_" )
170
181
@@ -173,7 +184,7 @@ def test_get_sdk_version_prefix_app_service_windows(self, mock_system, mock_gete
173
184
)
174
185
@patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = True )
175
186
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
176
- def test_get_sdk_version_prefix_app_service_attach (self , mock_system , mock_getenv ):
187
+ def test_get_sdk_version_prefix_app_service_attach (self , mock_system , mock_isdir ):
177
188
result = _utils ._get_sdk_version_prefix ()
178
189
self .assertEqual (result , "aui_" )
179
190
@@ -182,7 +193,7 @@ def test_get_sdk_version_prefix_app_service_attach(self, mock_system, mock_geten
182
193
)
183
194
@patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = True )
184
195
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
185
- def test_get_sdk_version_prefix_app_service_linux_attach (self , mock_system , mock_getenv ):
196
+ def test_get_sdk_version_prefix_app_service_linux_attach (self , mock_system , mock_isdir ):
186
197
result = _utils ._get_sdk_version_prefix ()
187
198
self .assertEqual (result , "ali_" )
188
199
@@ -191,7 +202,7 @@ def test_get_sdk_version_prefix_app_service_linux_attach(self, mock_system, mock
191
202
)
192
203
@patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = True )
193
204
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
194
- def test_get_sdk_version_prefix_app_service_windows_attach (self , mock_system , mock_getenv ):
205
+ def test_get_sdk_version_prefix_app_service_windows_attach (self , mock_system , mock_isdir ):
195
206
result = _utils ._get_sdk_version_prefix ()
196
207
self .assertEqual (result , "awi_" )
197
208
@@ -202,9 +213,8 @@ def test_get_sdk_version_prefix_app_service_windows_attach(self, mock_system, mo
202
213
{"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
203
214
clear = True ,
204
215
)
205
- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
206
216
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
207
- def test_get_sdk_version_prefix_function (self , mock_system , mock_getenv ):
217
+ def test_get_sdk_version_prefix_function (self , mock_system ):
208
218
result = _utils ._get_sdk_version_prefix ()
209
219
self .assertEqual (result , "fum_" )
210
220
@@ -213,9 +223,8 @@ def test_get_sdk_version_prefix_function(self, mock_system, mock_getenv):
213
223
{"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
214
224
clear = True ,
215
225
)
216
- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
217
226
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
218
- def test_get_sdk_version_prefix_function_linux (self , mock_system , mock_getenv ):
227
+ def test_get_sdk_version_prefix_function_linux (self , mock_system ):
219
228
result = _utils ._get_sdk_version_prefix ()
220
229
self .assertEqual (result , "flm_" )
221
230
@@ -224,45 +233,127 @@ def test_get_sdk_version_prefix_function_linux(self, mock_system, mock_getenv):
224
233
{"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
225
234
clear = True ,
226
235
)
227
- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
228
236
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
229
- def test_get_sdk_version_prefix_function_windows (self , mock_system , mock_getenv ):
237
+ def test_get_sdk_version_prefix_function_windows (self , mock_system ):
230
238
result = _utils ._get_sdk_version_prefix ()
231
239
self .assertEqual (result , "fwm_" )
232
240
233
241
@patch .dict (
234
242
"azure.monitor.opentelemetry.exporter._utils.environ" ,
235
- {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
243
+ {
244
+ "FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME ,
245
+ "PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY" : "true" ,
246
+ },
236
247
clear = True ,
237
248
)
238
- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
239
249
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
240
- def test_get_sdk_version_prefix_function_attach (self , mock_system , mock_getenv ):
250
+ def test_get_sdk_version_prefix_function_attach (self , mock_system ):
241
251
result = _utils ._get_sdk_version_prefix ()
242
252
self .assertEqual (result , "fui_" )
243
253
244
254
@patch .dict (
245
255
"azure.monitor.opentelemetry.exporter._utils.environ" ,
246
- {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
256
+ {
257
+ "FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME ,
258
+ "PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY" : "true" ,
259
+ },
247
260
clear = True ,
248
261
)
249
- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
250
262
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
251
- def test_get_sdk_version_prefix_function_linux_attach (self , mock_system , mock_getenv ):
263
+ def test_get_sdk_version_prefix_function_linux_attach (self , mock_system ):
252
264
result = _utils ._get_sdk_version_prefix ()
253
265
self .assertEqual (result , "fli_" )
254
266
255
267
@patch .dict (
256
268
"azure.monitor.opentelemetry.exporter._utils.environ" ,
257
- {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
269
+ {
270
+ "FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME ,
271
+ "PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY" : "true" ,
272
+ },
258
273
clear = True ,
259
274
)
260
- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
261
275
@patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
262
- def test_get_sdk_version_prefix_function_windows_attach (self , mock_system , mock_getenv ):
276
+ def test_get_sdk_version_prefix_function_windows_attach (self , mock_system ):
263
277
result = _utils ._get_sdk_version_prefix ()
264
278
self .assertEqual (result , "fwi_" )
265
279
280
+ # AKS SDK Version Prefix
281
+
282
+ @patch .dict (
283
+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
284
+ {
285
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
286
+ },
287
+ clear = True ,
288
+ )
289
+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
290
+ def test_get_sdk_version_prefix_aks (self , mock_system ):
291
+ result = _utils ._get_sdk_version_prefix ()
292
+ self .assertEqual (result , "kum_" )
293
+
294
+ @patch .dict (
295
+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
296
+ {
297
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
298
+ },
299
+ clear = True ,
300
+ )
301
+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
302
+ def test_get_sdk_version_prefix_aks_linux (self , mock_system ):
303
+ result = _utils ._get_sdk_version_prefix ()
304
+ self .assertEqual (result , "klm_" )
305
+
306
+ @patch .dict (
307
+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
308
+ {
309
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
310
+ },
311
+ clear = True ,
312
+ )
313
+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
314
+ def test_get_sdk_version_prefix_aks_windows (self , mock_system ):
315
+ result = _utils ._get_sdk_version_prefix ()
316
+ self .assertEqual (result , "kwm_" )
317
+
318
+ @patch .dict (
319
+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
320
+ {
321
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
322
+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
323
+ },
324
+ clear = True ,
325
+ )
326
+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
327
+ def test_get_sdk_version_prefix_aks_attach (self , mock_system ):
328
+ result = _utils ._get_sdk_version_prefix ()
329
+ self .assertEqual (result , "kui_" )
330
+
331
+ @patch .dict (
332
+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
333
+ {
334
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
335
+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
336
+ },
337
+ clear = True ,
338
+ )
339
+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
340
+ def test_get_sdk_version_prefix_aks_linux_attach (self , mock_system ):
341
+ result = _utils ._get_sdk_version_prefix ()
342
+ self .assertEqual (result , "kli_" )
343
+
344
+ @patch .dict (
345
+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
346
+ {
347
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
348
+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
349
+ },
350
+ clear = True ,
351
+ )
352
+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
353
+ def test_get_sdk_version_prefix_aks_windows_attach (self , mock_system ):
354
+ result = _utils ._get_sdk_version_prefix ()
355
+ self .assertEqual (result , "kwi_" )
356
+
266
357
# Attach
267
358
268
359
@patch (
@@ -288,7 +379,22 @@ def test_attach_app_service_disabled(self, mock_isdir):
288
379
@patch .dict ("azure.monitor.opentelemetry.exporter._utils.environ" , {}, clear = True )
289
380
def test_attach_off_app_service_with_agent (self , mock_isdir ):
290
381
# This is not an expected scenario and just tests the default
291
- self .assertEqual (_utils ._is_attach_enabled (), False )
382
+ self .assertFalse (_utils ._is_attach_enabled ())
383
+
384
+ @patch .dict ("azure.monitor.opentelemetry.exporter._utils.environ" , {
385
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
386
+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
387
+ }, clear = True )
388
+ def test_attach_aks (self ):
389
+ # This is not an expected scenario and just tests the default
390
+ self .assertTrue (_utils ._is_attach_enabled ())
391
+
392
+ @patch .dict ("azure.monitor.opentelemetry.exporter._utils.environ" , {
393
+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
394
+ }, clear = True )
395
+ def test_aks_no_attach (self ):
396
+ # This is not an expected scenario and just tests the default
397
+ self .assertFalse (_utils ._is_attach_enabled ())
292
398
293
399
# Synthetic
294
400
0 commit comments