@@ -21,7 +21,6 @@ use crate::{
2121 MetricsPullExporterFactory ,
2222 PeriodicExporterFactory ,
2323 PullExporterFactory ,
24- exporters:: prometheus_pull_exporter:: PrometheusMetricsPullExporterFactory ,
2524 } ,
2625 telemetry_config:: TelemetryConfig ,
2726} ;
@@ -262,4 +261,70 @@ mod tests {
262261 let providers = TelemetryProviders :: new ( ) ;
263262 assert ! ( providers. shutdown( ) . is_ok( ) ) ;
264263 }
264+
265+ #[ test]
266+ fn test_configurator_default ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
267+ let config = Configurator :: default ( ) ;
268+ let telemetry_config = TelemetryConfig :: default ( ) ;
269+ let telemetry_providers = config. configure_telemetry ( telemetry_config) ?;
270+
271+ assert ! ( telemetry_providers. meter_provider( ) . is_none( ) ) ;
272+ assert ! ( telemetry_providers. traces_provider( ) . is_none( ) ) ;
273+ assert ! ( telemetry_providers. logs_provider( ) . is_none( ) ) ;
274+
275+ assert ! ( telemetry_providers. shutdown( ) . is_ok( ) ) ;
276+ Ok ( ( ) )
277+ }
278+
279+ #[ test]
280+ fn test_configurator_from_yaml ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
281+ let config = Configurator :: new ( ) ;
282+ let yaml_str = r#"
283+ resource:
284+ service.name: test-service
285+ metrics:
286+ readers:
287+ - periodic:
288+ exporter:
289+ name: stdout
290+ logs:
291+ processors:
292+ - batch:
293+ exporter:
294+ name: otlp
295+ "# ;
296+ let telemetry_providers = config. configure_telemetry_from_yaml ( yaml_str. into ( ) ) ?;
297+
298+ assert ! ( telemetry_providers. meter_provider( ) . is_some( ) ) ;
299+ assert ! ( telemetry_providers. logs_provider( ) . is_some( ) ) ;
300+ assert ! ( telemetry_providers. traces_provider( ) . is_none( ) ) ;
301+
302+ assert ! ( telemetry_providers. shutdown( ) . is_ok( ) ) ;
303+ Ok ( ( ) )
304+ }
305+
306+ #[ test]
307+ fn test_telemetry_providers_default ( ) {
308+ let providers = TelemetryProviders :: default ( ) ;
309+ assert ! ( providers. meter_provider( ) . is_none( ) ) ;
310+ assert ! ( providers. traces_provider( ) . is_none( ) ) ;
311+ assert ! ( providers. logs_provider( ) . is_none( ) ) ;
312+ }
313+
314+ #[ test]
315+ fn test_telemetry_providers_getters ( ) {
316+ let meter_provider = SdkMeterProvider :: builder ( ) . build ( ) ;
317+ let logs_provider = SdkLoggerProvider :: builder ( ) . build ( ) ;
318+ let traces_provider = SdkTracerProvider :: builder ( ) . build ( ) ;
319+
320+ let providers = TelemetryProviders :: new ( )
321+ . with_logs_provider ( logs_provider)
322+ . with_meter_provider ( meter_provider)
323+ . with_traces_provider ( traces_provider) ;
324+
325+ assert ! ( providers. meter_provider( ) . is_some( ) ) ;
326+ assert ! ( providers. traces_provider( ) . is_some( ) ) ;
327+ assert ! ( providers. logs_provider( ) . is_some( ) ) ;
328+ providers. shutdown ( ) . unwrap ( ) ;
329+ }
265330}
0 commit comments