dclient/tests
Claude 5ee8b2d93c
Implement T1 and T2: exploration, CRUD commands, and output formats
Refactored shared infrastructure:
- _resolve_url(), _resolve_token(), _api_get(), _api_post() helpers
- Shared output formatters: JSON, CSV, TSV, NL-JSON, text table
- DCLIENT_TOKEN and DCLIENT_URL environment variable support

T1 - Core table browsing:
- `databases` - list databases on a Datasette instance
- `tables` - list tables with optional --schema flag
- `schema` - show CREATE TABLE SQL for database/table
- `rows` - browse rows with filtering (-w), sorting, pagination,
  column selection, faceting, full-text search, --limit, --all
- `get` - fetch a single row by primary key

T2 - Write operations:
- `upsert` - insert-or-update rows from file (CSV/TSV/JSON/JSONL)
- `update` - update a single row by PK with key=value pairs
- `delete` - delete a row by PK (with --yes to skip confirmation)
- `drop` - drop a table (shows row count, requires confirmation)
- `create-table` - create empty table with --column name type --pk

Output formats added to query and rows:
- --csv, --tsv, --nl, --json, --table flags

23 new tests covering all commands (62 total, all passing).

https://claude.ai/code/session_01DoiJf9Gbvbw2asN9yvP6dx
2026-02-12 00:22:12 +00:00
..
test_cli_auth.py dclient auth commands 2023-07-17 16:23:53 -07:00
test_datasette_plugin.py Rename 'datasette client' to 'datasette dt', closes #18 2024-02-25 11:10:53 -08:00
test_insert.py Migrate from setup.py to pyproject.toml for uv compatibility 2026-02-12 00:16:43 +00:00
test_new_commands.py Implement T1 and T2: exploration, CRUD commands, and output formats 2026-02-12 00:22:12 +00:00
test_query.py dclient auth commands 2023-07-17 16:23:53 -07:00
test_utils.py dclient auth commands 2023-07-17 16:23:53 -07:00