Page MenuHomePhabricator

SiteWatchlistRevsTestCase.test_watchlist_revs may fail with pywikibot.data.api.APIError: permissiondenied
Closed, ResolvedPublic

Description

Error reported by @atagar:

My test user often lacks watchlist rights. Oddly the number of failures I get
varies (~0-4). This addresses the errors I've seen...

  % python -m unittest

  ======================================================================
  ERROR: test_watchlist_revs (tests.site_tests.SiteWatchlistRevsTestCase)
  Test the site.watchlist_revs() method.
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 1810, in test_watchlist_revs
      wl = list(mysite.watchlist_revs(total=10))
    File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 2631, in __iter__
      self.data = self.request.submit()
    File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 1922, in submit
      raise APIError(**result['error'])
  pywikibot.data.api.APIError: permissiondenied: You don't have permission to view your watchlist.

  ======================================================================
  ERROR: test_watched_pages_uncached (tests.site_tests.TestUserWatchedPages)
  Test the site.watched_pages() method uncached.
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/atagar/Desktop/pywikibot/tests/site_tests.py", line 1420, in test_watched_page...
      for page in gen:
    File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 2631, in __iter__
      self.data = self.request.submit()
    File "/home/atagar/Desktop/pywikibot/pywikibot/data/api.py", line 1922, in submit
      raise APIError(**result['error'])
  pywikibot.data.api.APIError: permissiondenied: You don't have permission to view your watchlist.

  ======================================================================
  ERROR: test_watch (tests.page_tests.TestPageUserAction)
  Test Page.watch, with and without unwatch enabled.
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/atagar/Desktop/pywikibot/tests/page_tests.py", line 1026, in test_watch
      rv = userpage.watch()
    File "/home/atagar/Desktop/pywikibot/pywikibot/page/__init__.py", line 1275, in watch
      return self.site.watch(self, unwatch)
    File "/home/atagar/Desktop/pywikibot/pywikibot/site/_decorators.py", line 90, in callee
      raise UserRightsError('User "{}" does not have required '
  pywikibot.exceptions.UserRightsError: User "Atagar-bot" does not have required user
    right "editmywatchlist"

Event Timeline

Xqt triaged this task as High priority.Apr 5 2021, 12:28 PM

Change 676852 had a related patch set uploaded (by Xqt; author: Damian):

[pywikibot/core@master] Skip tests when watchlist rights are unavailable

https://gerrit.wikimedia.org/r/676852

Change 676852 merged by jenkins-bot:

[pywikibot/core@master] [tests] Skip when watchlist rights are unavailable

https://gerrit.wikimedia.org/r/676852