@@ -70,10 +70,12 @@ def test_classes_registration_uses_key_as_iris_classname():
7070
7171 assert NativeOrderMessage ._classname == "Demo.Msg.NativeOrderMessage"
7272 assert NativeOrderMessage ._parameters ["IOP_MESSAGE_KIND" ] == "PersistentMessage"
73- assert NativeOrderMessage ._parameters ["IOP_PYTHON_CLASS" ].endswith (".NativeOrderMessage" )
74- assert NativeOrderMessage ._parameters ["IOP_PYTHON_CLASSPATH" ] == get_python_classpath (
75- NativeOrderMessage
73+ assert NativeOrderMessage ._parameters ["IOP_PYTHON_CLASS" ].endswith (
74+ ".NativeOrderMessage"
7675 )
76+ assert NativeOrderMessage ._parameters [
77+ "IOP_PYTHON_CLASSPATH"
78+ ] == get_python_classpath (NativeOrderMessage )
7779
7880
7981def test_explicit_meta_classname_conflict_raises ():
@@ -182,18 +184,27 @@ def _Id(self):
182184
183185def test_load_python_class_uses_classpath_on_cold_import (tmp_path ):
184186 app_dir = tmp_path / "app"
187+ conflict_dir = tmp_path / "conflict"
185188 app_dir .mkdir ()
189+ conflict_dir .mkdir ()
186190 module_path = app_dir / "msg.py"
187191 module_path .write_text (
188192 "from iop import Field, PersistentMessage\n "
189193 "class ColdMessage(PersistentMessage):\n "
190194 " Value: str = Field(required=True)\n " ,
191195 encoding = "utf-8" ,
192196 )
197+ (conflict_dir / "msg.py" ).write_text (
198+ "class PickleMessage:\n pass\n " ,
199+ encoding = "utf-8" ,
200+ )
193201
194202 sys .modules .pop ("msg" , None )
195203 while str (app_dir ) in sys .path :
196204 sys .path .remove (str (app_dir ))
205+ while str (conflict_dir ) in sys .path :
206+ sys .path .remove (str (conflict_dir ))
207+ sys .path .insert (0 , str (conflict_dir ))
197208
198209 try :
199210 msg_cls = load_python_class ("msg.ColdMessage" , str (app_dir ))
@@ -205,6 +216,8 @@ def test_load_python_class_uses_classpath_on_cold_import(tmp_path):
205216 sys .modules .pop ("msg" , None )
206217 while str (app_dir ) in sys .path :
207218 sys .path .remove (str (app_dir ))
219+ while str (conflict_dir ) in sys .path :
220+ sys .path .remove (str (conflict_dir ))
208221
209222
210223def test_deserializes_iris_originated_message_with_class_parameters (tmp_path ):
0 commit comments