XZise has uploaded a new change for review. https://gerrit.wikimedia.org/r/212534
Change subject: [FEAT] tests: Automatic site attributes ...................................................................... [FEAT] tests: Automatic site attributes The SiteAttributeTestCase class automatically sets the attributes of each site instance according to the sites defined (similar to how TestCase itself set 'cls.site' if only one site is defined). Change-Id: Ib680dd7cb0ccfd6b9a8b05991e64294da22d0e83 --- M tests/aspects.py M tests/dry_api_tests.py M tests/page_tests.py 3 files changed, 21 insertions(+), 15 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/34/212534/1 diff --git a/tests/aspects.py b/tests/aspects.py index c0a241c..ae29255 100644 --- a/tests/aspects.py +++ b/tests/aspects.py @@ -931,6 +931,19 @@ TestCase = six.add_metaclass(MetaTestCaseClass)(TestCase) +class SiteAttributeTestCase(TestCase): + + """Add the sites as attributes to the instances.""" + + @classmethod + def setUpClass(cls): + """Add each initialized site as an attribute to cls.""" + super(SiteAttributeTestCase, cls).setUpClass() + for site in cls.sites: + if 'site' in cls.sites[site]: + setattr(cls, site, cls.sites[site]['site']) + + class DefaultSiteTestCase(TestCase): """Run tests against the config specified site.""" diff --git a/tests/dry_api_tests.py b/tests/dry_api_tests.py index ab80178..8d8701f 100644 --- a/tests/dry_api_tests.py +++ b/tests/dry_api_tests.py @@ -24,10 +24,12 @@ from tests import _images_dir from tests.utils import DummySiteinfo -from tests.aspects import unittest, TestCase, DefaultDrySiteTestCase +from tests.aspects import ( + unittest, TestCase, DefaultDrySiteTestCase, SiteAttributeTestCase, +) -class DryCachedRequestTests(TestCase): +class DryCachedRequestTests(SiteAttributeTestCase): """Test CachedRequest using real site objects.""" @@ -46,8 +48,6 @@ def setUp(self): super(DryCachedRequestTests, self).setUp() - self.basesite = self.get_site('basesite') - self.altsite = self.get_site('altsite') self.parms = {'site': self.basesite, 'action': 'query', 'meta': 'userinfo'} diff --git a/tests/page_tests.py b/tests/page_tests.py index 202189f..c031da4 100644 --- a/tests/page_tests.py +++ b/tests/page_tests.py @@ -15,7 +15,9 @@ from pywikibot import InvalidTitle import pywikibot.page -from tests.aspects import unittest, TestCase, DefaultSiteTestCase +from tests.aspects import ( + unittest, TestCase, DefaultSiteTestCase, SiteAttributeTestCase, +) from tests.utils import expected_failure_if if sys.version_info[0] > 2: @@ -23,7 +25,7 @@ unicode = str -class TestLinkObject(TestCase): +class TestLinkObject(SiteAttributeTestCase): """Test cases for Link objects.""" @@ -51,15 +53,6 @@ } cached = True - - @classmethod - def setUpClass(cls): - super(TestLinkObject, cls).setUpClass() - cls.enwiki = cls.get_site('enwiki') - cls.frwiki = cls.get_site('frwiki') - cls.itwikt = cls.get_site('itwikt') - cls.enws = cls.get_site('enws') - cls.itws = cls.get_site('itws') namespaces = {0: [u""], # en.wikipedia.org namespaces for testing 1: [u"Talk:"], # canonical form first, then others -- To view, visit https://gerrit.wikimedia.org/r/212534 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib680dd7cb0ccfd6b9a8b05991e64294da22d0e83 Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: XZise <commodorefabia...@gmx.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits