fix: copy field_map/profile_data_path in get_providers; improve caplog assertions
This commit is contained in:
+2
-2
@@ -149,8 +149,8 @@ def get_providers(config: dict) -> list[ResolvedProvider]:
|
|||||||
scope=defn["scope"],
|
scope=defn["scope"],
|
||||||
client_id=client_id,
|
client_id=client_id,
|
||||||
client_secret=client_secret,
|
client_secret=client_secret,
|
||||||
field_map=defn["field_map"],
|
field_map=dict(defn["field_map"]),
|
||||||
profile_data_path=defn["profile_data_path"],
|
profile_data_path=list(defn["profile_data_path"]),
|
||||||
))
|
))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
+5
-8
@@ -1,3 +1,4 @@
|
|||||||
|
import logging
|
||||||
import time as time_mod
|
import time as time_mod
|
||||||
from unittest.mock import AsyncMock, MagicMock, patch
|
from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
from urllib.parse import urlparse, parse_qs
|
from urllib.parse import urlparse, parse_qs
|
||||||
@@ -425,38 +426,34 @@ def test_get_providers_nextcloud_urls_and_path():
|
|||||||
|
|
||||||
def test_get_providers_skips_missing_client_id(caplog):
|
def test_get_providers_skips_missing_client_id(caplog):
|
||||||
cfg = {"oauth": {"gitea": {"url": "https://git.example.com", "client_secret": "cs"}}}
|
cfg = {"oauth": {"gitea": {"url": "https://git.example.com", "client_secret": "cs"}}}
|
||||||
import logging
|
|
||||||
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
||||||
result = oauth.get_providers(cfg)
|
result = oauth.get_providers(cfg)
|
||||||
assert result == []
|
assert result == []
|
||||||
assert caplog.text # a warning was logged
|
assert "missing" in caplog.text.lower()
|
||||||
|
|
||||||
|
|
||||||
def test_get_providers_skips_missing_client_secret(caplog):
|
def test_get_providers_skips_missing_client_secret(caplog):
|
||||||
cfg = {"oauth": {"gitea": {"url": "https://git.example.com", "client_id": "cid"}}}
|
cfg = {"oauth": {"gitea": {"url": "https://git.example.com", "client_id": "cid"}}}
|
||||||
import logging
|
|
||||||
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
||||||
result = oauth.get_providers(cfg)
|
result = oauth.get_providers(cfg)
|
||||||
assert result == []
|
assert result == []
|
||||||
assert caplog.text # a warning was logged
|
assert "missing" in caplog.text.lower()
|
||||||
|
|
||||||
|
|
||||||
def test_get_providers_skips_missing_url_for_gitea(caplog):
|
def test_get_providers_skips_missing_url_for_gitea(caplog):
|
||||||
cfg = {"oauth": {"gitea": {"type": "gitea", "client_id": "cid", "client_secret": "cs"}}}
|
cfg = {"oauth": {"gitea": {"type": "gitea", "client_id": "cid", "client_secret": "cs"}}}
|
||||||
import logging
|
|
||||||
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
||||||
result = oauth.get_providers(cfg)
|
result = oauth.get_providers(cfg)
|
||||||
assert result == []
|
assert result == []
|
||||||
assert caplog.text # a warning was logged
|
assert "url" in caplog.text.lower()
|
||||||
|
|
||||||
|
|
||||||
def test_get_providers_skips_missing_url_for_nextcloud(caplog):
|
def test_get_providers_skips_missing_url_for_nextcloud(caplog):
|
||||||
cfg = {"oauth": {"nc": {"type": "nextcloud", "client_id": "cid", "client_secret": "cs"}}}
|
cfg = {"oauth": {"nc": {"type": "nextcloud", "client_id": "cid", "client_secret": "cs"}}}
|
||||||
import logging
|
|
||||||
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
with caplog.at_level(logging.WARNING, logger="hbd.server.oauth"):
|
||||||
result = oauth.get_providers(cfg)
|
result = oauth.get_providers(cfg)
|
||||||
assert result == []
|
assert result == []
|
||||||
assert caplog.text # a warning was logged
|
assert "url" in caplog.text.lower()
|
||||||
|
|
||||||
|
|
||||||
def test_get_providers_github_no_url_required():
|
def test_get_providers_github_no_url_required():
|
||||||
|
|||||||
Reference in New Issue
Block a user