How to use the datasette.cli.cli function in datasette

To help you get started, we’ve selected a few datasette examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github simonw / datasette / tests / test_docs.py View on Github external
def test_help_includes(name, filename):
    expected = open(str(docs_path / filename)).read()
    runner = CliRunner()
    result = runner.invoke(cli, name.split() + ["--help"], terminal_width=88)
    actual = "$ datasette {} --help\n\n{}".format(name, result.output)
    # actual has "Usage: cli package [OPTIONS] FILES"
    # because it doesn't know that cli will be aliased to datasette
    expected = expected.replace("Usage: datasette", "Usage: cli")
    assert expected == actual
github simonw / datasette / tests / test_cli.py View on Github external
def test_spatialite_error_if_attempt_to_open_spatialite():
    runner = CliRunner()
    result = runner.invoke(
        cli, ["serve", str(pathlib.Path(__file__).parent / "spatialite.db")]
    )
    assert result.exit_code != 0
    assert "trying to load a SpatiaLite database" in result.output
github simonw / datasette / tests / test_publish_now.py View on Github external
def test_publish_now_multiple_aliases(mock_run, mock_which):
    mock_which.return_value = True
    mock_run.return_value = mock.Mock(0)
    mock_run.return_value.stdout = b"https://demo.example.com/"
    runner = CliRunner()
    with runner.isolated_filesystem():
        open("test.db", "w").write("data")
        runner.invoke(
            cli.cli,
            [
                "publish",
                "now",
                "test.db",
                "--token",
                "XXX",
                "--alias",
                "alias1",
                "--alias",
                "alias2",
            ],
        )
        mock_run.assert_has_calls(
            [
                mock.call(["now", "--token=XXX"], stdout=subprocess.PIPE),
                mock.call(
github simonw / datasette / tests / test_cli.py View on Github external
def test_inspect_cli(app_client):
    runner = CliRunner()
    result = runner.invoke(cli, ["inspect", "fixtures.db"])
    data = json.loads(result.output)
    assert ["fixtures"] == list(data.keys())
    database = data["fixtures"]
    assert "fixtures.db" == database["file"]
    assert isinstance(database["hash"], str)
    assert 64 == len(database["hash"])
    for table_name, expected_count in {
        "Table With Space In Name": 0,
        "facetable": 15,
    }.items():
        assert expected_count == database["tables"][table_name]["count"]
github simonw / datasette / tests / test_publish_cloudrun.py View on Github external
def test_publish_cloudrun_invalid_database(mock_which):
    mock_which.return_value = True
    runner = CliRunner()
    result = runner.invoke(cli.cli, ["publish", "cloudrun", "woop.db"])
    assert result.exit_code == 2
    assert 'Path "woop.db" does not exist' in result.output
github simonw / datasette / update-docs-help.py View on Github external
def update_help_includes():
    for name, filename in includes:
        runner = CliRunner()
        result = runner.invoke(
            cli, name.split() + ["--help"], terminal_width=88
        )
        actual = "$ datasette {} --help\n\n{}".format(
            name, result.output
        )
        actual = actual.replace('Usage: cli ', 'Usage: datasette ')
        open(docs_path / filename, "w").write(actual)