Skip to content

Commit 822ae6e

Browse files
update tests
1 parent 980dbe7 commit 822ae6e

1 file changed

Lines changed: 99 additions & 86 deletions

File tree

opentelemetry-sdk/tests/test_configurator.py

Lines changed: 99 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -837,34 +837,37 @@ def test_logging_init_custom_log_record_processors(self):
837837
)
838838
@patch("opentelemetry.sdk._configuration._get_log_level", return_value=39)
839839
def test_logging_init_exporter_level_under(self, log_level_mock):
840-
resource = Resource.create({})
841-
_init_logging(
842-
{"otlp": DummyOTLPLogExporter},
843-
resource=resource,
844-
)
845-
self.assertEqual(self.set_provider_mock.call_count, 1)
846-
provider = self.set_provider_mock.call_args[0][0]
847-
self.assertIsInstance(provider, DummyLoggerProvider)
848-
self.assertIsInstance(provider.resource, Resource)
849-
self.assertEqual(
850-
provider.resource.attributes.get("service.name"),
851-
"otlp-service",
852-
)
853-
self.assertEqual(len(provider.processors), 1)
854-
self.assertIsInstance(provider.processors[0], DummyLogRecordProcessor)
855-
self.assertIsInstance(
856-
provider.processors[0].exporter, DummyOTLPLogExporter
857-
)
858-
getLogger(__name__).error("hello")
859-
self.assertTrue(provider.processors[0].exporter.export_called)
860-
root_logger = getLogger()
861-
self.assertEqual(root_logger.level, WARNING)
862-
handler_present = False
863-
for handler in root_logger.handlers:
864-
if isinstance(handler, LoggingHandler):
865-
handler_present = True
866-
self.assertEqual(handler.level, 39)
867-
self.assertTrue(handler_present)
840+
with ResetGlobalLoggingState():
841+
resource = Resource.create({})
842+
_init_logging(
843+
{"otlp": DummyOTLPLogExporter},
844+
resource=resource,
845+
)
846+
self.assertEqual(self.set_provider_mock.call_count, 1)
847+
provider = self.set_provider_mock.call_args[0][0]
848+
self.assertIsInstance(provider, DummyLoggerProvider)
849+
self.assertIsInstance(provider.resource, Resource)
850+
self.assertEqual(
851+
provider.resource.attributes.get("service.name"),
852+
"otlp-service",
853+
)
854+
self.assertEqual(len(provider.processors), 1)
855+
self.assertIsInstance(
856+
provider.processors[0], DummyLogRecordProcessor
857+
)
858+
self.assertIsInstance(
859+
provider.processors[0].exporter, DummyOTLPLogExporter
860+
)
861+
getLogger(__name__).error("hello")
862+
self.assertTrue(provider.processors[0].exporter.export_called)
863+
root_logger = getLogger()
864+
self.assertEqual(root_logger.level, WARNING)
865+
handler_present = False
866+
for handler in root_logger.handlers:
867+
if isinstance(handler, LoggingHandler):
868+
handler_present = True
869+
self.assertEqual(handler.level, 39)
870+
self.assertTrue(handler_present)
868871

869872
@patch.dict(
870873
environ,
@@ -876,33 +879,36 @@ def test_logging_init_exporter_level_under(self, log_level_mock):
876879
)
877880
@patch("opentelemetry.sdk._configuration._get_log_level", return_value=41)
878881
def test_logging_init_exporter_level_over(self, log_level_mock):
879-
resource = Resource.create({})
880-
_init_logging(
881-
{"otlp": DummyOTLPLogExporter},
882-
resource=resource,
883-
)
884-
self.assertEqual(self.set_provider_mock.call_count, 1)
885-
provider = self.set_provider_mock.call_args[0][0]
886-
self.assertIsInstance(provider, DummyLoggerProvider)
887-
self.assertIsInstance(provider.resource, Resource)
888-
self.assertEqual(
889-
provider.resource.attributes.get("service.name"),
890-
"otlp-service",
891-
)
892-
self.assertEqual(len(provider.processors), 1)
893-
self.assertIsInstance(provider.processors[0], DummyLogRecordProcessor)
894-
self.assertIsInstance(
895-
provider.processors[0].exporter, DummyOTLPLogExporter
896-
)
897-
getLogger(__name__).error("hello")
898-
self.assertFalse(provider.processors[0].exporter.export_called)
899-
root_logger = getLogger()
900-
handler_present = False
901-
for handler in root_logger.handlers:
902-
if isinstance(handler, LoggingHandler):
903-
handler_present = True
904-
self.assertEqual(handler.level, 41)
905-
self.assertTrue(handler_present)
882+
with ResetGlobalLoggingState():
883+
resource = Resource.create({})
884+
_init_logging(
885+
{"otlp": DummyOTLPLogExporter},
886+
resource=resource,
887+
)
888+
self.assertEqual(self.set_provider_mock.call_count, 1)
889+
provider = self.set_provider_mock.call_args[0][0]
890+
self.assertIsInstance(provider, DummyLoggerProvider)
891+
self.assertIsInstance(provider.resource, Resource)
892+
self.assertEqual(
893+
provider.resource.attributes.get("service.name"),
894+
"otlp-service",
895+
)
896+
self.assertEqual(len(provider.processors), 1)
897+
self.assertIsInstance(
898+
provider.processors[0], DummyLogRecordProcessor
899+
)
900+
self.assertIsInstance(
901+
provider.processors[0].exporter, DummyOTLPLogExporter
902+
)
903+
getLogger(__name__).error("hello")
904+
self.assertFalse(provider.processors[0].exporter.export_called)
905+
root_logger = getLogger()
906+
handler_present = False
907+
for handler in root_logger.handlers:
908+
if isinstance(handler, LoggingHandler):
909+
handler_present = True
910+
self.assertEqual(handler.level, 41)
911+
self.assertTrue(handler_present)
906912

907913
@patch.dict(
908914
environ,
@@ -912,34 +918,37 @@ def test_logging_init_exporter_level_over(self, log_level_mock):
912918
},
913919
)
914920
def test_logging_init_exporter_format(self):
915-
resource = Resource.create({})
916-
_init_logging(
917-
{"otlp": DummyOTLPLogExporter},
918-
resource=resource,
919-
)
920-
self.assertEqual(self.set_provider_mock.call_count, 1)
921-
provider = self.set_provider_mock.call_args[0][0]
922-
self.assertIsInstance(provider, DummyLoggerProvider)
923-
self.assertIsInstance(provider.resource, Resource)
924-
self.assertEqual(
925-
provider.resource.attributes.get("service.name"),
926-
"otlp-service",
927-
)
928-
self.assertEqual(len(provider.processors), 1)
929-
self.assertIsInstance(provider.processors[0], DummyLogRecordProcessor)
930-
self.assertIsInstance(
931-
provider.processors[0].exporter, DummyOTLPLogExporter
932-
)
933-
getLogger(__name__).error("hello")
934-
self.assertTrue(provider.processors[0].exporter.export_called)
935-
root_logger = getLogger()
936-
self.assertEqual(root_logger.level, WARNING)
937-
handler_present = False
938-
for handler in root_logger.handlers:
939-
if isinstance(handler, LoggingHandler):
940-
self.assertEqual(handler.formatter._fmt, CUSTOM_LOG_FORMAT)
941-
handler_present = True
942-
self.assertTrue(handler_present)
921+
with ResetGlobalLoggingState():
922+
resource = Resource.create({})
923+
_init_logging(
924+
{"otlp": DummyOTLPLogExporter},
925+
resource=resource,
926+
)
927+
self.assertEqual(self.set_provider_mock.call_count, 1)
928+
provider = self.set_provider_mock.call_args[0][0]
929+
self.assertIsInstance(provider, DummyLoggerProvider)
930+
self.assertIsInstance(provider.resource, Resource)
931+
self.assertEqual(
932+
provider.resource.attributes.get("service.name"),
933+
"otlp-service",
934+
)
935+
self.assertEqual(len(provider.processors), 1)
936+
self.assertIsInstance(
937+
provider.processors[0], DummyLogRecordProcessor
938+
)
939+
self.assertIsInstance(
940+
provider.processors[0].exporter, DummyOTLPLogExporter
941+
)
942+
getLogger(__name__).error("hello")
943+
self.assertTrue(provider.processors[0].exporter.export_called)
944+
root_logger = getLogger()
945+
self.assertEqual(root_logger.level, WARNING)
946+
handler_present = False
947+
for handler in root_logger.handlers:
948+
if isinstance(handler, LoggingHandler):
949+
self.assertEqual(handler.formatter._fmt, CUSTOM_LOG_FORMAT)
950+
handler_present = True
951+
self.assertTrue(handler_present)
943952

944953
@patch.dict(
945954
environ,
@@ -971,13 +980,11 @@ def test_logging_init_exporter_without_handler_setup(self):
971980
getLogger(__name__).error("hello")
972981
self.assertFalse(provider.processors[0].exporter.export_called)
973982
root_logger = getLogger()
974-
self.assertEqual(root_logger.level, WARNING)
975983
handler_present = False
976984
for handler in root_logger.handlers:
977985
if isinstance(handler, LoggingHandler):
978-
self.assertEqual(handler.formatter._fmt, CUSTOM_LOG_FORMAT)
979986
handler_present = True
980-
self.assertTrue(handler_present)
987+
self.assertFalse(handler_present)
981988

982989
@patch.dict(environ, {}, clear=True)
983990
def test_otel_log_level_by_name_default(self):
@@ -1028,6 +1035,7 @@ def test_otel_log_level_by_name_invalid(self):
10281035
@patch.dict(
10291036
environ,
10301037
{"OTEL_RESOURCE_ATTRIBUTES": "service.name=otlp-service"},
1038+
clear=True,
10311039
)
10321040
@patch("opentelemetry.sdk._configuration._init_tracing")
10331041
@patch("opentelemetry.sdk._configuration._init_logging")
@@ -1049,6 +1057,7 @@ def test_logging_init_disable_default(self, logging_mock, tracing_mock):
10491057
"OTEL_RESOURCE_ATTRIBUTES": "service.name=otlp-service",
10501058
"OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED": "True",
10511059
},
1060+
clear=True,
10521061
)
10531062
@patch("opentelemetry.sdk._configuration._init_tracing")
10541063
@patch("opentelemetry.sdk._configuration._init_logging")
@@ -1071,6 +1080,7 @@ def test_logging_init_enable_env(self, logging_mock, tracing_mock):
10711080
"OTEL_RESOURCE_ATTRIBUTES": "service.name=otlp-service",
10721081
"OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED": "True",
10731082
},
1083+
clear=True,
10741084
)
10751085
@patch("opentelemetry.sdk._configuration._init_tracing")
10761086
@patch("opentelemetry.sdk._configuration._init_logging")
@@ -1615,16 +1625,19 @@ def __init__(self):
16151625
self.original_file_config = logging.config.fileConfig
16161626
self.root_logger = getLogger()
16171627
self.original_handlers = None
1628+
self.original_level = None
16181629

16191630
def __enter__(self):
16201631
self.original_handlers = self.root_logger.handlers[:]
1632+
self.original_level = self.root_logger.level
16211633
self.root_logger.handlers = []
16221634
return self
16231635

16241636
def __exit__(self, exc_type, exc_val, exc_tb):
16251637
self.root_logger.handlers = []
16261638
for handler in self.original_handlers:
16271639
self.root_logger.addHandler(handler)
1640+
self.root_logger.setLevel(self.original_level)
16281641
logging.basicConfig = self.original_basic_config
16291642
logging.config.dictConfig = self.original_dict_config
16301643
logging.config.fileConfig = self.original_file_config

0 commit comments

Comments
 (0)