Show Wikipedia category API errors
This commit is contained in:
parent
b7ba24b567
commit
15bbbecacf
2 changed files with 11 additions and 6 deletions
5
main.py
5
main.py
|
|
@ -463,10 +463,11 @@ def get_articles_without_images(
|
||||||
if articles_without_images:
|
if articles_without_images:
|
||||||
error = (
|
error = (
|
||||||
"Wikipedia stopped responding before the whole category could "
|
"Wikipedia stopped responding before the whole category could "
|
||||||
"be checked. Showing partial results; please try again."
|
"be checked. Showing partial results. "
|
||||||
|
f"Wikipedia API error: {e}"
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
error = "Unable to load articles from Wikipedia. Please try again."
|
error = f"Unable to load articles. Wikipedia API error: {e}"
|
||||||
break
|
break
|
||||||
|
|
||||||
pages = data.get("query", {}).get("pages", {})
|
pages = data.get("query", {}).get("pages", {})
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ def test_api_failure_is_not_reported_as_an_empty_success():
|
||||||
result = get_articles_without_images("Category:Example")
|
result = get_articles_without_images("Category:Example")
|
||||||
|
|
||||||
assert result.articles == []
|
assert result.articles == []
|
||||||
assert result.error == "Unable to load articles from Wikipedia. Please try again."
|
assert result.error == "Unable to load articles. Wikipedia API error: offline"
|
||||||
|
|
||||||
|
|
||||||
def test_api_error_response_is_not_reported_as_an_empty_success():
|
def test_api_error_response_is_not_reported_as_an_empty_success():
|
||||||
|
|
@ -31,7 +31,10 @@ def test_api_error_response_is_not_reported_as_an_empty_success():
|
||||||
result = get_articles_without_images("Category:Example")
|
result = get_articles_without_images("Category:Example")
|
||||||
|
|
||||||
assert result.articles == []
|
assert result.articles == []
|
||||||
assert result.error == "Unable to load articles from Wikipedia. Please try again."
|
assert result.error == (
|
||||||
|
"Unable to load articles. Wikipedia API error: "
|
||||||
|
"readonly: Wikipedia is read-only"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_api_failure_after_results_marks_them_as_partial():
|
def test_api_failure_after_results_marks_them_as_partial():
|
||||||
|
|
@ -63,13 +66,14 @@ def test_api_failure_after_results_marks_them_as_partial():
|
||||||
assert [article.title for article in result.articles] == ["No image"]
|
assert [article.title for article in result.articles] == ["No image"]
|
||||||
assert result.error is not None
|
assert result.error is not None
|
||||||
assert "partial results" in result.error
|
assert "partial results" in result.error
|
||||||
|
assert "offline" in result.error
|
||||||
|
|
||||||
|
|
||||||
def test_category_page_does_not_claim_success_after_api_failure():
|
def test_category_page_does_not_claim_success_after_api_failure():
|
||||||
result = CategoryResult(
|
result = CategoryResult(
|
||||||
articles=[],
|
articles=[],
|
||||||
gcmcontinue=None,
|
gcmcontinue=None,
|
||||||
error="Unable to load articles from Wikipedia. Please try again.",
|
error="Unable to load articles. Wikipedia API error: test failure",
|
||||||
)
|
)
|
||||||
|
|
||||||
with (
|
with (
|
||||||
|
|
@ -81,5 +85,5 @@ def test_category_page_does_not_claim_success_after_api_failure():
|
||||||
|
|
||||||
page = response.get_data(as_text=True)
|
page = response.get_data(as_text=True)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
assert "Unable to load articles from Wikipedia" in page
|
assert "Wikipedia API error: test failure" in page
|
||||||
assert "All articles in this category have images" not in page
|
assert "All articles in this category have images" not in page
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue