# import json # from operator import itemgetter # # import pytest # import requests # # # def test_server_ready_check(url): # response = requests.get(f"{url}/ready") # response.raise_for_status() # return response.status_code == 200 # # # @pytest.fixture # def client(client_maker): # return client_maker(processor_fn) # # # def processor_fn(request): # payload = json.loads(request.json) # data = payload["data"].encode() # metadata = payload["metadata"] # response_payload = {"metadata_type": str(type(metadata)), "data_type": str(type(data))} # return response_payload # # # @pytest.mark.parametrize("data_type", ["pdf", "bytestring"]) # def test_sending_bytes_through_json(url, data): # payload = {"data": data.decode("latin1"), "metadata": {"A": 1, "B": [2, 3]}} # # response = requests.post(f"{url}/process", json=json.dumps(payload)) # # response_payload = response.json # data_type, metadata_type = itemgetter("data_type", "metadata_type")(response_payload) # # assert data_type == "" # assert metadata_type == ""