jenkins-bot merged this change.

View Change

Approvals: Framawiki: Looks good to me, approved jenkins-bot: Verified
[tests] Add generate_family_files tests

Bug: T193971
Change-Id: I063bb2ed8b6f4a79f1883841ceba3f76ffb2f4c9
---
A tests/generate_family_files_tests.py
1 file changed, 71 insertions(+), 0 deletions(-)

diff --git a/tests/generate_family_files_tests.py b/tests/generate_family_files_tests.py
new file mode 100644
index 0000000..be9a19c
--- /dev/null
+++ b/tests/generate_family_files_tests.py
@@ -0,0 +1,71 @@
+# -*- coding: utf-8 -*-
+"""Test generate_family_files script."""
+#
+# (C) Pywikibot team, 2018
+#
+# Distributed under the terms of the MIT license.
+#
+from __future__ import absolute_import, unicode_literals
+
+from random import choice
+
+from pywikibot import Site
+
+from tests.aspects import unittest, DefaultSiteTestCase
+
+import generate_family_file
+
+
+class FamilyTestGenerator(generate_family_file.FamilyFileGenerator):
+
+ """Family file test creator."""
+
+ def getapis(self):
+ """Only load additional two additional wikis randomly."""
+ save = self.langs
+ self.langs = [choice(save) for i in range(2)]
+ self.prefixes = [item['prefix'] for item in self.langs]
+ super(FamilyTestGenerator, self).getapis()
+ self.langs = save
+
+ def writefile(self):
+ """Pass writing."""
+ pass
+
+
+class TestGenerateFamilyFiles(DefaultSiteTestCase):
+
+ """Test generate_family_file functionality."""
+
+ def setUp(self):
+ """Set up tests class."""
+ super(TestGenerateFamilyFiles, self).setUp()
+ self.generator_instance = FamilyTestGenerator(
+ url=self.site.base_url(''), name='gff-test', dointerwiki='y')
+
+ def test_initial_attibutes(self):
+ """Test inital FamilyFileGenerator attributes."""
+ self.assertEqual(self.generator_instance.base_url,
+ self.site.base_url(''))
+ self.assertEqual(self.generator_instance.name, 'gff-test')
+ self.assertEqual(self.generator_instance.dointerwiki, 'y')
+ self.assertIsInstance(self.generator_instance.wikis, dict)
+ self.assertIsInstance(self.generator_instance.langs, list)
+
+ def test_attibutes_after_run(self):
+ """Test FamilyFileGenerator attributes after run()."""
+ self.generator_instance.run()
+ langs = [self.site.lang] + self.generator_instance.prefixes
+ for lang in langs:
+ self.assertIn(lang, self.generator_instance.wikis)
+ for i in range(10):
+ lang = choice(self.generator_instance.langs)
+ site = Site(url=lang['url'])
+ self.assertEqual(site.lang, lang['prefix'])
+
+
+if __name__ == '__main__': # pragma: no cover
+ try:
+ unittest.main()
+ except SystemExit:
+ pass

To view, visit change 431310. To unsubscribe, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I063bb2ed8b6f4a79f1883841ceba3f76ffb2f4c9
Gerrit-Change-Number: 431310
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Framawiki <framawiki@tools.wmflabs.org>
Gerrit-Reviewer: John Vandenberg <jayvdb@gmail.com>
Gerrit-Reviewer: Zoranzoki21 <zorandori4444@gmail.com>
Gerrit-Reviewer: jenkins-bot <>