rudibridge-mirror/api/tests/test_parameters.py
Ewen 94547f2031 Leap forward
- added tests (pytest)
- use GET parameters to parse a page
- return an actual RSS feed
2024-05-08 10:13:54 +02:00

36 lines
1 KiB
Python

import pytest
@pytest.mark.parametrize(
"url,missing_parameter",
[
("/feed/", "URL"),
("/feed/?url=https://mozilla.org", "title"),
("/feed/?url=https://mozilla.org&title=h2", "article"),
("/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):
response = client.get(f"/feed/?url={url}&title=h2&article=article")
assert response.status_code == status_code
if message:
assert response.json["message"] == message