rudibridge-mirror/api/tests/test_parameters.py

36 lines
1 KiB
Python
Raw Normal View History

import pytest
@pytest.mark.parametrize(
"url,missing_parameter",
[
2024-05-16 05:16:49 +00:00
("/api/feed/", "URL"),
("/api/feed/?url=https://mozilla.org", "article"),
("/api/feed/?url=https://mozilla.org&article=article", "title"),
("/api/feed/?url=https://mozilla.org&title=h2&article=article", None),
],
)
def test_missing_parameters(client, url, missing_parameter):
response = client.get(url)
if missing_parameter:
assert response.json["message"] == f"Missing parameter: {missing_parameter}"
assert response.status_code == 400
else:
assert response.status_code == 200
@pytest.mark.parametrize(
"url,status_code,message",
[
("https://mozilla.org", 200, None),
("mozilla.org", 200, None),
("toto", 400, "Incorrect URL"),
],
)
def test_incorrect_url(client, url, status_code, message):
2024-05-16 05:16:49 +00:00
response = client.get(f"/api/feed/?url={url}&title=h2&article=article")
assert response.status_code == status_code
if message:
assert response.json["message"] == message