Source code for tests.test_wikicms

'''
Created on 27.07.2020

@author: wf
'''
import unittest
import os
from wikibot.wikiclient import WikiClient
from wikibot.wikiuser import WikiUser
#from wikibot.smw import SMWClient
from tests.basetest import Basetest

[docs]class TestWikiCMS(Basetest): ''' test the Mediawiki based Content Management System '''
[docs] def setUp(self): Basetest.setUp(self) pass
[docs] def tearDown(self): pass
[docs] @staticmethod def getSMW_WikiUser(wikiId="cr"): ''' get semantic media wiki users for SemanticMediawiki.org and openresearch.org ''' iniFile=WikiUser.iniFilePath(wikiId) wikiUser=None if not os.path.isfile(iniFile): wikiDict=None if wikiId=="smwcopy": wikiDict={"wikiId": wikiId,"email":"john@doe.com","url":"http://smw.bitplan.com","scriptPath":"","version":"MediaWiki 1.35.0"} elif wikiId=="cr": wikiDict={"wikiId": wikiId,"email":"john@doe.com","url":"http://cr.bitplan.com","scriptPath":"","version":"MediaWiki 1.33.4"} elif wikiId=="smw": wikiDict={"wikiId": wikiId,"email":"john@doe.com","url":"https://www.semantic-mediawiki.org","scriptPath":"/w","version":"MediaWiki 1.31.7"} elif wikiId=="or": wikiDict={"wikiId": wikiId,"email":"john@doe.com","url":"https://www.openresearch.org","scriptPath":"/mediawiki/","version":"MediaWiki 1.31.1"} elif wikiId=="orclone": wikiDict={"wikiId": wikiId,"email":"noreply@nouser.com","url":"https://confident.dbis.rwth-aachen.de","scriptPath":"/or/","version":"MediaWiki 1.35.1"} elif wikiId=='wiki': wikiDict={"wikiId": wikiId,"email":"john@doe.com","url":"https://wiki.bitplan.com","scriptPath":"","version":"MediaWiki 1.27.3"} if wikiDict is None: raise Exception(f"{iniFile} missing for wikiId {wikiId}") else: wikiUser=WikiUser.ofDict(wikiDict, lenient=True) if Basetest.inPublicCI(): wikiUser.save() else: wikiUser=WikiUser.ofWikiId(wikiId,lenient=True) return wikiUser
[docs] @staticmethod def getSMW_Wiki(wikiId="cr"): wikiuser=TestWikiCMS.getSMW_WikiUser(wikiId) wikiclient=WikiClient.ofWikiUser(wikiuser) return wikiclient
[docs] def testWikiCMS(self): ''' test CMS access ''' wikiclient=TestWikiCMS.getSMW_Wiki("orclone") pageTitle="Main Page" page=wikiclient.getPage(pageTitle) text=page.text() if self.debug: print(text) self.assertTrue("OpenResearch" in text) pass
if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testName'] unittest.main()