Migrate api_clients tests to pytest

This commit is contained in:
jo 2021-06-08 00:08:32 +02:00
parent e8d5481422
commit f944eca0a7
4 changed files with 120 additions and 185 deletions

View file

@ -1,46 +1,33 @@
import json
import unittest
from api_clients.utils import ApcUrl, ApiRequest
from mock import MagicMock, patch
class ResponseInfo:
@property
def headers(self):
return {"content-type": "application/json"}
def json(self):
return {"ok", "ok"}
def test_api_request_init():
u = ApiRequest("request_name", ApcUrl("/test/ing"))
assert u.name == "request_name"
class TestApiRequest(unittest.TestCase):
def test_init(self):
u = ApiRequest("request_name", ApcUrl("/test/ing"))
self.assertEqual(u.name, "request_name")
def test_api_request_call_json():
return_value = {"ok": "ok"}
def test_call_json(self):
ret = {"ok": "ok"}
read = MagicMock()
read.headers = {"content-type": "application/json"}
read.json = MagicMock(return_value=ret)
u = "http://localhost/testing"
with patch("requests.get") as mock_method:
mock_method.return_value = read
request = ApiRequest("mm", ApcUrl(u))()
self.assertEqual(request, ret)
read = MagicMock()
read.headers = {"content-type": "application/json"}
read.json = MagicMock(return_value=return_value)
def test_call_html(self):
ret = "<html><head></head><body></body></html>"
read = MagicMock()
read.headers = {"content-type": "application/html"}
read.text = MagicMock(return_value=ret)
u = "http://localhost/testing"
with patch("requests.get") as mock_method:
mock_method.return_value = read
request = ApiRequest("mm", ApcUrl(u))()
self.assertEqual(request.text(), ret)
with patch("requests.get") as mock_method:
mock_method.return_value = read
request = ApiRequest("mm", ApcUrl("http://localhost/testing"))()
assert request == return_value
if __name__ == "__main__":
unittest.main()
def test_api_request_call_html():
return_value = "<html><head></head><body></body></html>"
read = MagicMock()
read.headers = {"content-type": "application/html"}
read.text = MagicMock(return_value=return_value)
with patch("requests.get") as mock_method:
mock_method.return_value = read
request = ApiRequest("mm", ApcUrl("http://localhost/testing"))()
assert request.text() == return_value