Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions keep/api/core/dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ async def extract_generic_body(request: Request) -> dict | bytes | FormData:

def get_pusher_client() -> Pusher | None:
logger.debug("Getting pusher client")
pusher_disabled = os.environ.get("PUSHER_DISABLED", "false") == "true"
pusher_disabled = config("PUSHER_DISABLED", cast=bool, default=False)
pusher_host = os.environ.get("PUSHER_HOST")
pusher_app_id = os.environ.get("PUSHER_APP_ID")
pusher_app_key = os.environ.get("PUSHER_APP_KEY")
Expand All @@ -77,7 +77,7 @@ def get_pusher_client() -> Pusher | None:
app_id=pusher_app_id,
key=pusher_app_key,
secret=pusher_app_secret,
ssl=False if os.environ.get("PUSHER_USE_SSL", False) is False else True,
ssl=config("PUSHER_USE_SSL", cast=bool, default=False),
cluster=os.environ.get("PUSHER_CLUSTER"),
)
except ValueError:
Expand Down
40 changes: 40 additions & 0 deletions tests/test_dependencies.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from unittest.mock import patch

from keep.api.core.dependencies import get_pusher_client


def test_get_pusher_client_uses_false_for_string_false(monkeypatch):
monkeypatch.setenv("PUSHER_APP_ID", "123")
monkeypatch.setenv("PUSHER_APP_KEY", "key")
monkeypatch.setenv("PUSHER_APP_SECRET", "secret")
monkeypatch.setenv("PUSHER_USE_SSL", "false")

with patch("keep.api.core.dependencies.Pusher") as mock_pusher:
get_pusher_client()

assert mock_pusher.call_args.kwargs["ssl"] is False


def test_get_pusher_client_uses_true_for_string_true(monkeypatch):
monkeypatch.setenv("PUSHER_APP_ID", "123")
monkeypatch.setenv("PUSHER_APP_KEY", "key")
monkeypatch.setenv("PUSHER_APP_SECRET", "secret")
monkeypatch.setenv("PUSHER_USE_SSL", "true")

with patch("keep.api.core.dependencies.Pusher") as mock_pusher:
get_pusher_client()

assert mock_pusher.call_args.kwargs["ssl"] is True


def test_get_pusher_client_respects_pusher_disabled(monkeypatch):
monkeypatch.setenv("PUSHER_DISABLED", "true")
monkeypatch.setenv("PUSHER_APP_ID", "123")
monkeypatch.setenv("PUSHER_APP_KEY", "key")
monkeypatch.setenv("PUSHER_APP_SECRET", "secret")

with patch("keep.api.core.dependencies.Pusher") as mock_pusher:
client = get_pusher_client()

assert client is None
mock_pusher.assert_not_called()
Loading