11import pickle
2+ import asyncio
3+ import iris
24import codecs
35from datetime import datetime , date , time
46from unittest .mock import MagicMock
57
68from iop ._business_host import _BusinessHost
79
8- from iop import Message
9-
1010from registerFilesIop .message import TestSimpleMessage , TestSimpleMessageNotMessage , TestSimpleMessageNotDataclass , TestPickledMessage , FullMessage , PostMessage , MyResponse
1111
1212from registerFilesIop .obj import PostClass
1313
1414from registerFilesIop .bs import RedditService
15+ from registerFilesIop .bo import FileOperation
16+
17+ def test_send_request_async_ng ():
18+ bh = _BusinessHost ()
19+ bh .iris_handle = MagicMock ()
20+ bh .iris_handle .dispatchSendRequestAsyncNG = MagicMock ()
21+ bh .iris_handle .dispatchIsRequestDone .return_value = 2
22+ bh ._dispatch_deserializer = MagicMock ()
23+ bh ._dispatch_deserializer .return_value = MyResponse (value = 'test' )
24+ result = bh .send_request_async_ng ('test' , TestSimpleMessage (integer = 1 , string = 'test' ))
25+ assert asyncio .iscoroutine (result )
26+ assert asyncio .run (result ) == MyResponse (value = 'test' )
27+
28+ def test_send_multi_request_sync ():
29+ bh = _BusinessHost ()
30+ bh .iris_handle = MagicMock ()
31+ bh .iris_handle .dispatchSendRequestSyncMultiple = MagicMock ()
32+ rsp = iris .cls ("Ens.CallStructure" )._New ()
33+ rsp .Response = MyResponse (value = 'test' )
34+ rsp .ResponseCode = 1
35+ bh .iris_handle .dispatchSendRequestSyncMultiple .return_value = [rsp ]
36+ result = bh .send_multi_request_sync ([('test' , TestSimpleMessage (integer = 1 , string = 'test' ))])
37+ assert result == [('test' , TestSimpleMessage (integer = 1 , string = 'test' ),MyResponse (value = 'test' ),1 )]
38+
39+ def test_dispatch_message ():
40+ bs = FileOperation ()
41+ bs .PutLine = MagicMock ()
42+ bs .Limit = 1
43+ bs .on_init ()
44+ bs ._dispach_message (PostMessage (Post = PostClass (Title = 'test' , Selftext = 'test' ,
45+ Url = 'test' , Author = 'test' , CreatedUTC = 1.1 , OriginalJSON = 'test' ),
46+ Found = 'True' , ToEmailAddress = 'test' ))
47+ assert True
48+
1549
1650def test_dispatch_serializer ():
1751 bh = _BusinessHost ()
@@ -63,6 +97,19 @@ def test_serialize_message_not_dataclass():
6397 except Exception as e :
6498 assert type (e ) == TypeError
6599
100+ def test_serialize_message_string ():
101+ bh = _BusinessHost ()
102+ msg = 'test'
103+
104+ # Mock iris_handler
105+ bh .iris_handle = MagicMock ()
106+
107+ # expect an error
108+ try :
109+ bh .send_request_sync (target = 'test' , request = msg )
110+ except Exception as e :
111+ assert type (e ) == TypeError
112+
66113def test_serialize_message_not_message ():
67114 bh = _BusinessHost ()
68115 msg = TestSimpleMessageNotMessage ()
@@ -202,4 +249,5 @@ def test_dispatch_on_get_connections():
202249 _list_len = _list .__len__ ()
203250 for i in range (0 , _list_len ):
204251 print (_list .__getitem__ (i ))
205- assert len (_list ) == 1
252+ assert len (_list ) == 1
253+
0 commit comments