async def test_working_by_url(self): wiki = aiowiki.Wiki("https://en.wikipedia.org/w/api.php") self.assertEqual(wiki.http.url, "https://en.wikipedia.org/w/api.php") page = wiki.get_page("Python (programming language)") await page.summary( ) # should have a page, so it actually fetches there await wiki.close()
async def test_create_account_and_userrights(self): wiki = aiowiki.Wiki.wikipedia("en") with self.assertRaises(aiowiki.CreateAccountError): await wiki.create_account("Test1234", "pass1234") await wiki.close() async with aiowiki.Wiki(AIOWIKI_TEST_URL) as wiki: name = f"Test{randint(1, 100000000)}" await wiki.create_account(name, f"pass{randint(1, 1000000000)}") await wiki.login(AIOWIKI_TEST_USERNAME, AIOWIKI_TEST_PASSWORD) await wiki.userrights(name, "add", "bureaucrat") await wiki.userrights(name, "remove", "bureaucrat")
async def test_page_edit(self): wiki = aiowiki.Wiki(AIOWIKI_TEST_URL) page = wiki.get_page("Spam") try: await page.edit("Eggs & Ham") except aiowiki.EditError as e: if not "action you have requested is limited to users in the group" in str( e): raise else: await wiki.login(AIOWIKI_TEST_USERNAME, AIOWIKI_TEST_PASSWORD) await page.edit("Eggs & Ham") await wiki.close()
async def make_wikis(self): self.bot.wikipedia = aiowiki.Wiki.wikipedia("en", session=self.bot.session) self.bot.idlewiki = aiowiki.Wiki("https://wiki.travitia.xyz/api.php", session=self.bot.session)
async def test_login(self): wiki = aiowiki.Wiki(AIOWIKI_TEST_URL) with self.assertRaises(aiowiki.LoginFailure): await wiki.login("Test1234", "pass1234") await wiki.login(AIOWIKI_TEST_USERNAME, AIOWIKI_TEST_PASSWORD) await wiki.close()