Update desktop app to android app capabilities.
This commit is contained in:
@@ -130,16 +130,67 @@ def test_open_returns_a_session_when_it_can():
|
||||
assert session.finish() == "hi"
|
||||
|
||||
|
||||
def test_streaming_is_off_without_the_switch_or_a_key(monkeypatch):
|
||||
def test_streaming_is_off_without_the_switch_or_server_config(monkeypatch):
|
||||
from bolt_pet.audio import stt_stream
|
||||
|
||||
monkeypatch.setattr(stt_stream.config, "STT_STREAMING", False)
|
||||
monkeypatch.setattr(stt_stream.config, "SERVER_URL", "http://test-server:5002")
|
||||
monkeypatch.setattr(stt_stream.config, "API_KEY", "test-key")
|
||||
assert stt_stream.available() is False
|
||||
monkeypatch.setattr(stt_stream.config, "STT_STREAMING", True)
|
||||
monkeypatch.setattr(stt_stream.config, "DEEPGRAM_API_KEY", "")
|
||||
assert stt_stream.available() is True
|
||||
monkeypatch.setattr(stt_stream.config, "API_KEY", "")
|
||||
assert stt_stream.available() is False
|
||||
|
||||
|
||||
# ── connecting to the server relay ──────────────────────────────────────────
|
||||
|
||||
def test_connect_builds_the_server_relay_url(monkeypatch):
|
||||
"""No local Deepgram account any more — the pet connects to its own
|
||||
server's /desk/stt, authenticated with its own desk key."""
|
||||
from bolt_pet.audio import stt_stream
|
||||
|
||||
monkeypatch.setattr(stt_stream.config, "SERVER_URL", "http://my-server:5002")
|
||||
monkeypatch.setattr(stt_stream.config, "API_KEY", "my-desk-key")
|
||||
monkeypatch.setattr(stt_stream.config, "SESSION_ID", "pet-test")
|
||||
|
||||
captured = {}
|
||||
|
||||
class _FakeWebsocketModule:
|
||||
@staticmethod
|
||||
def create_connection(url, header=None, timeout=None):
|
||||
captured["url"] = url
|
||||
captured["header"] = header
|
||||
return "a-socket"
|
||||
|
||||
monkeypatch.setitem(sys.modules, "websocket", _FakeWebsocketModule())
|
||||
|
||||
result = stt_stream.connect(sample_rate=16000)
|
||||
|
||||
assert result == "a-socket"
|
||||
assert captured["url"] == (
|
||||
"ws://my-server:5002/desk/stt?session_id=pet-test"
|
||||
"&encoding=linear16&sample_rate=16000"
|
||||
)
|
||||
assert captured["header"] == ["X-Desk-Api-Key: my-desk-key"]
|
||||
|
||||
|
||||
def test_open_uses_connect_by_default(monkeypatch):
|
||||
"""StreamingTranscriber.open() with no injected connect() goes through
|
||||
the real server-relay connector."""
|
||||
from bolt_pet.audio import stt_stream
|
||||
|
||||
monkeypatch.setattr(stt_stream.config, "STT_STREAMING", True)
|
||||
monkeypatch.setattr(stt_stream.config, "SERVER_URL", "http://my-server:5002")
|
||||
monkeypatch.setattr(stt_stream.config, "API_KEY", "my-desk-key")
|
||||
monkeypatch.setattr(stt_stream, "_connect", lambda rate: FakeSocket([_results("hi")]))
|
||||
|
||||
session = stt_stream.StreamingTranscriber.open()
|
||||
|
||||
assert session is not None
|
||||
assert session.finish() == "hi"
|
||||
|
||||
|
||||
# ── the capture hook ────────────────────────────────────────────────────────
|
||||
|
||||
class _Stream:
|
||||
|
||||
Reference in New Issue
Block a user