code: def test_api_complex_type(item, model, api_no_type):
      res = api_no_type.post(
          f"/predict/{model}",
          headers={"Content-Type": "application/json"},
          json=item,
      )
      assert res.status_code == 200
      assert res.json()["sorted"] == "".join(sorted(item["string"]))
  
      res = api_no_type.post(
          f"/predict/batch/{model}",
          headers={"Content-Type": "application/json"},
          json=[item],
      )
      assert res.status_code == 200
      assert res.json()[0]["sorted"] == "".join(sorted(item["string"]))
  
imports: import asyncio
  import os
  import platform
  import fastapi
  import pydantic
  import pytest
  from starlette.testclient import TestClient
  from modelkit import testing
  from modelkit.api import ModelkitAutoAPIRouter, create_modelkit_app
  from modelkit.core.errors import ModelsNotFound
  from modelkit.core.model import Asset, AsyncModel, Model
  from tests import TEST_DIR
label_desc: Use image node_id 3 for calling a global function with example usage: test_api_complex_type(item, model, api_no_type) without return types