code: def test_serve_create(tmpdir):
      runner = CliRunner()
      db_path = tmpdir / "does_not_exist_yet.db"
      assert not db_path.exists()
      result = runner.invoke(
          cli, [str(db_path), "--create", "--get", "/-/databases.json"]
      )
      assert result.exit_code == 0, result.output
      databases = json.loads(result.output)
      assert {
          "name": "does_not_exist_yet",
          "is_mutable": True,
          "is_memory": False,
          "hash": None,
      }.items() <= databases[0].items()
      assert db_path.exists()
  
imports: from .fixtures import app_client, make_app_client, TestClient, EXPECTED_PLUGINS
  import asyncio
  from datasette.app import SETTINGS
  from datasette.plugins import DEFAULT_PLUGINS
  from datasette.cli import cli, serve
  from datasette.version import __version__
  from datasette.utils import tilde_encode
  from datasette.utils.sqlite import sqlite3
  from click.testing import CliRunner
  import io
  import json
  import pathlib
  import pytest
  import sys
  import textwrap
  from unittest import mock
  import urllib
label_desc: Use image node_id 20 for calling a global function with example usage: test_serve_create(tmpdir) without return types