jenkins-bot merged this change.
[bugfix] clear tokens on logout()
- Re-instantiate empty TokenWallet and _paraminfo api cache object
when logout
- Skip TestLoginLogout tests on AppVeyor that fails with NoUsername
error
Bug: T222508
Change-Id: Iec6532bdd745b9c9830e0a048ec79912a4ded23c
---
M pywikibot/site.py
M tests/site_tests.py
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/pywikibot/site.py b/pywikibot/site.py
index 1d94e7e..a37dadb 100644
--- a/pywikibot/site.py
+++ b/pywikibot/site.py
@@ -2136,7 +2136,11 @@
token=self.tokens['csrf'])
uirequest.submit()
self._loginstatus = LoginStatus.NOT_LOGGED_IN
+
+ # Reset tokens and user properties
del self._userinfo
+ self.tokens = TokenWallet(self)
+ self._paraminfo = api.ParamInfo(self)
def getuserinfo(self, force=False):
"""Retrieve userinfo from site and store in _userinfo attribute.
diff --git a/tests/site_tests.py b/tests/site_tests.py
index 0e012c4..2db780d 100644
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -3707,6 +3707,8 @@
"""Test for login and logout methods."""
+ @unittest.skipIf(os.environ.get('APPVEYOR', 'false') == 'true',
+ 'No user defined for APPVEYOR tests')
def test_login_logout(self):
"""Validate login and logout methods by toggling the state."""
site = self.get_site()
To view, visit change 508893. To unsubscribe, or for help writing mail filters, visit settings.