2929TEST_TIMESTAMP = "TEST_TIMESTAMP"
3030TEST_TIME = "TEST_TIME"
3131TEST_WEBSITE_SITE_NAME = "TEST_WEBSITE_SITE_NAME"
32+ TEST_KUBERNETES_SERVICE_HOST = "TEST_KUBERNETES_SERVICE_HOST"
33+ TEST_AKS_ARM_NAMESPACE_ID = "TEST_AKS_ARM_NAMESPACE_ID"
3234
3335
3436class TestUtils (unittest .TestCase ):
@@ -105,37 +107,37 @@ def test_create_telemetry_item(self, mock_ns_to_iso_str):
105107
106108 @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
107109 @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
108- def test_get_sdk_version_prefix (self , mock_system , mock_getenv ):
110+ def test_get_sdk_version_prefix (self , mock_system , mock_isdir ):
109111 result = _utils ._get_sdk_version_prefix ()
110112 self .assertEqual (result , "uum_" )
111113
112114 @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
113115 @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
114- def test_get_sdk_version_prefix_linux (self , mock_system , mock_getenv ):
116+ def test_get_sdk_version_prefix_linux (self , mock_system , mock_isdir ):
115117 result = _utils ._get_sdk_version_prefix ()
116118 self .assertEqual (result , "ulm_" )
117119
118120 @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
119121 @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
120- def test_get_sdk_version_prefix_windows (self , mock_system , mock_getenv ):
122+ def test_get_sdk_version_prefix_windows (self , mock_system , mock_isdir ):
121123 result = _utils ._get_sdk_version_prefix ()
122124 self .assertEqual (result , "uwm_" )
123125
124126 @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
125127 @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
126- def test_get_sdk_version_prefix_attach (self , mock_system , mock_getenv ):
128+ def test_get_sdk_version_prefix_attach (self , mock_system , mock_isdir ):
127129 result = _utils ._get_sdk_version_prefix ()
128130 self .assertEqual (result , "uui_" )
129131
130132 @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
131133 @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 ):
134+ def test_get_sdk_version_prefix_attach_linux (self , mock_system , mock_isdir ):
133135 result = _utils ._get_sdk_version_prefix ()
134136 self .assertEqual (result , "uli_" )
135137
136138 @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
137139 @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 ):
140+ def test_get_sdk_version_prefix_attach_windows (self , mock_system , mock_isdir ):
139141 result = _utils ._get_sdk_version_prefix ()
140142 self .assertEqual (result , "uwi_" )
141143
@@ -146,7 +148,7 @@ def test_get_sdk_version_prefix_attach_windows(self, mock_system, mock_getenv):
146148 )
147149 @patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = False )
148150 @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
149- def test_get_sdk_version_prefix_app_service (self , mock_system , mock_getenv ):
151+ def test_get_sdk_version_prefix_app_service (self , mock_system , mock_isdir ):
150152 result = _utils ._get_sdk_version_prefix ()
151153 self .assertEqual (result , "aum_" )
152154
@@ -155,7 +157,7 @@ def test_get_sdk_version_prefix_app_service(self, mock_system, mock_getenv):
155157 )
156158 @patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = False )
157159 @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 ):
160+ def test_get_sdk_version_prefix_app_service_linux (self , mock_system , mock_isdir ):
159161 result = _utils ._get_sdk_version_prefix ()
160162 self .assertEqual (result , "alm_" )
161163
@@ -164,7 +166,7 @@ def test_get_sdk_version_prefix_app_service_linux(self, mock_system, mock_getenv
164166 )
165167 @patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = False )
166168 @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 ):
169+ def test_get_sdk_version_prefix_app_service_windows (self , mock_system , mock_isdir ):
168170 result = _utils ._get_sdk_version_prefix ()
169171 self .assertEqual (result , "awm_" )
170172
@@ -173,7 +175,7 @@ def test_get_sdk_version_prefix_app_service_windows(self, mock_system, mock_gete
173175 )
174176 @patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = True )
175177 @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 ):
178+ def test_get_sdk_version_prefix_app_service_attach (self , mock_system , mock_isdir ):
177179 result = _utils ._get_sdk_version_prefix ()
178180 self .assertEqual (result , "aui_" )
179181
@@ -182,7 +184,7 @@ def test_get_sdk_version_prefix_app_service_attach(self, mock_system, mock_geten
182184 )
183185 @patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = True )
184186 @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 ):
187+ def test_get_sdk_version_prefix_app_service_linux_attach (self , mock_system , mock_isdir ):
186188 result = _utils ._get_sdk_version_prefix ()
187189 self .assertEqual (result , "ali_" )
188190
@@ -191,7 +193,7 @@ def test_get_sdk_version_prefix_app_service_linux_attach(self, mock_system, mock
191193 )
192194 @patch ("azure.monitor.opentelemetry.exporter._utils.isdir" , return_value = True )
193195 @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 ):
196+ def test_get_sdk_version_prefix_app_service_windows_attach (self , mock_system , mock_isdir ):
195197 result = _utils ._get_sdk_version_prefix ()
196198 self .assertEqual (result , "awi_" )
197199
@@ -202,9 +204,8 @@ def test_get_sdk_version_prefix_app_service_windows_attach(self, mock_system, mo
202204 {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
203205 clear = True ,
204206 )
205- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
206207 @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
207- def test_get_sdk_version_prefix_function (self , mock_system , mock_getenv ):
208+ def test_get_sdk_version_prefix_function (self , mock_system ):
208209 result = _utils ._get_sdk_version_prefix ()
209210 self .assertEqual (result , "fum_" )
210211
@@ -213,9 +214,8 @@ def test_get_sdk_version_prefix_function(self, mock_system, mock_getenv):
213214 {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
214215 clear = True ,
215216 )
216- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
217217 @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 ):
218+ def test_get_sdk_version_prefix_function_linux (self , mock_system ):
219219 result = _utils ._get_sdk_version_prefix ()
220220 self .assertEqual (result , "flm_" )
221221
@@ -224,45 +224,124 @@ def test_get_sdk_version_prefix_function_linux(self, mock_system, mock_getenv):
224224 {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
225225 clear = True ,
226226 )
227- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = False )
228227 @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 ):
228+ def test_get_sdk_version_prefix_function_windows (self , mock_system ):
230229 result = _utils ._get_sdk_version_prefix ()
231230 self .assertEqual (result , "fwm_" )
232231
233232 @patch .dict (
234233 "azure.monitor.opentelemetry.exporter._utils.environ" ,
235- {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
234+ {
235+ "FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME ,
236+ "PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY" : "true" ,
237+ },
236238 clear = True ,
237239 )
238- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
239240 @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
240- def test_get_sdk_version_prefix_function_attach (self , mock_system , mock_getenv ):
241+ def test_get_sdk_version_prefix_function_attach (self , mock_system ):
241242 result = _utils ._get_sdk_version_prefix ()
242243 self .assertEqual (result , "fui_" )
243244
244245 @patch .dict (
245246 "azure.monitor.opentelemetry.exporter._utils.environ" ,
246- {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
247+ {
248+ "FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME ,
249+ "PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY" : "true" ,
250+ },
247251 clear = True ,
248252 )
249- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
250253 @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 ):
254+ def test_get_sdk_version_prefix_function_linux_attach (self , mock_system ):
252255 result = _utils ._get_sdk_version_prefix ()
253256 self .assertEqual (result , "fli_" )
254257
255258 @patch .dict (
256259 "azure.monitor.opentelemetry.exporter._utils.environ" ,
257- {"FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME },
260+ {
261+ "FUNCTIONS_WORKER_RUNTIME" : TEST_WEBSITE_SITE_NAME ,
262+ "PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY" : "true" ,
263+ },
258264 clear = True ,
259265 )
260- @patch ("azure.monitor.opentelemetry.exporter._utils._is_attach_enabled" , return_value = True )
261266 @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 ):
267+ def test_get_sdk_version_prefix_function_windows_attach (self , mock_system ):
263268 result = _utils ._get_sdk_version_prefix ()
264269 self .assertEqual (result , "fwi_" )
265270
271+ # AKS SDK Version Prefix
272+
273+ @patch .dict (
274+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
275+ {
276+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
277+ },
278+ clear = True ,
279+ )
280+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
281+ def test_get_sdk_version_prefix_aks (self , mock_system ):
282+ result = _utils ._get_sdk_version_prefix ()
283+ self .assertEqual (result , "kum_" )
284+
285+ @patch .dict (
286+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
287+ {
288+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
289+ },
290+ clear = True ,
291+ )
292+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
293+ def test_get_sdk_version_prefix_aks_linux (self , mock_system ):
294+ result = _utils ._get_sdk_version_prefix ()
295+ self .assertEqual (result , "klm_" )
296+
297+ @patch .dict (
298+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
299+ {
300+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
301+ },
302+ clear = True ,
303+ )
304+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
305+ def test_get_sdk_version_prefix_aks_windows (self , mock_system ):
306+ result = _utils ._get_sdk_version_prefix ()
307+ self .assertEqual (result , "kwm_" )
308+
309+ @patch .dict (
310+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
311+ {
312+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
313+ },
314+ clear = True ,
315+ )
316+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "" )
317+ def test_get_sdk_version_prefix_aks_attach (self , mock_system ):
318+ result = _utils ._get_sdk_version_prefix ()
319+ self .assertEqual (result , "kui_" )
320+
321+ @patch .dict (
322+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
323+ {
324+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
325+ },
326+ clear = True ,
327+ )
328+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Linux" )
329+ def test_get_sdk_version_prefix_aks_linux_attach (self , mock_system ):
330+ result = _utils ._get_sdk_version_prefix ()
331+ self .assertEqual (result , "kli_" )
332+
333+ @patch .dict (
334+ "azure.monitor.opentelemetry.exporter._utils.environ" ,
335+ {
336+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
337+ },
338+ clear = True ,
339+ )
340+ @patch ("azure.monitor.opentelemetry.exporter._utils.platform.system" , return_value = "Windows" )
341+ def test_get_sdk_version_prefix_aks_windows_attach (self , mock_system ):
342+ result = _utils ._get_sdk_version_prefix ()
343+ self .assertEqual (result , "kwi_" )
344+
266345 # Attach
267346
268347 @patch (
@@ -288,7 +367,22 @@ def test_attach_app_service_disabled(self, mock_isdir):
288367 @patch .dict ("azure.monitor.opentelemetry.exporter._utils.environ" , {}, clear = True )
289368 def test_attach_off_app_service_with_agent (self , mock_isdir ):
290369 # This is not an expected scenario and just tests the default
291- self .assertEqual (_utils ._is_attach_enabled (), False )
370+ self .assertFalse (_utils ._is_attach_enabled ())
371+
372+ @patch .dict ("azure.monitor.opentelemetry.exporter._utils.environ" , {
373+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
374+ "AKS_ARM_NAMESPACE_ID" : TEST_AKS_ARM_NAMESPACE_ID ,
375+ }, clear = True )
376+ def test_attach_aks (self ):
377+ # This is not an expected scenario and just tests the default
378+ self .assertTrue (_utils ._is_attach_enabled ())
379+
380+ @patch .dict ("azure.monitor.opentelemetry.exporter._utils.environ" , {
381+ "KUBERNETES_SERVICE_HOST" : TEST_KUBERNETES_SERVICE_HOST ,
382+ }, clear = True )
383+ def test_aks_no_attach (self ):
384+ # This is not an expected scenario and just tests the default
385+ self .assertFalse (_utils ._is_attach_enabled ())
292386
293387 # Synthetic
294388
0 commit comments