def test_invalid_field(json_client):
    response = json_client.post(
        Route.EXISTS.URL,
        {
            "collection": "a",
            "filter": {"field": "not valid", "operator": "=", "value": "data"},
        },
    )
    assert_error_response(response, ERROR_CODES.INVALID_FORMAT)
def test_invalid_operator(json_client):
    response = json_client.post(
        Route.FILTER.URL,
        {
            "collection": "a",
            "filter": {"field": "field", "operator": "invalid", "value": "data"},
        },
    )
    assert_error_response(response, ERROR_CODES.INVALID_REQUEST)
def test_invalid_collection(json_client):
    request = {
        "requests": [{
            "collection": "not valid",
            "ids": [1]
        }],
    }
    response = json_client.post(Route.GET_MANY.URL, request)
    assert_error_response(response, ERROR_CODES.INVALID_FORMAT)
def test_negative_id(json_client):
    request = {
        "requests": [{
            "collection": "a",
            "ids": [-1]
        }],
    }
    response = json_client.post(Route.GET_MANY.URL, request)
    assert_error_response(response, ERROR_CODES.INVALID_FORMAT)
def test_create_delete_get(data):
    data["events"].append({"type": "delete", "fqid": "a/1"})
    response = requests.post(
        WRITE_URL,
        json=data,
    )
    assert_response_code(response, 201)

    response = requests.post(GET_URL, json={"fqid": "a/1"})
    assert_error_response(response, ERROR_CODES.MODEL_DOES_NOT_EXIST)
def test_invalid_mapped_fields(json_client):
    response = json_client.post(Route.GET_ALL.URL, {
        "collection": "a",
        "mapped_fields": ["not valid"]
    })
    assert_error_response(response, ERROR_CODES.INVALID_FORMAT)
def test_invalid_collection(json_client):
    response = json_client.post(Route.GET_ALL.URL, {"collection": "not valid"})
    assert_error_response(response, ERROR_CODES.INVALID_FORMAT)
def test_invalid_requests(json_client):
    for request in requests:
        response = json_client.post(Route.GET.URL, request)
        assert_error_response(response, ERROR_CODES.INVALID_REQUEST)
def test_no_json(client):
    response = client.post(Route.GET.URL, data="no_json")
    assert_error_response(response, ERROR_CODES.INVALID_REQUEST)