/-/databases and homepage maintain connection order, closes #1216

pull/1357/head
Simon Willison 2021-06-01 20:03:07 -07:00
rodzic 03b35d70e2
commit 807de378d0
4 zmienionych plików z 7 dodań i 6 usunięć

Wyświetl plik

@ -646,7 +646,7 @@ class Datasette:
"is_memory": d.is_memory,
"hash": d.hash,
}
for name, d in sorted(self.databases.items(), key=lambda p: p[1].name)
for name, d in self.databases.items()
if name != "_internal"
]

Wyświetl plik

@ -126,7 +126,8 @@ def make_app_client(
for extra_filename, extra_sql in extra_databases.items():
extra_filepath = os.path.join(tmpdir, extra_filename)
sqlite3.connect(extra_filepath).executescript(extra_sql)
files.append(extra_filepath)
# Insert at start to help test /-/databases ordering:
files.insert(0, extra_filepath)
os.chdir(os.path.dirname(filepath))
config = config or {}
for key, value in {

Wyświetl plik

@ -1918,7 +1918,7 @@ def test_database_with_space_in_name(app_client_two_attached_databases, path):
def test_common_prefix_database_names(app_client_conflicting_database_names):
# https://github.com/simonw/datasette/issues/597
assert ["fixtures", "foo", "foo-bar"] == [
assert ["foo-bar", "foo", "fixtures"] == [
d["name"]
for d in app_client_conflicting_database_names.get("/-/databases.json").json
]

Wyświetl plik

@ -29,11 +29,11 @@ def test_homepage(app_client_two_attached_databases):
)
# Should be two attached databases
assert [
{"href": "/fixtures", "text": "fixtures"},
{"href": r"/extra%20database", "text": "extra database"},
{"href": "/fixtures", "text": "fixtures"},
] == [{"href": a["href"], "text": a.text.strip()} for a in soup.select("h2 a")]
# The first attached database should show count text and attached tables
h2 = soup.select("h2")[1]
# Database should show count text and attached tables
h2 = soup.select("h2")[0]
assert "extra database" == h2.text.strip()
counts_p, links_p = h2.find_all_next("p")[:2]
assert (