1
+ # type: ignore
1
2
"""
2
3
Python Wechaty - https://github.com/wechaty/python-wechaty
3
4
59
60
from pyee import AsyncIOEventEmitter
60
61
61
62
62
- class FakeMixin :
63
- def get_fake_emitter (self ) -> AsyncIOEventEmitter :
64
- """get fake emitter
63
+ class FakeMessageManagerMixin :
64
+ """_summary_
65
65
66
- Returns:
67
- AsyncIOEventEmitter: get fake emitter
68
- """
69
- emitter = getattr (self , 'emitter' , None )
70
- assert emitter is not None , 'emitter not found'
71
- assert isinstance (emitter , AsyncIOEventEmitter )
72
- return emitter
73
-
74
- class FakeMessageManagerMixin (FakeMixin ):
66
+ Args:
67
+ FakeMixin (_type_): _description_
68
+ """
75
69
def __init__ (self ) -> None :
70
+ """_summary_
71
+ """
76
72
super ().__init__ (self )
77
73
78
74
self ._message_payloads : Dict [str , MessagePayload ] = {}
79
75
80
76
def add_fake_message (self , payload : MessagePayload ):
77
+ """_summary_
78
+
79
+ Args:
80
+ payload (MessagePayload): _description_
81
+ """
81
82
self ._message_payloads [payload .id ] = payload
82
83
83
- def get_fake_message (self , id : str ) -> Optional [MessagePayload ]:
84
- return self ._message_payloads .get (id , None )
84
+ def get_fake_message (self , message_id : str ) -> Optional [MessagePayload ]:
85
+ """_summary_
86
+
87
+ Args:
88
+ id (str): _description_
89
+
90
+ Returns:
91
+ Optional[MessagePayload]: _description_
92
+ """
93
+ return self ._message_payloads .get (message_id , None )
85
94
86
- def remove_fake_message (self , id : str ):
87
- self ._message_payloads .pop (id , None )
95
+ def remove_fake_message (self , message_id : str ):
96
+ """_summary_
97
+
98
+ Args:
99
+ id (str): _description_
100
+ """
101
+ self ._message_payloads .pop (message_id , None )
88
102
89
103
def get_all_fake_messages (self ) -> List [MessagePayload ]:
104
+ """_summary_
105
+
106
+ Returns:
107
+ List[MessagePayload]: _description_
108
+ """
90
109
return list (self ._message_payloads .values ())
91
-
92
- def emit_fake_message (self , id : str ):
93
- emitter = self .get_fake_emitter ()
94
- message = self .get_fake_message (id )
95
- emitter .emit ('message' , message )
96
110
97
- class FakeRoomManagerMixin (FakeMixin ):
111
+
112
+ class FakeRoomManagerMixin :
113
+ """_summary_
114
+
115
+ Args:
116
+ FakeMixin (_type_): _description_
117
+ """
98
118
def __init__ (self ) -> None :
119
+ """_summary_
120
+ """
99
121
super ().__init__ (self )
100
122
101
123
self ._room_payloads : Dict [str , RoomPayload ] = {}
102
124
103
125
def get_all_fake_messages (self ) -> List [RoomPayload ]:
126
+ """_summary_
127
+
128
+ Returns:
129
+ List[RoomPayload]: _description_
130
+ """
104
131
return list (self ._room_payloads .values ())
105
132
106
133
def add_fake_room (self , payload : RoomPayload ):
134
+ """_summary_
135
+
136
+ Args:
137
+ payload (RoomPayload): _description_
138
+ """
107
139
self ._room_payloads [payload .id ] = payload
108
140
109
- def get_fake_room (self , id : str ) -> Optional [RoomPayload ]:
110
- return self ._room_payloads .get (id , None )
141
+ def get_fake_room (self , room_id : str ) -> Optional [RoomPayload ]:
142
+ """_summary_
143
+
144
+ Args:
145
+ id (str): _description_
146
+
147
+ Returns:
148
+ Optional[RoomPayload]: _description_
149
+ """
150
+ return self ._room_payloads .get (room_id , None )
111
151
112
- def remove_fake_room (self , id : str ):
113
- self ._room_payloads .pop (id , None )
152
+ def remove_fake_room (self , room_id : str ):
153
+ """_summary_
154
+
155
+ Args:
156
+ id (str): _description_
157
+ """
158
+ self ._room_payloads .pop (room_id , None )
159
+
114
160
115
- class FakeContactManagerMixin (FakeMixin ):
161
+ class FakeContactManagerMixin :
162
+ """_summary_
163
+
164
+ Args:
165
+ FakeMixin (_type_): _description_
166
+ """
116
167
def __init__ (self ) -> None :
168
+ """_summary_
169
+ """
117
170
super ().__init__ (self )
118
171
119
172
self ._contact_payloads : Dict [str , ContactPayload ] = {}
120
173
121
174
def get_all_fake_messages (self ) -> List [ContactPayload ]:
175
+ """_summary_
176
+
177
+ Returns:
178
+ List[ContactPayload]: _description_
179
+ """
122
180
return list (self ._contact_payloads .values ())
123
181
124
182
def add_fake_contact (self , payload : ContactPayload ):
183
+ """_summary_
184
+
185
+ Args:
186
+ payload (ContactPayload): _description_
187
+ """
125
188
self ._contact_payloads [payload .id ] = payload
126
189
127
- def get_fake_contact (self , id : str ) -> Optional [ContactPayload ]:
128
- return self ._contact_payloads .get (id , None )
190
+ def get_fake_contact (self , contact_id : str ) -> Optional [ContactPayload ]:
191
+ """_summary_
192
+
193
+ Args:
194
+ id (str): _description_
195
+
196
+ Returns:
197
+ Optional[ContactPayload]: _description_
198
+ """
199
+ return self ._contact_payloads .get (contact_id , None )
129
200
130
- def remove_fake_contact (self , id : str ):
131
- self ._contact_payloads .pop (id , None )
201
+ def remove_fake_contact (self , contact_id : str ):
202
+ """_summary_
203
+
204
+ Args:
205
+ id (str): _description_
206
+ """
207
+ self ._contact_payloads .pop (contact_id , None )
132
208
133
209
134
210
class FakePuppet (Puppet , FakeContactManagerMixin , FakeMessageManagerMixin , FakeRoomManagerMixin ):
@@ -139,12 +215,31 @@ class FakePuppet(Puppet, FakeContactManagerMixin, FakeMessageManagerMixin, FakeR
139
215
"""
140
216
141
217
def __init__ (self , options : PuppetOptions , name : str = 'puppet' ) -> None :
218
+ """_summary_
219
+
220
+ Args:
221
+ options (PuppetOptions): _description_
222
+ name (str, optional): _description_. Defaults to 'puppet'.
223
+ """
142
224
super ().__init__ (options , name )
143
225
self .name : str = name
144
226
self .options = options
145
227
self .emitter = AsyncIOEventEmitter ()
146
228
147
- def add_random_fake_contact_message (self , msg : Optional [str ] = None , contact_id : Optional [str ] = None ) -> str :
229
+ def add_random_fake_contact_message (
230
+ self ,
231
+ msg : Optional [str ] = None ,
232
+ contact_id : Optional [str ] = None
233
+ ) -> str :
234
+ """_summary_
235
+
236
+ Args:
237
+ msg (Optional[str], optional): _description_. Defaults to None.
238
+ contact_id (Optional[str], optional): _description_. Defaults to None.
239
+
240
+ Returns:
241
+ str: _description_
242
+ """
148
243
if not msg :
149
244
msg = str (uuid4 ())
150
245
if not contact_id :
@@ -158,7 +253,22 @@ def add_random_fake_contact_message(self, msg: Optional[str] = None, contact_id:
158
253
self .add_fake_message (message )
159
254
return message .id
160
255
161
- def add_random_fake_room_message (self , msg : Optional [str ] = None , contact_id : Optional [str ] = None , room_id : Optional [str ] = None ) -> str :
256
+ def add_random_fake_room_message (
257
+ self ,
258
+ msg : Optional [str ] = None ,
259
+ contact_id : Optional [str ] = None ,
260
+ room_id : Optional [str ] = None
261
+ ) -> str :
262
+ """_summary_
263
+
264
+ Args:
265
+ msg (Optional[str], optional): _description_. Defaults to None.
266
+ contact_id (Optional[str], optional): _description_. Defaults to None.
267
+ room_id (Optional[str], optional): _description_. Defaults to None.
268
+
269
+ Returns:
270
+ str: _description_
271
+ """
162
272
if not msg :
163
273
msg = str (uuid4 ())
164
274
if not contact_id and not room_id :
@@ -183,6 +293,11 @@ def add_random_fake_room_message(self, msg: Optional[str] = None, contact_id: Op
183
293
return message_payload .id
184
294
185
295
def add_random_fake_contact (self ) -> str :
296
+ """_summary_
297
+
298
+ Returns:
299
+ str: _description_
300
+ """
186
301
payload = ContactPayload (
187
302
id = str (uuid4 ()),
188
303
name = str (uuid4 ()),
@@ -192,6 +307,11 @@ def add_random_fake_contact(self) -> str:
192
307
return payload .id
193
308
194
309
def add_random_fake_room (self ) -> str :
310
+ """_summary_
311
+
312
+ Returns:
313
+ str: _description_
314
+ """
195
315
contact_ids = random .choices (list (self ._contact_payloads .keys ()), k = 5 )
196
316
payload = RoomPayload (
197
317
id = str (uuid4 ()),
@@ -426,7 +546,7 @@ async def contact_alias(self, contact_id: str,
426
546
contact .alias = alias
427
547
self .add_fake_contact (contact )
428
548
return alias
429
-
549
+
430
550
return contact .alias
431
551
432
552
async def contact_payload_dirty (self , contact_id : str ) -> None :
0 commit comments