tests.link_tests module#
Test Link functionality.
- class tests.link_tests.Issue10254TestCase(*args, **kwargs)[source]#
Bases:
DisconnectedSiteMixin
,DefaultDrySiteTestCase
Test T102461 (Python issue 10254).
- abstract_class = False#
- code = 'test'#
- dry = True#
- family = 'wikipedia'#
- site = True#
- sites = {'wikipedia:test': {'code': 'test', 'family': 'wikipedia'}}#
- class tests.link_tests.LinkTestCase(*args, **kwargs)[source]#
Bases:
AlteredDefaultSiteTestCase
Cached API test for link tests.
- abstract_class = True#
- cache = True#
- class tests.link_tests.LinkTestWikiEn(*args, **kwargs)[source]#
Bases:
LinkTestCase
Link tests on wikipedia:en.
- abstract_class = True#
- code = 'en'#
- family = 'wikipedia'#
- class tests.link_tests.TestCreateSeparated(*args, **kwargs)[source]#
Bases:
DisconnectedSiteMixin
,DefaultDrySiteTestCase
Test
Link.create_separated
.- abstract_class = False#
- code = 'test'#
- dry = True#
- family = 'wikipedia'#
- site = True#
- sites = {'wikipedia:test': {'code': 'test', 'family': 'wikipedia'}}#
- class tests.link_tests.TestEmptyTitle(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,TestCase
Test links which contain no title.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestForeignInterwikiLinks(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,WikimediaDefaultSiteTestCase
Test links to non-wikis.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- test_non_wiki_prefix()[source]#
Test that Link fails if the interwiki prefix is not a wiki.
bugzilla does not return a json content but redirects to phab. api.Request._json_loads cannot detect this problem and raises a
exceptions.SiteDefinitionError
. The site is created anyway but the title cannot be parsed:
- test_other_wiki_prefix()[source]#
Test that Link fails if the interwiki prefix is a unknown family.
Sometimes bulba does not return a json content but a security script. api.Request._json_loads raises a
exceptions.SiteDefinitionError
for an invalidAutofamily('bulbapedia.bulbagarden.net')
. The site is created anyway but the title cannot be parsed in such case.
- class tests.link_tests.TestFullyQualifiedExplicitLinkNoLangConfigFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test link from family without lang code to a different family.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- test_fully_qualified_NS0_family()[source]#
Test ‘:wikipedia:en:Main Page’ on wikidata is namespace 0.
- class tests.link_tests.TestFullyQualifiedExplicitLinkSameFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestWikiEn
Link tests.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestFullyQualifiedImplicitLinkNoLangConfigFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test implicit link from family without lang code to other family.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- test_fully_qualified_NS0_family()[source]#
Test ‘wikipedia:en:Main Page’ on wikidata is namespace 0.
- class tests.link_tests.TestFullyQualifiedImplicitLinkSameFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestWikiEn
Link tests.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestFullyQualifiedLinkDifferentFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test link to a different family with and without preleading colon.
- PATTERN = '{colon}{first}:{second}:{title}'#
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestFullyQualifiedNoLangFamilyExplicitLinkParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test wikibase links.
- abstract_class = False#
- net = True#
- site = True#
- sites = {'test': {'code': 'test', 'family': 'wikipedia'}, 'wikidata': {'code': 'wikidata', 'family': 'wikidata'}}#
- class tests.link_tests.TestFullyQualifiedNoLangFamilyImplicitLinkParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test wikibase links without preleading colon.
- abstract_class = False#
- code = 'test'#
- family = 'wikidata'#
- net = True#
- site = True#
- sites = {'wikidata:test': {'code': 'test', 'family': 'wikidata'}}#
- class tests.link_tests.TestFullyQualifiedOneSiteFamilyExplicitLinkParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test links to one site target family.
- abstract_class = False#
- code = 'species'#
- family = 'species'#
- net = True#
- site = True#
- sites = {'species:species': {'code': 'species', 'family': 'species'}}#
- class tests.link_tests.TestFullyQualifiedOneSiteFamilyImplicitLinkParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test links to one site target family without preleading colon.
- abstract_class = False#
- code = 'species'#
- family = 'species'#
- net = True#
- site = True#
- sites = {'species:species': {'code': 'species', 'family': 'species'}}#
- class tests.link_tests.TestFullyQualifiedSameNamespaceFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Link tests.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestLink(*args, **kwargs)[source]#
Bases:
DisconnectedSiteMixin
,DefaultDrySiteTestCase
Test parsing links with DrySite.
The DrySite is using the builtin namespaces which behaviour is controlled in this repository so namespace aware tests do work, even when the actual default site is using completely different namespaces.
- abstract_class = False#
- code = 'test'#
- dry = True#
- family = 'wikipedia'#
- site = True#
- sites = {'wikipedia:test': {'code': 'test', 'family': 'wikipedia'}}#
- class tests.link_tests.TestPartiallyQualifiedExplicitLinkDifferentCodeParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestWikiEn
Link tests.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestPartiallyQualifiedExplicitLinkDifferentFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Link tests.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestPartiallyQualifiedExplicitLinkSameSiteParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestWikiEn
Link tests.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestPartiallyQualifiedImplicitLinkDifferentCodeParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestWikiEn
Test partially qualified links to different code.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestPartiallyQualifiedImplicitLinkDifferentFamilyParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestCase
Test partially qualified links to different family.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestPartiallyQualifiedImplicitLinkSameSiteParser(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,LinkTestWikiEn
Test partially qualified links to same site.
- abstract_class = False#
- code = 'en'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:en': {'code': 'en', 'family': 'wikipedia'}}#
- class tests.link_tests.TestSiteLink(*args, **kwargs)[source]#
Bases:
CheckHostnameMixin
,WikimediaDefaultSiteTestCase
Test parsing namespaces when creating SiteLinks.
- abstract_class = False#
- code = 'test'#
- family = 'wikipedia'#
- net = True#
- site = True#
- sites = {'wikipedia:test': {'code': 'test', 'family': 'wikipedia'}}#