Configured and applied isort, refs #516

This commit is contained in:
Simon Willison 2023-08-22 19:07:10 -07:00
commit 59a5d336bd
78 changed files with 435 additions and 352 deletions

View file

@ -1,15 +1,15 @@
import asyncio
import httpx
import os
import pathlib
import pytest
import pytest_asyncio
import re
import subprocess
import tempfile
import time
import trustme
import httpx
import pytest
import pytest_asyncio
import trustme
try:
import pysqlite3 as sqlite3
@ -41,6 +41,7 @@ def wait_until_responds(url, timeout=5.0, client=httpx, **kwargs):
@pytest_asyncio.fixture
async def ds_client():
from datasette.app import Datasette
from .fixtures import METADATA, PLUGINS_DIR
global _ds_client
@ -59,7 +60,7 @@ async def ds_client():
"num_sql_threads": 1,
},
)
from .fixtures import TABLES, TABLE_PARAMETERIZED_SQL
from .fixtures import TABLE_PARAMETERIZED_SQL, TABLES
db = ds.add_memory_database("fixtures")
ds.remove_database("_memory")

View file

@ -1,18 +1,19 @@
from datasette.app import Datasette
from datasette.utils.sqlite import sqlite3
from datasette.utils.testing import TestClient
import click
import contextlib
import itertools
import json
import os
import pathlib
import pytest
import random
import string
import tempfile
import textwrap
import click
import pytest
from datasette.app import Datasette
from datasette.utils.sqlite import sqlite3
from datasette.utils.testing import TestClient
# This temp file is used by one of the plugin config tests
TEMP_PLUGIN_SECRET_FILE = os.path.join(tempfile.gettempdir(), "plugin-secret")

View file

@ -1,13 +1,14 @@
import asyncio
from datasette import hookimpl, Permission
from datasette.facets import Facet
from datasette import tracer
from datasette.utils import path_with_added_args
from datasette.utils.asgi import asgi_send_json, Response
import base64
import pint
import json
import pint
from datasette import Permission, hookimpl, tracer
from datasette.facets import Facet
from datasette.utils import path_with_added_args
from datasette.utils.asgi import Response, asgi_send_json
ureg = pint.UnitRegistry()
@ -326,11 +327,7 @@ def startup(datasette):
datasette._startup_hook_fired = True
# And test some import shortcuts too
from datasette import Response
from datasette import Forbidden
from datasette import NotFound
from datasette import hookimpl
from datasette import actor_matches_allow
from datasette import Forbidden, NotFound, Response, actor_matches_allow, hookimpl
_ = (Response, Forbidden, NotFound, hookimpl, actor_matches_allow)

View file

@ -1,8 +1,10 @@
import json
from functools import wraps
import markupsafe
from datasette import hookimpl
from datasette.utils.asgi import Response
from functools import wraps
import markupsafe
import json
@hookimpl

View file

@ -1,6 +1,7 @@
import json
from datasette import hookimpl
from datasette.utils.asgi import Response
import json
async def can_render(

View file

@ -1,6 +1,7 @@
from datasette import hookimpl
import time
from datasette import hookimpl
@hookimpl
def prepare_connection(conn):

View file

@ -1,26 +1,29 @@
import pathlib
import sys
import urllib
import pytest
from datasette.app import Datasette
from datasette.plugins import DEFAULT_PLUGINS
from datasette.utils.sqlite import supports_table_xinfo
from datasette.version import __version__
from .fixtures import ( # noqa
app_client,
app_client_no_files,
app_client_with_dot,
app_client_shorter_time_limit,
app_client_two_attached_databases_one_immutable,
app_client_larger_cache_size,
app_client_with_cors,
app_client_two_attached_databases,
app_client_conflicting_database_names,
app_client_immutable_and_inspect_file,
make_app_client,
EXPECTED_PLUGINS,
METADATA,
app_client,
app_client_conflicting_database_names,
app_client_immutable_and_inspect_file,
app_client_larger_cache_size,
app_client_no_files,
app_client_shorter_time_limit,
app_client_two_attached_databases,
app_client_two_attached_databases_one_immutable,
app_client_with_cors,
app_client_with_dot,
make_app_client,
)
import pathlib
import pytest
import sys
import urllib
@pytest.mark.asyncio

View file

@ -1,7 +1,9 @@
import time
import pytest
from datasette.app import Datasette
from datasette.utils import sqlite3
import pytest
import time
@pytest.fixture

View file

@ -1,11 +1,14 @@
import time
import pytest
from bs4 import BeautifulSoup as Soup
from click.testing import CliRunner
from datasette.cli import cli
from datasette.utils import baseconv
from .fixtures import app_client
from .utils import cookie_was_deleted
from click.testing import CliRunner
from datasette.utils import baseconv
from datasette.cli import cli
import pytest
import time
@pytest.mark.asyncio

View file

@ -1,8 +1,10 @@
from datasette.views.base import View
import json
import pytest
from datasette import Request, Response
from datasette.app import Datasette
import json
import pytest
from datasette.views.base import View
class GetView(View):

View file

@ -1,8 +1,9 @@
import black
from click.testing import CliRunner
from pathlib import Path
import pytest
import sys
from pathlib import Path
import black
import pytest
from click.testing import CliRunner
code_root = Path(__file__).parent.parent

View file

@ -1,8 +1,10 @@
from bs4 import BeautifulSoup as Soup
import json
import pytest
import re
from .fixtures import make_app_client, app_client
import pytest
from bs4 import BeautifulSoup as Soup
from .fixtures import app_client, make_app_client
@pytest.fixture

View file

@ -1,25 +1,25 @@
from .fixtures import (
app_client,
make_app_client,
TestClient as _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
from unittest import mock
import pytest
from click.testing import CliRunner
from datasette.app import SETTINGS
from datasette.cli import cli, serve
from datasette.plugins import DEFAULT_PLUGINS
from datasette.utils import tilde_encode
from datasette.utils.sqlite import sqlite3
from datasette.version import __version__
from .fixtures import EXPECTED_PLUGINS
from .fixtures import TestClient as _TestClient
from .fixtures import app_client, make_app_client
def test_inspect_cli(app_client):

View file

@ -1,8 +1,10 @@
import json
import textwrap
from click.testing import CliRunner
from datasette.cli import cli, serve
from datasette.plugins import pm
from click.testing import CliRunner
import textwrap
import json
def test_serve_with_get(tmp_path_factory):

View file

@ -1,6 +1,7 @@
import socket
import httpx
import pytest
import socket
@pytest.mark.serial

View file

@ -1,13 +1,15 @@
import json
import pathlib
import pytest
from click.testing import CliRunner
from datasette.app import Datasette
from datasette.cli import cli
from datasette.utils.sqlite import sqlite3
from datasette.utils import StartupError
from datasette.utils.sqlite import sqlite3
from .fixtures import TestClient as _TestClient
from click.testing import CliRunner
PLUGIN = """
from datasette import hookimpl

View file

@ -1,7 +1,10 @@
from datasette.cli import cli
from click.testing import CliRunner
import urllib
import sqlite3
import urllib
from click.testing import CliRunner
from datasette.cli import cli
from .fixtures import app_client_two_attached_databases_crossdb_enabled

View file

@ -1,12 +1,14 @@
from bs4 import BeautifulSoup as Soup
import urllib.parse
import pytest
from bs4 import BeautifulSoup as Soup
from .fixtures import ( # noqa
app_client,
app_client_csv_max_mb_one,
app_client_with_cors,
app_client_with_trace,
)
import urllib.parse
EXPECTED_TABLE_CSV = """id,content
1,hello

View file

@ -1,5 +1,7 @@
import pathlib
import pytest
from .fixtures import make_app_client
TEST_TEMPLATE_DIRS = str(pathlib.Path(__file__).parent / "test_templates")

View file

@ -1,13 +1,15 @@
"""
Tests to ensure certain things are documented.
"""
import re
from pathlib import Path
import pytest
from click.testing import CliRunner
from datasette import app, utils
from datasette.cli import cli
from datasette.filters import Filters
from pathlib import Path
import pytest
import re
docs_path = Path(__file__).parent.parent / "docs"
label_re = re.compile(r"\.\. _([^\s:]+):")

View file

@ -1,11 +1,14 @@
import json
import pytest
from datasette.app import Datasette
from datasette.database import Database
from datasette.facets import ColumnFacet, ArrayFacet, DateFacet
from datasette.utils.asgi import Request
from datasette.facets import ArrayFacet, ColumnFacet, DateFacet
from datasette.utils import detect_json1
from datasette.utils.asgi import Request
from .fixtures import make_app_client
import json
import pytest
@pytest.mark.asyncio

View file

@ -1,7 +1,8 @@
from datasette.filters import Filters, through_filters, where_filters, search_filters
from datasette.utils.asgi import Request
import pytest
from datasette.filters import Filters, search_filters, through_filters, where_filters
from datasette.utils.asgi import Request
@pytest.mark.parametrize(
"args,expected_where,expected_params",

View file

@ -1,19 +1,22 @@
import json
import pathlib
import re
import urllib.parse
import pytest
from bs4 import BeautifulSoup as Soup
from datasette.utils import allowed_pragmas
from .fixtures import ( # noqa
METADATA,
app_client,
app_client_base_url_prefix,
app_client_shorter_time_limit,
app_client_two_attached_databases,
make_app_client,
METADATA,
)
from .utils import assert_footer_links, inner_html
import json
import pathlib
import pytest
import re
import urllib.parse
def test_homepage(app_client_two_attached_databases):

View file

@ -1,14 +1,17 @@
"""
Tests for the datasette.database.Database class
"""
from datasette.database import Database, Results, MultipleValues
from datasette.utils.sqlite import sqlite3
from datasette.utils import Column
from .fixtures import app_client, app_client_two_attached_databases_crossdb_enabled
import pytest
import time
import uuid
import pytest
from datasette.database import Database, MultipleValues, Results
from datasette.utils import Column
from datasette.utils.sqlite import sqlite3
from .fixtures import app_client, app_client_two_attached_databases_crossdb_enabled
@pytest.fixture
def db(app_client):

View file

@ -2,12 +2,14 @@
Tests for the datasette.app.Datasette class
"""
import dataclasses
from datasette import Forbidden, Context
from datasette.app import Datasette, Database
from itsdangerous import BadSignature
import pytest
from typing import Optional
import pytest
from itsdangerous import BadSignature
from datasette import Context, Forbidden
from datasette.app import Database, Datasette
@pytest.fixture
def datasette(ds_client):

View file

@ -1,7 +1,9 @@
from datasette.utils.asgi import Request
import json
import pytest
from datasette.utils.asgi import Request
@pytest.mark.asyncio
async def test_request_post_vars():

View file

@ -1,6 +1,7 @@
from datasette.utils.asgi import Response
import pytest
from datasette.utils.asgi import Response
def test_response_html():
response = Response.html("Hello from HTML")

View file

@ -1,6 +1,7 @@
import pytest
from datasette.app import Datasette
from datasette.utils import PrefixedUrlString
import pytest
@pytest.fixture(scope="module")

View file

@ -1,7 +1,9 @@
from datasette.app import Datasette
import pytest
from pathlib import Path
import pytest
from datasette.app import Datasette
# not necessarily a full path - the full compiled path looks like "ext.dylib"
# or another suffix, but sqlite will, under the hood, decide which file
# extension to use based on the operating system (apple=dylib, windows=dll etc)

View file

@ -1,6 +1,7 @@
from .utils import cookie_was_deleted
import pytest
from .utils import cookie_was_deleted
@pytest.mark.asyncio
@pytest.mark.parametrize(

View file

@ -1,9 +1,11 @@
from click.testing import CliRunner
from datasette import cli
from unittest import mock
import os
import pathlib
from unittest import mock
import pytest
from click.testing import CliRunner
from datasette import cli
class CaptureDockerfile:

View file

@ -1,17 +1,20 @@
import collections
from datasette.app import Datasette
from datasette.cli import cli
from .fixtures import app_client, assert_permissions_checked, make_app_client
from click.testing import CliRunner
from bs4 import BeautifulSoup as Soup
import copy
import json
from pprint import pprint
import pytest_asyncio
import pytest
import re
import time
import urllib
from pprint import pprint
import pytest
import pytest_asyncio
from bs4 import BeautifulSoup as Soup
from click.testing import CliRunner
from datasette.app import Datasette
from datasette.cli import cli
from .fixtures import app_client, assert_permissions_checked, make_app_client
@pytest.fixture(scope="module")

View file

@ -1,21 +1,3 @@
from bs4 import BeautifulSoup as Soup
from .fixtures import (
app_client,
app_client,
make_app_client,
TABLES,
TEMP_PLUGIN_SECRET_FILE,
PLUGINS_DIR,
TestClient as _TestClient,
) # noqa
from click.testing import CliRunner
from datasette.app import Datasette
from datasette import cli, hookimpl, Permission
from datasette.filters import FilterArguments
from datasette.plugins import get_plugins, DEFAULT_PLUGINS, pm
from datasette.utils.sqlite import sqlite3
from datasette.utils import CustomRow, StartupError
from jinja2.environment import Template
import base64
import importlib
import json
@ -23,9 +5,24 @@ import os
import pathlib
import re
import textwrap
import pytest
import urllib
import pytest
from bs4 import BeautifulSoup as Soup
from click.testing import CliRunner
from jinja2.environment import Template
from datasette import Permission, cli, hookimpl
from datasette.app import Datasette
from datasette.filters import FilterArguments
from datasette.plugins import DEFAULT_PLUGINS, get_plugins, pm
from datasette.utils import CustomRow, StartupError
from datasette.utils.sqlite import sqlite3
from .fixtures import PLUGINS_DIR, TABLES, TEMP_PLUGIN_SECRET_FILE
from .fixtures import TestClient as _TestClient # noqa
from .fixtures import app_client, make_app_client
at_memory_re = re.compile(r" at 0x\w+")

View file

@ -1,10 +1,12 @@
from click.testing import CliRunner
from datasette import cli
from unittest import mock
import json
import os
import pytest
import textwrap
from unittest import mock
import pytest
from click.testing import CliRunner
from datasette import cli
@pytest.mark.serial

View file

@ -1,9 +1,11 @@
from click.testing import CliRunner
from datasette import cli
from unittest import mock
import os
import pathlib
from unittest import mock
import pytest
from click.testing import CliRunner
from datasette import cli
@pytest.mark.serial

View file

@ -1,8 +1,9 @@
from datasette.app import Datasette, Database
from datasette.utils import resolve_routes
import pytest
import pytest_asyncio
from datasette.app import Database, Datasette
from datasette.utils import resolve_routes
@pytest.fixture(scope="session")
def routes():

View file

@ -1,8 +1,10 @@
from datasette.app import Datasette
from datasette.utils import find_spatialite, SpatialiteNotFound, SPATIALITE_FUNCTIONS
from .utils import has_load_extension
import pytest
from datasette.app import Datasette
from datasette.utils import SPATIALITE_FUNCTIONS, SpatialiteNotFound, find_spatialite
from .utils import has_load_extension
def has_spatialite():
try:

View file

@ -1,16 +1,19 @@
import json
import urllib
import pytest
from datasette.utils import detect_json1
from datasette.utils.sqlite import sqlite_version
from .fixtures import ( # noqa
app_client,
app_client_with_trace,
app_client_returned_rows_matches_page_size,
app_client_with_trace,
generate_compound_rows,
generate_sortable_rows,
make_app_client,
)
import json
import pytest
import urllib
@pytest.mark.asyncio

View file

@ -1,12 +1,12 @@
from datasette.app import Datasette, Database
from bs4 import BeautifulSoup as Soup
from .fixtures import ( # noqa
app_client,
make_app_client,
)
import pathlib
import pytest
import urllib.parse
import pytest
from bs4 import BeautifulSoup as Soup
from datasette.app import Database, Datasette
from .fixtures import app_client, make_app_client # noqa
from .utils import assert_footer_links, inner_html

View file

@ -1,4 +1,5 @@
import pytest
from .fixtures import make_app_client

View file

@ -1,17 +1,19 @@
"""
Tests for various datasette helper functions.
"""
from datasette.app import Datasette
from datasette import utils
from datasette.utils.asgi import Request
from datasette.utils.sqlite import sqlite3
import json
import os
import pathlib
import pytest
import tempfile
from unittest.mock import patch
import pytest
from datasette import utils
from datasette.app import Datasette
from datasette.utils.asgi import Request
from datasette.utils.sqlite import sqlite3
@pytest.mark.parametrize(
"path,expected",

View file

@ -1,6 +1,7 @@
from datasette.utils.check_callable import check_callable
import pytest
from datasette.utils.check_callable import check_callable
class AsyncClass:
async def __call__(self):