aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setup.cfg5
-rw-r--r--setup.py3
-rw-r--r--test/test_wikiget.py45
3 files changed, 52 insertions, 1 deletions
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..801c8b5
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,5 @@
+[aliases]
+test = pytest
+
+[tool:pytest]
+addopts = --verbose
diff --git a/setup.py b/setup.py
index cec715f..e621c32 100644
--- a/setup.py
+++ b/setup.py
@@ -37,7 +37,8 @@ setup(
"Programming Language :: Python :: 3",
"Topic :: Utilities",
],
- install_requires=["future", "mwclient", "requests", "tqdm"],
+ install_requires=["future", "mwclient", "pytest-runner", "requests", "tqdm"],
+ tests_require=["pytest"],
project_urls={
"Bug Reports": "https://github.com/clpo13/python-wikiget/issues",
},
diff --git a/test/test_wikiget.py b/test/test_wikiget.py
new file mode 100644
index 0000000..981d640
--- /dev/null
+++ b/test/test_wikiget.py
@@ -0,0 +1,45 @@
+"""wikiget
+Simple wget clone for downloading files from Wikimedia sites.
+Copyright (C) 2018 Cody Logan; licensed GPLv3+
+SPDX-License-Identifier: GPL-3.0-or-later
+"""
+
+from wikiget import wikiget
+
+
+def test_invalid_site_input():
+ invalid_input = ["example.com", "vim.wikia.com",
+ "en.wikipedia.com", "en.wikimpedia.org"]
+ for i in invalid_input:
+ site_match = wikiget.valid_site(i)
+ assert site_match is None
+
+
+def test_valid_site_input():
+ valid_input = ["en.wikipedia.org", "commons.wikimedia.org",
+ "de.wikipedia.org", "meta.wikimedia.org"]
+ for i in valid_input:
+ site_match = wikiget.valid_site(i)
+ assert site_match is not None
+
+
+def test_file_regex():
+ i = "File:Example.jpg"
+ file_match = wikiget.valid_file(i)
+ assert file_match.group(0)
+ assert file_match.group(1) == "File:"
+ assert file_match.group(2) == "Example.jpg"
+
+
+def test_invalid_file_input():
+ invalid_input = ["file:example", "example"]
+ for i in invalid_input:
+ file_match = wikiget.valid_file(i)
+ assert file_match is None
+
+
+def test_valid_file_input():
+ valid_input = ["example.jpg", "file:example.jpg", "example.file-01.jpg"]
+ for i in valid_input:
+ file_match = wikiget.valid_file(i)
+ assert file_match is not None