From af12f45c2b0e4782ca92c2d00481dc47ccb7a046 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sat, 15 Aug 2020 16:26:39 -0700 Subject: [PATCH] Documentation and tests for db.is_mutable --- docs/internals.rst | 6 ++++++ tests/test_internals_database.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/docs/internals.rst b/docs/internals.rst index 6dc2b60c..f8d4a136 100644 --- a/docs/internals.rst +++ b/docs/internals.rst @@ -480,6 +480,12 @@ The ``Database`` class also provides properties and methods for introspecting th ``db.mtime_ns`` - integer or None The last modification time of the database file in nanoseconds since the epoch. ``None`` for ``:memory:`` databases. +``db.is_mutable`` - boolean + Is this database mutable, and allowed to accept writes? + +``db.is_memory`` - boolean + Is this database an in-memory database? + ``await db.table_exists(table)`` - boolean Check if a table called ``table`` exists. diff --git a/tests/test_internals_database.py b/tests/test_internals_database.py index 832485c5..13b1e502 100644 --- a/tests/test_internals_database.py +++ b/tests/test_internals_database.py @@ -213,4 +213,10 @@ async def test_mtime_ns(db): def test_mtime_ns_is_none_for_memory(app_client): memory_db = Database(app_client.ds, is_memory=True) + assert memory_db.is_memory is True assert None is memory_db.mtime_ns + + +def test_is_mutable(app_client): + assert Database(app_client.ds, is_memory=True, is_mutable=True).is_mutable is True + assert Database(app_client.ds, is_memory=True, is_mutable=False).is_mutable is False