mirror of
https://github.com/Eledio/superfaktura-client.git
synced 2025-11-01 00:18:25 +01:00
test_superfaktura_api: add test invalid json as repsonse from the server
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
import os
|
import os
|
||||||
import pytest
|
import pytest
|
||||||
|
from unittest.mock import patch, mock_open, MagicMock
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from unittest.mock import patch, mock_open
|
|
||||||
from superfaktura.superfaktura_api import (
|
from superfaktura.superfaktura_api import (
|
||||||
SuperFakturaAPI,
|
SuperFakturaAPI,
|
||||||
SuperFakturaAPIException,
|
SuperFakturaAPIException,
|
||||||
@@ -48,7 +50,7 @@ def test_download(api):
|
|||||||
def test_download_failure(api):
|
def test_download_failure(api):
|
||||||
with patch("requests.get") as mock_get:
|
with patch("requests.get") as mock_get:
|
||||||
mock_get.return_value.status_code = 404
|
mock_get.return_value.status_code = 404
|
||||||
with patch("builtins.open", mock_open()) as mock_file:
|
with patch("builtins.open", mock_open()):
|
||||||
with open("test_file", "wb") as f:
|
with open("test_file", "wb") as f:
|
||||||
with pytest.raises(SuperFakturaAPIException):
|
with pytest.raises(SuperFakturaAPIException):
|
||||||
api.download("test_endpoint", f)
|
api.download("test_endpoint", f)
|
||||||
@@ -66,3 +68,12 @@ def test_post_failure(api):
|
|||||||
mock_post.return_value.json.return_value = {"error": "not found"}
|
mock_post.return_value.json.return_value = {"error": "not found"}
|
||||||
with pytest.raises(SuperFakturaAPIException):
|
with pytest.raises(SuperFakturaAPIException):
|
||||||
api.post("test_endpoint", '{"name": "Example"}')
|
api.post("test_endpoint", '{"name": "Example"}')
|
||||||
|
|
||||||
|
def test_get_invalid_json(api):
|
||||||
|
with patch("requests.get") as mock_get:
|
||||||
|
mock_response = MagicMock()
|
||||||
|
mock_response.status_code = 200
|
||||||
|
mock_response.json.side_effect = requests.exceptions.JSONDecodeError("msg", "doc", 0)
|
||||||
|
mock_get.return_value = mock_response
|
||||||
|
with pytest.raises(SuperFakturaAPIException, match="Unable to decode response as JSON"):
|
||||||
|
api.get("test_endpoint")
|
||||||
|
|||||||
Reference in New Issue
Block a user