code: def test_endpoint(
      normal_user_public_dataset: str,
      endpoint: str,
      input_type: Literal["all", "dataset", "config", "split"],
  ) -> None:
      # TODO: add dataset with various splits, or various configs
      dataset = normal_user_public_dataset
      config, split = get_default_config_split()
  
      # asking for the dataset will launch the jobs, without the need of a webhook
      relative_url = endpoint
      if input_type != "all":
          relative_url += f"?dataset={dataset}"
          if input_type != "dataset":
              relative_url += f"&config={config}"
              if input_type != "config":
                  relative_url += f"&split={split}"
  
      poll_until_ready_and_assert(
          relative_url=relative_url,
          check_x_revision=input_type != "all",
          dataset=dataset,
      )
  
imports: from collections.abc import Iterator
  from typing import Literal, Optional
  import pytest
  from .constants import ENTERPRISE_ORG, ENTERPRISE_USER, ENTERPRISE_USER_TOKEN, NORMAL_ORG, NORMAL_USER, NORMAL_USER_COOKIE, NORMAL_USER_TOKEN, PRO_USER, PRO_USER_TOKEN
  from .utils import get_default_config_split, poll_until_ready_and_assert, tmp_dataset
label_desc: Use image node_id 19 for calling a global function with example usage: test_endpoint(normal_user_public_dataset, endpoint, input_type) without return types