comparison sat/test/helpers_plugins.py @ 2624:56f94936df1e

code style reformatting using black
author Goffi <goffi@goffi.org>
date Wed, 27 Jun 2018 20:14:46 +0200
parents 26edcf3a30eb
children 003b8b4b56a7
comparison
equal deleted inserted replaced
2623:49533de4540b 2624:56f94936df1e
55 for i in xrange(0, len(C.PROFILE)): 55 for i in xrange(0, len(C.PROFILE)):
56 other_profile = C.PROFILE[i] 56 other_profile = C.PROFILE[i]
57 if other_profile == profile: 57 if other_profile == profile:
58 continue 58 continue
59 try: 59 try:
60 other_room = self.plugin_parent.clients[other_profile].joined_rooms[room_jid] 60 other_room = self.plugin_parent.clients[other_profile].joined_rooms[
61 roster.setdefault(other_room.nick, User(other_room.nick, C.PROFILE_DICT[other_profile])) 61 room_jid
62 ]
63 roster.setdefault(
64 other_room.nick, User(other_room.nick, C.PROFILE_DICT[other_profile])
65 )
62 for other_nick in other_room.roster: 66 for other_nick in other_room.roster:
63 roster.setdefault(other_nick, other_room.roster[other_nick]) 67 roster.setdefault(other_nick, other_room.roster[other_nick])
64 except (AttributeError, KeyError): 68 except (AttributeError, KeyError):
65 pass 69 pass
66 70
78 for i in xrange(0, len(C.PROFILE)): 82 for i in xrange(0, len(C.PROFILE)):
79 other_profile = C.PROFILE[i] 83 other_profile = C.PROFILE[i]
80 if other_profile == profile: 84 if other_profile == profile:
81 continue 85 continue
82 try: 86 try:
83 other_room = self.plugin_parent.clients[other_profile].joined_rooms[room_jid] 87 other_room = self.plugin_parent.clients[other_profile].joined_rooms[
84 other_room.roster.setdefault(room.nick, User(room.nick, C.PROFILE_DICT[profile])) 88 room_jid
89 ]
90 other_room.roster.setdefault(
91 room.nick, User(room.nick, C.PROFILE_DICT[profile])
92 )
85 except (AttributeError, KeyError): 93 except (AttributeError, KeyError):
86 pass 94 pass
87 95
88 return defer.succeed(room) 96 return defer.succeed(room)
89 97
99 for i in xrange(0, len(C.PROFILE)): 107 for i in xrange(0, len(C.PROFILE)):
100 other_profile = C.PROFILE[i] 108 other_profile = C.PROFILE[i]
101 if other_profile == profile: 109 if other_profile == profile:
102 continue 110 continue
103 try: 111 try:
104 other_room = self.plugin_parent.clients[other_profile].joined_rooms[roomJID] 112 other_room = self.plugin_parent.clients[other_profile].joined_rooms[
113 roomJID
114 ]
105 del other_room.roster[room.nick] 115 del other_room.roster[room.nick]
106 except (AttributeError, KeyError): 116 except (AttributeError, KeyError):
107 pass 117 pass
108 del self.joined_rooms[roomJID] 118 del self.joined_rooms[roomJID]
109 return defer.Deferred() 119 return defer.Deferred()
110 120
111 121
112 class FakeXEP_0045(plugin_xep_0045.XEP_0045): 122 class FakeXEP_0045(plugin_xep_0045.XEP_0045):
113
114 def __init__(self, host): 123 def __init__(self, host):
115 self.host = host 124 self.host = host
116 self.clients = {} 125 self.clients = {}
117 for profile in C.PROFILE: 126 for profile in C.PROFILE:
118 self.clients[profile] = FakeMUCClient(self) 127 self.clients[profile] = FakeMUCClient(self)
119 128
120 def join(self, room_jid, nick, options={}, profile_key='@DEFAULT@'): 129 def join(self, room_jid, nick, options={}, profile_key="@DEFAULT@"):
121 """ 130 """
122 @param roomJID: the room JID 131 @param roomJID: the room JID
123 @param nick: nick to be used in the room 132 @param nick: nick to be used in the room
124 @param options: ignore 133 @param options: ignore
125 @param profile_key: the profile of the user joining the room 134 @param profile_key: the profile of the user joining the room
138 nick = C.JID[user_index].user 147 nick = C.JID[user_index].user
139 profile = C.PROFILE[user_index] 148 profile = C.PROFILE[user_index]
140 self.join(muc_jid, nick, profile_key=profile) 149 self.join(muc_jid, nick, profile_key=profile)
141 return self.getNick(muc_index, user_index) 150 return self.getNick(muc_index, user_index)
142 151
143 def leave(self, room_jid, profile_key='@DEFAULT@'): 152 def leave(self, room_jid, profile_key="@DEFAULT@"):
144 """ 153 """
145 @param roomJID: the room JID 154 @param roomJID: the room JID
146 @param profile_key: the profile of the user leaving the room 155 @param profile_key: the profile of the user leaving the room
147 @return: a dummy deferred 156 @return: a dummy deferred
148 """ 157 """
172 181
173 def getNick(self, muc_index, user_index): 182 def getNick(self, muc_index, user_index):
174 try: 183 try:
175 return self.getRoomNick(C.MUC[muc_index], C.PROFILE[user_index]) 184 return self.getRoomNick(C.MUC[muc_index], C.PROFILE[user_index])
176 except (KeyError, AttributeError): 185 except (KeyError, AttributeError):
177 return '' 186 return ""
178 187
179 def getNickOfUser(self, muc_index, user_index, profile_index, secure=True): 188 def getNickOfUser(self, muc_index, user_index, profile_index, secure=True):
180 try: 189 try:
181 room = self.clients[C.PROFILE[profile_index]].joined_rooms[C.MUC[muc_index]] 190 room = self.clients[C.PROFILE[profile_index]].joined_rooms[C.MUC[muc_index]]
182 return self.getRoomNickOfUser(room, C.JID[user_index]) 191 return self.getRoomNickOfUser(room, C.JID[user_index])
183 except (KeyError, AttributeError): 192 except (KeyError, AttributeError):
184 return None 193 return None
185 194
186 195
187 class FakeXEP_0249(object): 196 class FakeXEP_0249(object):
188
189 def __init__(self, host): 197 def __init__(self, host):
190 self.host = host 198 self.host = host
191 199
192 def invite(self, target, room, options={}, profile_key='@DEFAULT@'): 200 def invite(self, target, room, options={}, profile_key="@DEFAULT@"):
193 """ 201 """
194 Invite a user to a room. To accept the invitation from a test, 202 Invite a user to a room. To accept the invitation from a test,
195 just call FakeXEP_0045.joinRoom (no need to have a dedicated method). 203 just call FakeXEP_0045.joinRoom (no need to have a dedicated method).
196 @param target: jid of the user to invite 204 @param target: jid of the user to invite
197 @param room: jid of the room where the user is invited 205 @param room: jid of the room where the user is invited
200 """ 208 """
201 pass 209 pass
202 210
203 211
204 class FakeSatPubSubClient(object): 212 class FakeSatPubSubClient(object):
205
206 def __init__(self, host, parent_plugin): 213 def __init__(self, host, parent_plugin):
207 self.host = host 214 self.host = host
208 self.parent_plugin = parent_plugin 215 self.parent_plugin = parent_plugin
209 self.__items = OrderedDict() 216 self.__items = OrderedDict()
210 self.__rsm_responses = {} 217 self.__rsm_responses = {}
211 218
212 def createNode(self, service, nodeIdentifier=None, options=None, 219 def createNode(self, service, nodeIdentifier=None, options=None, sender=None):
213 sender=None):
214 return defer.succeed(None) 220 return defer.succeed(None)
215 221
216 def deleteNode(self, service, nodeIdentifier, sender=None): 222 def deleteNode(self, service, nodeIdentifier, sender=None):
217 try: 223 try:
218 del self.__items[nodeIdentifier] 224 del self.__items[nodeIdentifier]
219 except KeyError: 225 except KeyError:
220 pass 226 pass
221 return defer.succeed(None) 227 return defer.succeed(None)
222 228
223 def subscribe(self, service, nodeIdentifier, subscriber, 229 def subscribe(self, service, nodeIdentifier, subscriber, options=None, sender=None):
224 options=None, sender=None): 230 return defer.succeed(None)
225 return defer.succeed(None) 231
226 232 def unsubscribe(
227 def unsubscribe(self, service, nodeIdentifier, subscriber, 233 self,
228 subscriptionIdentifier=None, sender=None): 234 service,
235 nodeIdentifier,
236 subscriber,
237 subscriptionIdentifier=None,
238 sender=None,
239 ):
229 return defer.succeed(None) 240 return defer.succeed(None)
230 241
231 def publish(self, service, nodeIdentifier, items=None, sender=None): 242 def publish(self, service, nodeIdentifier, items=None, sender=None):
232 node = self.__items.setdefault(nodeIdentifier, []) 243 node = self.__items.setdefault(nodeIdentifier, [])
233 244
234 def replace(item_obj): 245 def replace(item_obj):
235 index = 0 246 index = 0
236 for current in node: 247 for current in node:
237 if current['id'] == item_obj['id']: 248 if current["id"] == item_obj["id"]:
238 node[index] = item_obj 249 node[index] = item_obj
239 return True 250 return True
240 index += 1 251 index += 1
241 return False 252 return False
242 253
244 item_obj = parseXml(item) if isinstance(item, unicode) else item 255 item_obj = parseXml(item) if isinstance(item, unicode) else item
245 if not replace(item_obj): 256 if not replace(item_obj):
246 node.append(item_obj) 257 node.append(item_obj)
247 return defer.succeed(None) 258 return defer.succeed(None)
248 259
249 def items(self, service, nodeIdentifier, maxItems=None, itemIdentifiers=None, 260 def items(
250 subscriptionIdentifier=None, sender=None, ext_data=None): 261 self,
262 service,
263 nodeIdentifier,
264 maxItems=None,
265 itemIdentifiers=None,
266 subscriptionIdentifier=None,
267 sender=None,
268 ext_data=None,
269 ):
251 try: 270 try:
252 items = self.__items[nodeIdentifier] 271 items = self.__items[nodeIdentifier]
253 except KeyError: 272 except KeyError:
254 items = [] 273 items = []
255 if ext_data: 274 if ext_data:
256 assert('id' in ext_data) 275 assert "id" in ext_data
257 if 'rsm' in ext_data: 276 if "rsm" in ext_data:
258 args = (0, items[0]['id'], items[-1]['id']) if items else () 277 args = (0, items[0]["id"], items[-1]["id"]) if items else ()
259 self.__rsm_responses[ext_data['id']] = RSMResponse(len(items), *args) 278 self.__rsm_responses[ext_data["id"]] = RSMResponse(len(items), *args)
260 return defer.succeed(items) 279 return defer.succeed(items)
261 280
262 def retractItems(self, service, nodeIdentifier, itemIdentifiers, sender=None): 281 def retractItems(self, service, nodeIdentifier, itemIdentifiers, sender=None):
263 node = self.__items[nodeIdentifier] 282 node = self.__items[nodeIdentifier]
264 for item in [item for item in node if item['id'] in itemIdentifiers]: 283 for item in [item for item in node if item["id"] in itemIdentifiers]:
265 node.remove(item) 284 node.remove(item)
266 return defer.succeed(None) 285 return defer.succeed(None)
267 286
268 def getRSMResponse(self, id): 287 def getRSMResponse(self, id):
269 if id not in self.__rsm_responses: 288 if id not in self.__rsm_responses: