1
0
Fork 0
mirror of synced 2024-09-28 07:12:07 +12:00

5xx error tests

This commit is contained in:
OMEGARAZER 2022-12-14 23:04:33 -05:00
parent ac91c9089c
commit 4ba5df6b37
No known key found for this signature in database
GPG key ID: D89925310D306E35
3 changed files with 87 additions and 0 deletions

View file

@ -4,7 +4,9 @@
import re import re
import shutil import shutil
from pathlib import Path from pathlib import Path
from unittest.mock import MagicMock, patch
import prawcore
import pytest import pytest
from click.testing import CliRunner from click.testing import CliRunner
@ -176,3 +178,30 @@ def test_cli_archive_soft_fail(test_args: list[str], tmp_path: Path):
assert result.exit_code == 0 assert result.exit_code == 0
assert "failed to be archived due to a PRAW exception" in result.output assert "failed to be archived due to a PRAW exception" in result.output
assert "Attempting to archive" not in result.output assert "Attempting to archive" not in result.output
@pytest.mark.skipif(not does_test_config_exist, reason="A test config file is required for integration tests")
@pytest.mark.parametrize(
("test_args", "response"),
(
(
["--user", "nasa", "--submitted"],
502,
),
(
["--user", "nasa", "--submitted"],
504,
),
),
)
def test_user_serv_fail(test_args: list[str], response: int, tmp_path: Path):
runner = CliRunner()
test_args = create_basic_args_for_archive_runner(test_args, tmp_path)
with patch("bdfr.connector.sleep", return_value=None):
with patch(
"bdfr.connector.RedditConnector.check_user_existence",
side_effect=prawcore.exceptions.ResponseException(MagicMock(status_code=response)),
):
result = runner.invoke(cli, test_args)
assert result.exit_code == 0
assert f"received {response} HTTP response" in result.output

View file

@ -3,7 +3,9 @@
import shutil import shutil
from pathlib import Path from pathlib import Path
from unittest.mock import MagicMock, patch
import prawcore
import pytest import pytest
from click.testing import CliRunner from click.testing import CliRunner
@ -68,3 +70,30 @@ def test_cli_scrape_soft_fail(test_args: list[str], tmp_path: Path):
assert result.exit_code == 0 assert result.exit_code == 0
assert "Downloaded submission" not in result.output assert "Downloaded submission" not in result.output
assert "Record for entry item" not in result.output assert "Record for entry item" not in result.output
@pytest.mark.skipif(not does_test_config_exist, reason="A test config file is required for integration tests")
@pytest.mark.parametrize(
("test_args", "response"),
(
(
["--user", "nasa", "--submitted"],
502,
),
(
["--user", "nasa", "--submitted"],
504,
),
),
)
def test_user_serv_fail(test_args: list[str], response: int, tmp_path: Path):
runner = CliRunner()
test_args = create_basic_args_for_cloner_runner(test_args, tmp_path)
with patch("bdfr.connector.sleep", return_value=None):
with patch(
"bdfr.connector.RedditConnector.check_user_existence",
side_effect=prawcore.exceptions.ResponseException(MagicMock(status_code=response)),
):
result = runner.invoke(cli, test_args)
assert result.exit_code == 0
assert f"received {response} HTTP response" in result.output

View file

@ -3,7 +3,9 @@
import shutil import shutil
from pathlib import Path from pathlib import Path
from unittest.mock import MagicMock, patch
import prawcore
import pytest import pytest
from click.testing import CliRunner from click.testing import CliRunner
@ -396,3 +398,30 @@ def test_cli_download_score_filter(test_args: list[str], was_filtered: bool, tmp
result = runner.invoke(cli, test_args) result = runner.invoke(cli, test_args)
assert result.exit_code == 0 assert result.exit_code == 0
assert ("filtered due to score" in result.output) == was_filtered assert ("filtered due to score" in result.output) == was_filtered
@pytest.mark.skipif(not does_test_config_exist, reason="A test config file is required for integration tests")
@pytest.mark.parametrize(
("test_args", "response"),
(
(
["--user", "nasa", "--submitted"],
502,
),
(
["--user", "nasa", "--submitted"],
504,
),
),
)
def test_user_serv_fail(test_args: list[str], response: int, tmp_path: Path):
runner = CliRunner()
test_args = create_basic_args_for_download_runner(test_args, tmp_path)
with patch("bdfr.connector.sleep", return_value=None):
with patch(
"bdfr.connector.RedditConnector.check_user_existence",
side_effect=prawcore.exceptions.ResponseException(MagicMock(status_code=response)),
):
result = runner.invoke(cli, test_args)
assert result.exit_code == 0
assert f"received {response} HTTP response" in result.output