5252from logfire ._internal .exporters .wrapper import WrapperSpanExporter
5353from logfire ._internal .integrations .executors import deserialize_config , serialize_config
5454from logfire ._internal .tracer import PendingSpanProcessor
55- from logfire ._internal .utils import get_version
55+ from logfire ._internal .utils import SeededRandomIdGenerator , get_version
5656from logfire .exceptions import LogfireConfigError
5757from logfire .integrations .pydantic import get_pydantic_plugin_config
5858from logfire .testing import TestExporter
@@ -848,14 +848,13 @@ def test_config_serializable():
848848 )
849849
850850 serialized = serialize_config ()
851+ GLOBAL_CONFIG ._initialized = False # type: ignore # ensure deserialize_config actually configures
851852 deserialize_config (serialized )
852853 serialized2 = serialize_config ()
853854
854855 def normalize (s : dict [str , Any ]) -> dict [str , Any ]:
855856 for value in s .values ():
856857 assert not dataclasses .is_dataclass (value )
857- # This gets deepcopied by dataclasses.asdict, so we can't compare them directly
858- del s ['advanced' ]['id_generator' ]
859858 return s
860859
861860 assert normalize (serialized ) == normalize (serialized2 )
@@ -864,6 +863,7 @@ def normalize(s: dict[str, Any]) -> dict[str, Any]:
864863 assert isinstance (GLOBAL_CONFIG .sampling , logfire .SamplingOptions )
865864 assert isinstance (GLOBAL_CONFIG .scrubbing , logfire .ScrubbingOptions )
866865 assert isinstance (GLOBAL_CONFIG .advanced , logfire .AdvancedOptions )
866+ assert isinstance (GLOBAL_CONFIG .advanced .id_generator , SeededRandomIdGenerator )
867867
868868
869869def test_config_serializable_console_false ():
0 commit comments