Skip to content

Commit 9d97a0b

Browse files
committed
FIX: Fix sending of heartbeat_interval_s
1 parent d8df535 commit 9d97a0b

File tree

3 files changed

+39
-1
lines changed

3 files changed

+39
-1
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## 0.35.1 - TBD
4+
5+
#### Bug fixes
6+
- Fixed an issue where heartbeat_interval_s was not being sent to the gateway
7+
38
## 0.35.0 - 2024-06-04
49

510
#### Enhancements

databento/live/session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def __init__(
188188
ts_out: bool = False,
189189
heartbeat_interval_s: int | None = None,
190190
):
191-
super().__init__(api_key, dataset, ts_out)
191+
super().__init__(api_key, dataset, ts_out, heartbeat_interval_s)
192192

193193
self._dbn_queue = dbn_queue
194194
self._loop = loop

tests/test_live_client.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,39 @@ async def test_live_connect_auth(
250250
assert message.encoding == Encoding.DBN
251251

252252

253+
async def test_live_connect_auth_with_heartbeat_interval(
254+
mock_live_server: MockLiveServerInterface,
255+
test_live_api_key: str,
256+
) -> None:
257+
"""
258+
Test that setting `heartbeat_interval_s` on a Live client sends that field
259+
to the gateway.
260+
"""
261+
# Arrange
262+
live_client = client.Live(
263+
key=test_live_api_key,
264+
gateway=mock_live_server.host,
265+
port=mock_live_server.port,
266+
heartbeat_interval_s=10,
267+
)
268+
269+
live_client.subscribe(
270+
dataset=Dataset.GLBX_MDP3,
271+
schema=Schema.MBO,
272+
)
273+
274+
# Act
275+
message = await mock_live_server.wait_for_message_of_type(
276+
message_type=gateway.AuthenticationRequest,
277+
)
278+
279+
# Assert
280+
assert message.auth.endswith(live_client.key[-BUCKET_ID_LENGTH:])
281+
assert message.dataset == live_client.dataset
282+
assert message.encoding == Encoding.DBN
283+
assert message.heartbeat_interval_s == "10"
284+
285+
253286
async def test_live_connect_auth_two_clients(
254287
mock_live_server: MockLiveServerInterface,
255288
test_live_api_key: str,

0 commit comments

Comments
 (0)