comparison sat/test/test_plugin_misc_groupblog.py @ 4037:524856bd7b19

massive refactoring to switch from camelCase to snake_case: historically, Libervia (SàT before) was using camelCase as allowed by PEP8 when using a pre-PEP8 code, to use the same coding style as in Twisted. However, snake_case is more readable and it's better to follow PEP8 best practices, so it has been decided to move on full snake_case. Because Libervia has a huge codebase, this ended with a ugly mix of camelCase and snake_case. To fix that, this patch does a big refactoring by renaming every function and method (including bridge) that are not coming from Twisted or Wokkel, to use fully snake_case. This is a massive change, and may result in some bugs.
author Goffi <goffi@goffi.org>
date Sat, 08 Apr 2023 13:54:42 +0200
parents be6d91572633
children
comparison
equal deleted inserted replaced
4036:c4464d7ae97b 4037:524856bd7b19
165 self.__initialised = False 165 self.__initialised = False
166 self._initialise(C.PROFILE[0]) 166 self._initialise(C.PROFILE[0])
167 167
168 def _initialise(self, profile_key): 168 def _initialise(self, profile_key):
169 profile = profile_key 169 profile = profile_key
170 client = self.host.getClient(profile) 170 client = self.host.get_client(profile)
171 if not self.__initialised: 171 if not self.__initialised:
172 client.item_access_pubsub = jid.JID(SERVICE) 172 client.item_access_pubsub = jid.JID(SERVICE)
173 xep_0060 = self.host.plugins["XEP-0060"] 173 xep_0060 = self.host.plugins["XEP-0060"]
174 client.pubsub_client = helpers_plugins.FakeSatPubSubClient( 174 client.pubsub_client = helpers_plugins.FakeSatPubSubClient(
175 self.host, xep_0060 175 self.host, xep_0060
176 ) 176 )
177 client.pubsub_client.parent = client 177 client.pubsub_client.parent = client
178 self.psclient = client.pubsub_client 178 self.psclient = client.pubsub_client
179 helpers.FakeSAT.getDiscoItems = self.psclient.service_getDiscoItems 179 helpers.FakeSAT.getDiscoItems = self.psclient.service_get_disco_items
180 self.__initialised = True 180 self.__initialised = True
181 return defer.succeed((profile, client)) 181 return defer.succeed((profile, client))
182 182
183 def _addItem(self, profile, item, parent_node=None): 183 def _add_item(self, profile, item, parent_node=None):
184 client = self.host.getClient(profile) 184 client = self.host.get_client(profile)
185 client.pubsub_client._addItem(item, parent_node) 185 client.pubsub_client._add_item(item, parent_node)
186 186
187 def test_sendGroupBlog(self): 187 def test_send_group_blog(self):
188 self._initialise(C.PROFILE[0]) 188 self._initialise(C.PROFILE[0])
189 d = self.psclient.items(SERVICE, NODE_ID) 189 d = self.psclient.items(SERVICE, NODE_ID)
190 d.addCallback(lambda items: self.assertEqual(len(items), 0)) 190 d.addCallback(lambda items: self.assertEqual(len(items), 0))
191 d.addCallback( 191 d.addCallback(
192 lambda __: self.plugin.sendGroupBlog( 192 lambda __: self.plugin.sendGroupBlog(
194 ) 194 )
195 ) 195 )
196 d.addCallback(lambda __: self.psclient.items(SERVICE, NODE_ID)) 196 d.addCallback(lambda __: self.psclient.items(SERVICE, NODE_ID))
197 return d.addCallback(lambda items: self.assertEqual(len(items), 1)) 197 return d.addCallback(lambda items: self.assertEqual(len(items), 1))
198 198
199 def test_deleteGroupBlog(self): 199 def test_delete_group_blog(self):
200 pub_data = (SERVICE, NODE_ID, ITEM_ID_1) 200 pub_data = (SERVICE, NODE_ID, ITEM_ID_1)
201 self.host.bridge.expectCall( 201 self.host.bridge.expect_call(
202 "personalEvent", 202 "personalEvent",
203 C.JID_STR[0], 203 C.JID_STR[0],
204 "MICROBLOG_DELETE", 204 "MICROBLOG_DELETE",
205 {"type": "main_item", "id": ITEM_ID_1}, 205 {"type": "main_item", "id": ITEM_ID_1},
206 C.PROFILE[0], 206 C.PROFILE[0],
212 pub_data, COMMENTS_NODE_URL_1, profile_key=C.PROFILE[0] 212 pub_data, COMMENTS_NODE_URL_1, profile_key=C.PROFILE[0]
213 ) 213 )
214 ) 214 )
215 return d.addCallback(self.assertEqual, None) 215 return d.addCallback(self.assertEqual, None)
216 216
217 def test_updateGroupBlog(self): 217 def test_update_group_blog(self):
218 pub_data = (SERVICE, NODE_ID, ITEM_ID_1) 218 pub_data = (SERVICE, NODE_ID, ITEM_ID_1)
219 new_text = "silfu23RFWUP)IWNOEIOEFÖ" 219 new_text = "silfu23RFWUP)IWNOEIOEFÖ"
220 220
221 self._initialise(C.PROFILE[0]) 221 self._initialise(C.PROFILE[0])
222 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 222 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
230 lambda items: self.assertEqual( 230 lambda items: self.assertEqual(
231 "".join(items[0].entry.title.children), new_text 231 "".join(items[0].entry.title.children), new_text
232 ) 232 )
233 ) 233 )
234 234
235 def test_sendGroupBlogComment(self): 235 def test_send_group_blog_comment(self):
236 self._initialise(C.PROFILE[0]) 236 self._initialise(C.PROFILE[0])
237 d = self.psclient.items(SERVICE, NODE_ID) 237 d = self.psclient.items(SERVICE, NODE_ID)
238 d.addCallback(lambda items: self.assertEqual(len(items), 0)) 238 d.addCallback(lambda items: self.assertEqual(len(items), 0))
239 d.addCallback( 239 d.addCallback(
240 lambda __: self.plugin.sendGroupBlogComment( 240 lambda __: self.plugin.sendGroupBlogComment(
242 ) 242 )
243 ) 243 )
244 d.addCallback(lambda __: self.psclient.items(SERVICE, COMMENTS_NODE_ID_1)) 244 d.addCallback(lambda __: self.psclient.items(SERVICE, COMMENTS_NODE_ID_1))
245 return d.addCallback(lambda items: self.assertEqual(len(items), 1)) 245 return d.addCallback(lambda items: self.assertEqual(len(items), 1))
246 246
247 def test_getGroupBlogs(self): 247 def test_get_group_blogs(self):
248 self._initialise(C.PROFILE[0]) 248 self._initialise(C.PROFILE[0])
249 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 249 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
250 d.addCallback( 250 d.addCallback(
251 lambda __: self.plugin.getGroupBlogs(PUBLISHER, profile_key=C.PROFILE[0]) 251 lambda __: self.plugin.getGroupBlogs(PUBLISHER, profile_key=C.PROFILE[0])
252 ) 252 )
254 [ITEM_DATA_1()], 254 [ITEM_DATA_1()],
255 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1}, 255 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1},
256 ) 256 )
257 return d.addCallback(self.assertEqual, result) 257 return d.addCallback(self.assertEqual, result)
258 258
259 def test_getGroupBlogsNoCount(self): 259 def test_get_group_blogs_no_count(self):
260 self._initialise(C.PROFILE[0]) 260 self._initialise(C.PROFILE[0])
261 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 261 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
262 d.addCallback( 262 d.addCallback(
263 lambda __: self.plugin.getGroupBlogs( 263 lambda __: self.plugin.getGroupBlogs(
264 PUBLISHER, count_comments=False, profile_key=C.PROFILE[0] 264 PUBLISHER, count_comments=False, profile_key=C.PROFILE[0]
268 [ITEM_DATA_1(DO_NOT_COUNT_COMMENTS)], 268 [ITEM_DATA_1(DO_NOT_COUNT_COMMENTS)],
269 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1}, 269 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1},
270 ) 270 )
271 return d.addCallback(self.assertEqual, result) 271 return d.addCallback(self.assertEqual, result)
272 272
273 def test_getGroupBlogsWithIDs(self): 273 def test_get_group_blogs_with_i_ds(self):
274 self._initialise(C.PROFILE[0]) 274 self._initialise(C.PROFILE[0])
275 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 275 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
276 d.addCallback( 276 d.addCallback(
277 lambda __: self.plugin.getGroupBlogs( 277 lambda __: self.plugin.getGroupBlogs(
278 PUBLISHER, [ITEM_ID_1], profile_key=C.PROFILE[0] 278 PUBLISHER, [ITEM_ID_1], profile_key=C.PROFILE[0]
282 [ITEM_DATA_1()], 282 [ITEM_DATA_1()],
283 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1}, 283 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1},
284 ) 284 )
285 return d.addCallback(self.assertEqual, result) 285 return d.addCallback(self.assertEqual, result)
286 286
287 def test_getGroupBlogsWithRSM(self): 287 def test_get_group_blogs_with_rsm(self):
288 self._initialise(C.PROFILE[0]) 288 self._initialise(C.PROFILE[0])
289 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 289 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
290 d.addCallback( 290 d.addCallback(
291 lambda __: self.plugin.getGroupBlogs( 291 lambda __: self.plugin.getGroupBlogs(
292 PUBLISHER, rsm_data={"max_": 1}, profile_key=C.PROFILE[0] 292 PUBLISHER, rsm_data={"max_": 1}, profile_key=C.PROFILE[0]
296 [ITEM_DATA_1()], 296 [ITEM_DATA_1()],
297 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1}, 297 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1},
298 ) 298 )
299 return d.addCallback(self.assertEqual, result) 299 return d.addCallback(self.assertEqual, result)
300 300
301 def test_getGroupBlogsWithComments(self): 301 def test_get_group_blogs_with_comments(self):
302 self._initialise(C.PROFILE[0]) 302 self._initialise(C.PROFILE[0])
303 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 303 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
304 d.addCallback( 304 d.addCallback(
305 lambda __: self.psclient.publish(SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1]) 305 lambda __: self.psclient.publish(SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1])
306 ) 306 )
326 ], 326 ],
327 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1}, 327 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1},
328 ) 328 )
329 return d.addCallback(self.assertEqual, result) 329 return d.addCallback(self.assertEqual, result)
330 330
331 def test_getGroupBlogsWithComments2(self): 331 def test_get_group_blogs_with_comments_2(self):
332 self._initialise(C.PROFILE[0]) 332 self._initialise(C.PROFILE[0])
333 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 333 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
334 d.addCallback( 334 d.addCallback(
335 lambda __: self.psclient.publish( 335 lambda __: self.psclient.publish(
336 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2] 336 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2]
359 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1}, 359 {"count": "1", "index": "0", "first": ITEM_ID_1, "last": ITEM_ID_1},
360 ) 360 )
361 361
362 return d.addCallback(self.assertEqual, result) 362 return d.addCallback(self.assertEqual, result)
363 363
364 def test_getGroupBlogsAtom(self): 364 def test_get_group_blogs_atom(self):
365 self._initialise(C.PROFILE[0]) 365 self._initialise(C.PROFILE[0])
366 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 366 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
367 d.addCallback( 367 d.addCallback(
368 lambda __: self.plugin.getGroupBlogsAtom( 368 lambda __: self.plugin.getGroupBlogsAtom(
369 PUBLISHER, {"max_": 1}, profile_key=C.PROFILE[0] 369 PUBLISHER, {"max_": 1}, profile_key=C.PROFILE[0]
374 self.assertIsInstance(atom, str) 374 self.assertIsInstance(atom, str)
375 self.assertTrue(atom.startswith('<?xml version="1.0" encoding="utf-8"?>')) 375 self.assertTrue(atom.startswith('<?xml version="1.0" encoding="utf-8"?>'))
376 376
377 return d.addCallback(cb) 377 return d.addCallback(cb)
378 378
379 def test_getMassiveGroupBlogs(self): 379 def test_get_massive_group_blogs(self):
380 self._initialise(C.PROFILE[0]) 380 self._initialise(C.PROFILE[0])
381 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 381 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
382 d.addCallback( 382 d.addCallback(
383 lambda __: self.plugin.getMassiveGroupBlogs( 383 lambda __: self.plugin.getMassiveGroupBlogs(
384 "JID", [jid.JID(PUBLISHER)], {"max_": 1}, profile_key=C.PROFILE[0] 384 "JID", [jid.JID(PUBLISHER)], {"max_": 1}, profile_key=C.PROFILE[0]
398 return res 398 return res
399 399
400 d.addCallback(clean) 400 d.addCallback(clean)
401 d.addCallback(self.assertEqual, result) 401 d.addCallback(self.assertEqual, result)
402 402
403 def test_getMassiveGroupBlogsWithComments(self): 403 def test_get_massive_group_blogs_with_comments(self):
404 self._initialise(C.PROFILE[0]) 404 self._initialise(C.PROFILE[0])
405 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 405 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
406 d.addCallback( 406 d.addCallback(
407 lambda __: self.psclient.publish( 407 lambda __: self.psclient.publish(
408 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2] 408 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2]
427 return res 427 return res
428 428
429 d.addCallback(clean) 429 d.addCallback(clean)
430 d.addCallback(self.assertEqual, result) 430 d.addCallback(self.assertEqual, result)
431 431
432 def test_getGroupBlogComments(self): 432 def test_get_group_blog_comments(self):
433 self._initialise(C.PROFILE[0]) 433 self._initialise(C.PROFILE[0])
434 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 434 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
435 d.addCallback( 435 d.addCallback(
436 lambda __: self.psclient.publish(SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1]) 436 lambda __: self.psclient.publish(SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1])
437 ) 437 )
444 [COMMENT_DATA_1], 444 [COMMENT_DATA_1],
445 {"count": "1", "index": "0", "first": COMMENT_ID_1, "last": COMMENT_ID_1}, 445 {"count": "1", "index": "0", "first": COMMENT_ID_1, "last": COMMENT_ID_1},
446 ) 446 )
447 return d.addCallback(self.assertEqual, result) 447 return d.addCallback(self.assertEqual, result)
448 448
449 def test_subscribeGroupBlog(self): 449 def test_subscribe_group_blog(self):
450 self._initialise(C.PROFILE[0]) 450 self._initialise(C.PROFILE[0])
451 d = self.plugin.subscribeGroupBlog(PUBLISHER, profile_key=C.PROFILE[0]) 451 d = self.plugin.subscribeGroupBlog(PUBLISHER, profile_key=C.PROFILE[0])
452 return d.addCallback(self.assertEqual, None) 452 return d.addCallback(self.assertEqual, None)
453 453
454 def test_massiveSubscribeGroupBlogs(self): 454 def test_massive_subscribe_group_blogs(self):
455 self._initialise(C.PROFILE[0]) 455 self._initialise(C.PROFILE[0])
456 d = self.plugin.massiveSubscribeGroupBlogs( 456 d = self.plugin.massiveSubscribeGroupBlogs(
457 "JID", [jid.JID(PUBLISHER)], profile_key=C.PROFILE[0] 457 "JID", [jid.JID(PUBLISHER)], profile_key=C.PROFILE[0]
458 ) 458 )
459 459
467 return res 467 return res
468 468
469 d.addCallback(clean) 469 d.addCallback(clean)
470 return d.addCallback(self.assertEqual, None) 470 return d.addCallback(self.assertEqual, None)
471 471
472 def test_deleteAllGroupBlogs(self): 472 def test_delete_all_group_blogs(self):
473 """Delete our main node and associated comments node""" 473 """Delete our main node and associated comments node"""
474 self._initialise(C.PROFILE[0]) 474 self._initialise(C.PROFILE[0])
475 self.host.profiles[C.PROFILE[0]].roster.addItem(jid.JID(OTHER_PUBLISHER)) 475 self.host.profiles[C.PROFILE[0]].roster.add_item(jid.JID(OTHER_PUBLISHER))
476 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 476 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
477 d.addCallback( 477 d.addCallback(
478 lambda __: self.psclient.publish( 478 lambda __: self.psclient.publish(
479 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2] 479 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2]
480 ) 480 )
515 d.addCallback(lambda items: self.assertEqual(len(items), 1)) 515 d.addCallback(lambda items: self.assertEqual(len(items), 1))
516 d.addCallback(lambda __: self.psclient.items(SERVICE, COMMENTS_NODE_ID_2)) 516 d.addCallback(lambda __: self.psclient.items(SERVICE, COMMENTS_NODE_ID_2))
517 d.addCallback(lambda items: self.assertEqual(len(items), 2)) 517 d.addCallback(lambda items: self.assertEqual(len(items), 2))
518 return d 518 return d
519 519
520 def test_deleteAllGroupBlogsComments(self): 520 def test_delete_all_group_blogs_comments(self):
521 """Delete the comments we posted on other node's""" 521 """Delete the comments we posted on other node's"""
522 self._initialise(C.PROFILE[0]) 522 self._initialise(C.PROFILE[0])
523 self.host.profiles[C.PROFILE[0]].roster.addItem(jid.JID(OTHER_PUBLISHER)) 523 self.host.profiles[C.PROFILE[0]].roster.add_item(jid.JID(OTHER_PUBLISHER))
524 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 524 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
525 d.addCallback( 525 d.addCallback(
526 lambda __: self.psclient.publish( 526 lambda __: self.psclient.publish(
527 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2] 527 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2]
528 ) 528 )
563 d.addCallback(lambda items: self.assertEqual(len(items), 1)) 563 d.addCallback(lambda items: self.assertEqual(len(items), 1))
564 d.addCallback(lambda __: self.psclient.items(SERVICE, COMMENTS_NODE_ID_2)) 564 d.addCallback(lambda __: self.psclient.items(SERVICE, COMMENTS_NODE_ID_2))
565 d.addCallback(lambda items: self.assertEqual(len(items), 0)) 565 d.addCallback(lambda items: self.assertEqual(len(items), 0))
566 return d 566 return d
567 567
568 def test_deleteAllGroupBlogsAndComments(self): 568 def test_delete_all_group_blogs_and_comments(self):
569 self._initialise(C.PROFILE[0]) 569 self._initialise(C.PROFILE[0])
570 self.host.profiles[C.PROFILE[0]].roster.addItem(jid.JID(OTHER_PUBLISHER)) 570 self.host.profiles[C.PROFILE[0]].roster.add_item(jid.JID(OTHER_PUBLISHER))
571 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1]) 571 d = self.psclient.publish(SERVICE, NODE_ID, [ITEM_1])
572 d.addCallback( 572 d.addCallback(
573 lambda __: self.psclient.publish( 573 lambda __: self.psclient.publish(
574 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2] 574 SERVICE, COMMENTS_NODE_ID_1, [COMMENT_1, COMMENT_2]
575 ) 575 )