pyinfra/test/exploration_tests/data_json_request_test.py
2022-04-26 13:13:26 +02:00

31 lines
903 B
Python

import json
from operator import itemgetter
import pytest
def processor_fn(payload):
data = payload["data"].encode()
metadata = payload["metadata"]
response_payload = {"metadata_type": str(type(metadata)), "data_type": str(type(data))}
return response_payload
def test_server_ready_check(client):
response = client.get("/ready")
assert response.status_code == 200
assert response.json == "OK"
@pytest.mark.parametrize("data_type", ["pdf", "bytestring"])
def test_sending_bytes_through_json(client, data):
payload = {"data": data.decode("latin1"), "metadata": {"A": 1, "B": [2, 3]}}
response = client.post("/process", json=json.dumps(payload))
response_payload = response.json
data_type, metadata_type = itemgetter("data_type", "metadata_type")(response_payload)
assert data_type == "<class 'bytes'>"
assert metadata_type == "<class 'dict'>"