datasette-secrets 0.1a3__tar.gz → 0.1a4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/PKG-INFO +1 -1
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets/__init__.py +4 -1
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/PKG-INFO +1 -1
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/pyproject.toml +1 -1
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/tests/test_secrets.py +9 -1
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/LICENSE +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/README.md +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets/hookspecs.py +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets/templates/secrets_index.html +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets/templates/secrets_update.html +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/SOURCES.txt +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/dependency_links.txt +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/entry_points.txt +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/requires.txt +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/top_level.txt +0 -0
- {datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/setup.cfg +0 -0
|
@@ -23,6 +23,9 @@ async def get_secret(datasette, secret_name, actor_id=None):
|
|
|
23
23
|
return os.environ[env_var]
|
|
24
24
|
# Now look it up in the database
|
|
25
25
|
config = get_config(datasette)
|
|
26
|
+
if config is None:
|
|
27
|
+
return None
|
|
28
|
+
encryption_key = config["encryption_key"]
|
|
26
29
|
db = get_database(datasette)
|
|
27
30
|
try:
|
|
28
31
|
db_secret = (
|
|
@@ -35,7 +38,7 @@ async def get_secret(datasette, secret_name, actor_id=None):
|
|
|
35
38
|
return None
|
|
36
39
|
if not db_secret:
|
|
37
40
|
return None
|
|
38
|
-
key = Fernet(
|
|
41
|
+
key = Fernet(encryption_key.encode("utf-8"))
|
|
39
42
|
decrypted = key.decrypt(db_secret["encrypted"])
|
|
40
43
|
# Update the last used timestamp and actor_id
|
|
41
44
|
params = (actor_id, db_secret["id"])
|
|
@@ -4,7 +4,7 @@ from datasette import hookimpl
|
|
|
4
4
|
from datasette.app import Datasette
|
|
5
5
|
from datasette.cli import cli
|
|
6
6
|
from datasette.plugins import pm
|
|
7
|
-
from datasette_secrets import get_secret, Secret, startup
|
|
7
|
+
from datasette_secrets import get_secret, Secret, startup, get_config
|
|
8
8
|
import pytest
|
|
9
9
|
from unittest.mock import ANY
|
|
10
10
|
|
|
@@ -275,6 +275,14 @@ async def test_get_secret(ds, monkeypatch):
|
|
|
275
275
|
assert await get_secret(ds, "EXAMPLE_SECRET") is None
|
|
276
276
|
|
|
277
277
|
|
|
278
|
+
@pytest.mark.asyncio
|
|
279
|
+
async def test_if_not_configured(register_multiple_secrets):
|
|
280
|
+
ds = Datasette()
|
|
281
|
+
config = get_config(ds)
|
|
282
|
+
assert config is None
|
|
283
|
+
assert await get_secret(ds, "OPENAI_API_KEY") is None
|
|
284
|
+
|
|
285
|
+
|
|
278
286
|
@pytest.mark.asyncio
|
|
279
287
|
async def test_secret_index_page(ds, register_multiple_secrets):
|
|
280
288
|
response = await ds.client.get(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets/templates/secrets_index.html
RENAMED
|
File without changes
|
{datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets/templates/secrets_update.html
RENAMED
|
File without changes
|
|
File without changes
|
{datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{datasette_secrets-0.1a3 → datasette_secrets-0.1a4}/datasette_secrets.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|