diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aa9c532..2429457 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,6 +11,7 @@ jobs: strategy: matrix: python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + datasette-version: ["<1.0", ">=1.0a20"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} @@ -22,6 +23,7 @@ jobs: - name: Install dependencies run: | pip install '.[test]' + pip install "datasette${{ matrix.datasette-version }}" - name: Run tests run: | python -m pytest diff --git a/Justfile b/Justfile new file mode 100644 index 0000000..4626b32 --- /dev/null +++ b/Justfile @@ -0,0 +1,5 @@ +set positional-arguments + +test *args: + uv run --isolated --with 'datasette<1.0' --with-editable '.[test]' -- python -m pytest + uv run --isolated --with 'datasette>=1.0a20' --with-editable '.[test]' -- python -m pytest diff --git a/tests/test_datasette_auth_github.py b/tests/test_datasette_auth_github.py index 84eb8ab..ab8a970 100644 --- a/tests/test_datasette_auth_github.py +++ b/tests/test_datasette_auth_github.py @@ -197,7 +197,11 @@ async def test_database_access_permissions( ) cookies = {"ds_actor": auth_response.cookies["ds_actor"]} databases = await ds.client.get("/.json", cookies=cookies) - assert set(databases.json()["databases"].keys()) == expected_databases + # This differs between Datasette <1.0 and >=1.0a20 + if "databases" in databases.json(): + assert set(databases.json()["databases"].keys()) == expected_databases + else: + assert set(databases.json().keys()) == expected_databases @pytest.mark.asyncio