code: def test_config_set_get_list_unset(
      name: str, value: str, runner: CliRunner
  ):
      runner.invoke(
          cli.app, ["set", name, value], catch_exceptions=False
      )
  
      res = runner.invoke(cli.app, "list", catch_exceptions=False)
      assert res.exit_code == 0
      if "/" not in name:
          name = f"global/{name}"
      assert res.stdout.strip() == f"{name}={value}"
  
      res = runner.invoke(
          cli.app, ["get", name], catch_exceptions=False
      )
      assert res.exit_code == 0
      assert res.stdout.strip() == value
  
      res = runner.invoke(
          cli.app, ["unset", name], catch_exceptions=False
      )
      assert res.exit_code == 0
  
      res = runner.invoke(cli.app, "list", catch_exceptions=False)
      assert res.exit_code == 0
      assert res.stdout.strip() == ""
  
file_path: hail/hail/python/test/hailtop/hailctl/config/test_cli.py
imports: import os
  import pytest
  from typer.testing import CliRunner
  from hailtop.config.variables import ConfigVariable
  from hailtop.config.user_config import get_user_config_path
  from hailtop.hailctl.config import cli, config_variables
label_desc: Use image node_id 3 for calling a global function with example usage: test_config_set_get_list_unset(name, value, runner) without return types