Skip to content

Commit 8cec238

Browse files
committed
Enhance BenchIoP and BenchIoPProcess with Pickle message support and update test cases
1 parent ee60292 commit 8cec238

File tree

5 files changed

+63
-2
lines changed

5 files changed

+63
-2
lines changed

src/tests/bench/bench_bo.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
class BenchIoPOperation(BusinessOperation):
44

5+
my_param = "BenchIoPOperation"
6+
57
def on_message(self, request):
68
self.log_info("BenchIoPOperation received message")
9+
# raise NotImplementedError("BenchIoPOperation is not implemented yet")
710
return request

src/tests/bench/bench_bp.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from iop import BusinessProcess
2-
import debugpy
32

43
class BenchIoPProcess(BusinessProcess):
54
def on_init(self):
@@ -9,6 +8,5 @@ def on_init(self):
98
self.target = 'Python.BenchIoPOperation'
109

1110
def on_message(self, request):
12-
debugpy.is_client_connected()
1311
for _ in range(self.size):
1412
_ = self.send_request_sync(self.target,request)

src/tests/bench/cls/Bench.Operation.cls

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ XData MessageMap
3030
<MapItem MessageType="IOP.Message">
3131
<Method>Method</Method>
3232
</MapItem>
33+
<MapItem MessageType="IOP.PickleMessage">
34+
<Method>Method</Method>
35+
</MapItem>
3336
</MapItems>
3437
}
3538

src/tests/bench/msg.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
11
from iop import PydanticMessage
22
from iop import Message
3+
from iop import PickleMessage
4+
from iop import PydanticPickleMessage
35
from dataclasses import dataclass
46

57
@dataclass
68
class MyMessage(Message):
79
message : str = None
810

911
class MyPydanticMessage(PydanticMessage):
12+
message : str = None
13+
14+
@dataclass
15+
class MyPickleMessage(PickleMessage):
16+
message : str = None
17+
18+
class MyPydanticPickleMessage(PydanticPickleMessage):
1019
message : str = None

src/tests/test_bench.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,54 @@ class TestBenchIoP:
7676
'component': 'Bench.Process.To.Cls',
7777
'message_type': 'msg.MyPydanticMessage',
7878
'use_json': True
79+
},
80+
{
81+
'name': 'Python BP to Python BO with Pickle Message',
82+
'component': 'Python.BenchIoPProcess',
83+
'message_type': 'msg.MyPickleMessage',
84+
'use_json': True
85+
},
86+
{
87+
'name': 'Python BP to ObjetScript BO with Pickle Message',
88+
'component': 'Python.BenchIoPProcess.To.Cls',
89+
'message_type': 'msg.MyPickleMessage',
90+
'use_json': True
91+
},
92+
{
93+
'name': 'ObjetScript BP to Python BO with Pickle Message',
94+
'component': 'Bench.Process',
95+
'message_type': 'msg.MyPickleMessage',
96+
'use_json': True
97+
},
98+
{
99+
'name': 'ObjetScript BP to ObjetScript BO with Pickle Message',
100+
'component': 'Bench.Process.To.Cls',
101+
'message_type': 'msg.MyPickleMessage',
102+
'use_json': True
103+
},
104+
{
105+
'name': 'Python BP to Python BO with Pydantic Pickle Message',
106+
'component': 'Python.BenchIoPProcess',
107+
'message_type': 'msg.MyPydanticPickleMessage',
108+
'use_json': True
109+
},
110+
{
111+
'name': 'Python BP to ObjetScript BO with Pydantic Pickle Message',
112+
'component': 'Python.BenchIoPProcess.To.Cls',
113+
'message_type': 'msg.MyPydanticPickleMessage',
114+
'use_json': True
115+
},
116+
{
117+
'name': 'ObjetScript BP to Python BO with Pydantic Pickle Message',
118+
'component': 'Bench.Process',
119+
'message_type': 'msg.MyPydanticPickleMessage',
120+
'use_json': True
121+
},
122+
{
123+
'name': 'ObjetScript BP to ObjetScript BO with Pydantic Pickle Message',
124+
'component': 'Bench.Process.To.Cls',
125+
'message_type': 'msg.MyPydanticPickleMessage',
126+
'use_json': True
79127
}
80128
]
81129

0 commit comments

Comments
 (0)