1414import unittest
1515from unittest .mock import Mock , call , patch
1616
17- from opentelemetry .instrumentation .dependencies import (
18- DependencyConflict ,
19- DependencyConflictError ,
20- )
2117from opentelemetry .sdk ._logs import LoggingHandler
2218from opentelemetry .sdk .resources import Resource
2319
@@ -537,10 +533,12 @@ def test_setup_live_metrics(
537533
538534 @patch ("azure.monitor.opentelemetry._configure._ALL_SUPPORTED_INSTRUMENTED_LIBRARIES" , ("test_instr2" ))
539535 @patch ("azure.monitor.opentelemetry._configure._is_instrumentation_enabled" )
536+ @patch ("azure.monitor.opentelemetry._configure.get_dist_dependency_conflicts" )
540537 @patch ("azure.monitor.opentelemetry._configure.entry_points" )
541538 def test_setup_instrumentations_lib_not_supported (
542539 self ,
543540 iter_mock ,
541+ dep_mock ,
544542 enabled_mock ,
545543 ):
546544 ep_mock = Mock ()
@@ -552,8 +550,10 @@ def test_setup_instrumentations_lib_not_supported(
552550 ep_mock .name = "test_instr1"
553551 ep2_mock .name = "test_instr2"
554552 ep2_mock .load .return_value = instr_class_mock
553+ dep_mock .return_value = None
555554 enabled_mock .return_value = True
556555 _setup_instrumentations ({})
556+ dep_mock .assert_called_with (ep2_mock .dist )
557557 ep_mock .load .assert_not_called ()
558558 ep2_mock .load .assert_called_once ()
559559 instrumentor_mock .instrument .assert_called_once ()
@@ -579,10 +579,12 @@ def test_setup_instrumentations_additional_azure(
579579 @patch ("azure.monitor.opentelemetry._configure._ALL_SUPPORTED_INSTRUMENTED_LIBRARIES" , ("test_instr" ))
580580 @patch ("azure.monitor.opentelemetry._configure._is_instrumentation_enabled" )
581581 @patch ("azure.monitor.opentelemetry._configure._logger" )
582+ @patch ("azure.monitor.opentelemetry._configure.get_dist_dependency_conflicts" )
582583 @patch ("azure.monitor.opentelemetry._configure.entry_points" )
583584 def test_setup_instrumentations_conflict (
584585 self ,
585586 iter_mock ,
587+ dep_mock ,
586588 logger_mock ,
587589 enabled_mock ,
588590 ):
@@ -593,24 +595,23 @@ def test_setup_instrumentations_conflict(
593595 instr_class_mock .return_value = instrumentor_mock
594596 ep_mock .name = "test_instr"
595597 ep_mock .load .return_value = instr_class_mock
596- instrumentor_mock .instrument .side_effect = DependencyConflictError (
597- DependencyConflict (
598- required = "test_instr"
599- )
600- )
598+ dep_mock .return_value = True
601599 enabled_mock .return_value = True
602600 _setup_instrumentations ({})
603- ep_mock .load .assert_called_once ()
604- instrumentor_mock .instrument .assert_called_once ()
601+ dep_mock .assert_called_with (ep_mock .dist )
602+ ep_mock .load .assert_not_called ()
603+ instrumentor_mock .instrument .assert_not_called ()
605604 logger_mock .debug .assert_called_once ()
606605
607606 @patch ("azure.monitor.opentelemetry._configure._ALL_SUPPORTED_INSTRUMENTED_LIBRARIES" , ("test_instr" ))
608607 @patch ("azure.monitor.opentelemetry._configure._is_instrumentation_enabled" )
609608 @patch ("azure.monitor.opentelemetry._configure._logger" )
609+ @patch ("azure.monitor.opentelemetry._configure.get_dist_dependency_conflicts" )
610610 @patch ("azure.monitor.opentelemetry._configure.entry_points" )
611611 def test_setup_instrumentations_exception (
612612 self ,
613613 iter_mock ,
614+ dep_mock ,
614615 logger_mock ,
615616 enabled_mock ,
616617 ):
@@ -621,8 +622,10 @@ def test_setup_instrumentations_exception(
621622 instr_class_mock .return_value = instrumentor_mock
622623 ep_mock .name = "test_instr"
623624 ep_mock .load .side_effect = Exception ()
625+ dep_mock .return_value = None
624626 enabled_mock .return_value = True
625627 _setup_instrumentations ({})
628+ dep_mock .assert_called_with (ep_mock .dist )
626629 ep_mock .load .assert_called_once ()
627630 instrumentor_mock .instrument .assert_not_called ()
628631 logger_mock .warning .assert_called_once ()
@@ -632,10 +635,12 @@ def test_setup_instrumentations_exception(
632635 )
633636 @patch ("azure.monitor.opentelemetry._configure._is_instrumentation_enabled" )
634637 @patch ("azure.monitor.opentelemetry._configure._logger" )
638+ @patch ("azure.monitor.opentelemetry._configure.get_dist_dependency_conflicts" )
635639 @patch ("azure.monitor.opentelemetry._configure.entry_points" )
636640 def test_setup_instrumentations_disabled (
637641 self ,
638642 iter_mock ,
643+ dep_mock ,
639644 logger_mock ,
640645 enabled_mock ,
641646 ):
@@ -648,8 +653,10 @@ def test_setup_instrumentations_disabled(
648653 ep_mock .name = "test_instr1"
649654 ep2_mock .name = "test_instr2"
650655 ep2_mock .load .return_value = instr_class_mock
656+ dep_mock .return_value = None
651657 enabled_mock .side_effect = [False , True ]
652658 _setup_instrumentations ({})
659+ dep_mock .assert_called_with (ep2_mock .dist )
653660 ep_mock .load .assert_not_called ()
654661 ep2_mock .load .assert_called_once ()
655662 instrumentor_mock .instrument .assert_called_once ()
0 commit comments