@@ -143,3 +143,76 @@ def test_init_request_initialize_azure_monitor_disabled_app_setting(
143
143
# Verify that WorkerOpenTelemetryEnabled capability is not set
144
144
capabilities = init_response .worker_init_response .capabilities
145
145
self .assertNotIn ("WorkerOpenTelemetryEnabled" , capabilities )
146
+
147
+ @patch .dict (os .environ , {'PYTHON_ENABLE_OPENTELEMETRY' : 'true' })
148
+ def test_init_request_enable_opentelemetry_enabled_app_setting (
149
+ self ,
150
+ ):
151
+
152
+ init_request = protos .StreamingMessage (
153
+ worker_init_request = protos .WorkerInitRequest (
154
+ host_version = "2.3.4" ,
155
+ function_app_directory = str (FUNCTION_APP_DIRECTORY )
156
+ )
157
+ )
158
+
159
+ init_response = self .loop .run_until_complete (
160
+ self .dispatcher ._handle__worker_init_request (init_request ))
161
+
162
+ self .assertEqual (init_response .worker_init_response .result .status ,
163
+ protos .StatusResult .Success )
164
+
165
+ # Verify otel_libs_available is set to True
166
+ self .assertTrue (self .dispatcher ._otel_libs_available )
167
+ # Verify that WorkerOpenTelemetryEnabled capability is set to _TRUE
168
+ capabilities = init_response .worker_init_response .capabilities
169
+ self .assertIn ("WorkerOpenTelemetryEnabled" , capabilities )
170
+ self .assertEqual (capabilities ["WorkerOpenTelemetryEnabled" ], "true" )
171
+
172
+ @patch .dict (os .environ , {})
173
+ def test_init_request_enable_opentelemetry_default_app_setting (
174
+ self ,
175
+ ):
176
+
177
+ init_request = protos .StreamingMessage (
178
+ worker_init_request = protos .WorkerInitRequest (
179
+ host_version = "2.3.4" ,
180
+ function_app_directory = str (FUNCTION_APP_DIRECTORY )
181
+ )
182
+ )
183
+
184
+ init_response = self .loop .run_until_complete (
185
+ self .dispatcher ._handle__worker_init_request (init_request ))
186
+
187
+ self .assertEqual (init_response .worker_init_response .result .status ,
188
+ protos .StatusResult .Success )
189
+
190
+ # Verify otel_libs_available is set to False by default
191
+ self .assertFalse (self .dispatcher ._otel_libs_available )
192
+ # Verify that WorkerOpenTelemetryEnabled capability is not set
193
+ capabilities = init_response .worker_init_response .capabilities
194
+ self .assertNotIn ("WorkerOpenTelemetryEnabled" , capabilities )
195
+
196
+ @patch .dict (os .environ , {'PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY' : 'false' })
197
+ def test_init_request_initialize_azure_monitor_disabled_app_setting (
198
+ self ,
199
+ ):
200
+
201
+ init_request = protos .StreamingMessage (
202
+ worker_init_request = protos .WorkerInitRequest (
203
+ host_version = "2.3.4" ,
204
+ function_app_directory = str (FUNCTION_APP_DIRECTORY )
205
+ )
206
+ )
207
+
208
+ init_response = self .loop .run_until_complete (
209
+ self .dispatcher ._handle__worker_init_request (init_request ))
210
+
211
+ self .assertEqual (init_response .worker_init_response .result .status ,
212
+ protos .StatusResult .Success )
213
+
214
+ # Verify otel_libs_available is set to False by default
215
+ self .assertFalse (self .dispatcher ._otel_libs_available )
216
+ # Verify that WorkerOpenTelemetryEnabled capability is not set
217
+ capabilities = init_response .worker_init_response .capabilities
218
+ self .assertNotIn ("WorkerOpenTelemetryEnabled" , capabilities )
0 commit comments