mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
Fixed /-/plugins?all=1, refs #802
This commit is contained in:
parent
f786033a5f
commit
75c143a84c
3 changed files with 14 additions and 11 deletions
|
|
@ -628,7 +628,12 @@ class Datasette:
|
||||||
|
|
||||||
def _plugins(self, request=None, all=False):
|
def _plugins(self, request=None, all=False):
|
||||||
ps = list(get_plugins())
|
ps = list(get_plugins())
|
||||||
if all is False or (request is not None and request.args.get("all")):
|
should_show_all = False
|
||||||
|
if request is not None:
|
||||||
|
should_show_all = request.args.get("all")
|
||||||
|
else:
|
||||||
|
should_show_all = all
|
||||||
|
if not should_show_all:
|
||||||
ps = [p for p in ps if p["name"] not in DEFAULT_PLUGINS]
|
ps = [p for p in ps if p["name"] not in DEFAULT_PLUGINS]
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
from datasette.plugins import DEFAULT_PLUGINS
|
||||||
from datasette.utils import detect_json1
|
from datasette.utils import detect_json1
|
||||||
from .fixtures import ( # noqa
|
from .fixtures import ( # noqa
|
||||||
app_client,
|
app_client,
|
||||||
|
|
@ -1261,6 +1262,11 @@ def test_threads_json(app_client):
|
||||||
def test_plugins_json(app_client):
|
def test_plugins_json(app_client):
|
||||||
response = app_client.get("/-/plugins.json")
|
response = app_client.get("/-/plugins.json")
|
||||||
assert EXPECTED_PLUGINS == sorted(response.json, key=lambda p: p["name"])
|
assert EXPECTED_PLUGINS == sorted(response.json, key=lambda p: p["name"])
|
||||||
|
# Try with ?all=1
|
||||||
|
response = app_client.get("/-/plugins.json?all=1")
|
||||||
|
names = {p["name"] for p in response.json}
|
||||||
|
assert names.issuperset(p["name"] for p in EXPECTED_PLUGINS)
|
||||||
|
assert names.issuperset(DEFAULT_PLUGINS)
|
||||||
|
|
||||||
|
|
||||||
def test_versions_json(app_client):
|
def test_versions_json(app_client):
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ from .fixtures import (
|
||||||
TestClient as _TestClient,
|
TestClient as _TestClient,
|
||||||
EXPECTED_PLUGINS,
|
EXPECTED_PLUGINS,
|
||||||
)
|
)
|
||||||
|
from datasette.plugins import DEFAULT_PLUGINS
|
||||||
from datasette.cli import cli, serve
|
from datasette.cli import cli, serve
|
||||||
from click.testing import CliRunner
|
from click.testing import CliRunner
|
||||||
import io
|
import io
|
||||||
|
|
@ -67,16 +68,7 @@ def test_plugins_cli(app_client):
|
||||||
# Should have all the EXPECTED_PLUGINS
|
# Should have all the EXPECTED_PLUGINS
|
||||||
assert set(names).issuperset(set(p["name"] for p in EXPECTED_PLUGINS))
|
assert set(names).issuperset(set(p["name"] for p in EXPECTED_PLUGINS))
|
||||||
# And the following too:
|
# And the following too:
|
||||||
assert set(names).issuperset(
|
assert set(names).issuperset(DEFAULT_PLUGINS)
|
||||||
[
|
|
||||||
"datasette.sql_functions",
|
|
||||||
"datasette.actor_auth_cookie",
|
|
||||||
"datasette.facets",
|
|
||||||
"datasette.publish.cloudrun",
|
|
||||||
"datasette.default_permissions",
|
|
||||||
"datasette.publish.heroku",
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_metadata_yaml():
|
def test_metadata_yaml():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue