Skip to content

Commit 682e406

Browse files
Fix unittests on api_client_factory and stream services
1 parent 660f164 commit 682e406

4 files changed

Lines changed: 87 additions & 67 deletions

File tree

symphony/bdk/core/client/api_client_factory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def _add_headers(client, server_config):
160160
if X_TRACE_ID.lower() not in (
161161
header_name.lower() for header_name in default_headers.keys()
162162
):
163-
client._ApiClient__call_api = add_x_trace_id(client._ApiClient__call_api)
163+
client.call_api = add_x_trace_id(client.call_api)
164164

165165
@staticmethod
166166
def _configure_proxy(server_config, configuration):

symphony/bdk/core/service/stream/stream_service.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
from typing import AsyncGenerator
1+
from typing import AsyncGenerator, List
22

3+
from symphony.bdk.core.service.stream.stream_util import to_url_safe_stream_id
34
from symphony.bdk.core.auth.auth_session import AuthSession
45
from symphony.bdk.core.config.model.bdk_retry_config import BdkRetryConfig
56
from symphony.bdk.core.retry import retry
@@ -9,14 +10,12 @@
910
from symphony.bdk.gen.agent_model.v2_message import V2Message
1011
from symphony.bdk.gen.pod_api.room_membership_api import RoomMembershipApi
1112
from symphony.bdk.gen.pod_api.streams_api import StreamsApi
12-
from symphony.bdk.gen.pod_model.membership_list import MembershipList
13+
from symphony.bdk.gen.pod_model.member_info import MemberInfo
1314
from symphony.bdk.gen.pod_model.room_detail import RoomDetail
1415
from symphony.bdk.gen.pod_model.stream import Stream
1516
from symphony.bdk.gen.pod_model.stream_attributes import StreamAttributes
1617
from symphony.bdk.gen.pod_model.stream_filter import StreamFilter
17-
from symphony.bdk.gen.pod_model.stream_list import StreamList
1818
from symphony.bdk.gen.pod_model.user_id import UserId
19-
from symphony.bdk.gen.pod_model.user_id_list import UserIdList
2019
from symphony.bdk.gen.pod_model.v1_im_attributes import V1IMAttributes
2120
from symphony.bdk.gen.pod_model.v1_im_detail import V1IMDetail
2221
from symphony.bdk.gen.pod_model.v2_admin_stream_filter import V2AdminStreamFilter
@@ -66,7 +65,7 @@ async def create_im(self, user_id: int) -> Stream:
6665
:return: the created stream.
6766
"""
6867
return await self._streams_api.v1_im_create_post(
69-
uid_list=UserIdList(value=[user_id]),
68+
uid_list=[user_id],
7069
session_token=await self._auth_session.session_token,
7170
)
7271

@@ -93,7 +92,7 @@ async def get_stream(self, stream_id: str) -> V2StreamAttributes:
9392
:return: the information about the given stream.
9493
"""
9594
return await self._streams_api.v2_streams_sid_info_get(
96-
sid=stream_id, session_token=await self._auth_session.session_token
95+
sid=to_url_safe_stream_id(stream_id), session_token=await self._auth_session.session_token
9796
)
9897

9998
@retry
@@ -111,7 +110,7 @@ async def get_room_info(self, room_id: str) -> V3RoomDetail:
111110
@retry
112111
async def list_streams(
113112
self, stream_filter: StreamFilter, skip: int = 0, limit: int = 50
114-
) -> StreamList:
113+
) -> List[StreamAttributes]:
115114
"""Returns a list of all the streams of which the requesting user is a member,
116115
sorted by creation date (ascending - oldest to newest).
117116
Wraps the `List User Streams <https://developers.symphony.com/restapi/reference/list-user-streams>`_ endpoint.
@@ -144,7 +143,7 @@ async def list_all_streams(
144143

145144
async def list_streams_one_page(skip, limit):
146145
result = await self.list_streams(stream_filter, skip, limit)
147-
return result.value if result else None
146+
return result if result else None
148147

149148
return offset_based_pagination(list_streams_one_page, chunk_size, max_number)
150149

@@ -336,7 +335,7 @@ async def update_im(self, im_id: str, im_attributes: V1IMAttributes) -> V1IMDeta
336335
)
337336

338337
@retry
339-
async def create_im_admin(self, user_ids: [int]) -> Stream:
338+
async def create_im_admin(self, user_ids: List[int]) -> Stream:
340339
"""Create a new single or multi party instant message conversation.
341340
At least two user IDs must be provided or an error response will be sent.
342341
The caller is not included in the members of the created chat.
@@ -352,7 +351,7 @@ async def create_im_admin(self, user_ids: [int]) -> Stream:
352351
:return: the created IM or MIM.
353352
"""
354353
return await self._streams_api.v1_admin_im_create_post(
355-
uid_list=UserIdList(value=user_ids),
354+
uid_list=user_ids,
356355
session_token=await self._auth_session.session_token,
357356
)
358357

@@ -405,7 +404,7 @@ async def list_all_streams_admin(
405404

406405
async def list_streams_admin_one_page(skip, limit):
407406
result = await self.list_streams_admin(stream_filter, skip, limit)
408-
return result.streams.value if result.streams else None
407+
return result.streams if result.streams else None
409408

410409
return offset_based_pagination(list_streams_admin_one_page, chunk_size, max_number)
411410

@@ -416,7 +415,7 @@ async def list_user_streams_admin(
416415
stream_filter: StreamFilter = None,
417416
skip: int = 0,
418417
limit: int = 50,
419-
) -> StreamList:
418+
) -> List[StreamAttributes]:
420419
"""Retrieve a list of all streams of which a user is a member.
421420
Wraps the `User Streams <https://developers.symphony.com/restapi/v20.16/reference#user-streams>`_ endpoint.
422421
@@ -453,7 +452,7 @@ async def list_all_user_streams_admin(
453452

454453
async def list_streams_one_page(skip, limit):
455454
result = await self.list_user_streams_admin(uid, stream_filter, skip, limit)
456-
return result.value if result else None
455+
return result if result else None
457456

458457
return offset_based_pagination(list_streams_one_page, chunk_size, max_number)
459458

@@ -490,12 +489,12 @@ async def list_all_stream_members(
490489

491490
async def list_stream_members_one_page(skip, limit):
492491
members = await self.list_stream_members(stream_id, skip, limit)
493-
return members.members.value if members.members else None
492+
return members.members if members.members else None
494493

495494
return offset_based_pagination(list_stream_members_one_page, chunk_size, max_number)
496495

497496
@retry
498-
async def list_room_members(self, room_id: str) -> MembershipList:
497+
async def list_room_members(self, room_id: str) -> List[MemberInfo]:
499498
"""Lists the current members of an existing room.
500499
Wraps the `Room Members <https://developers.symphony.com/restapi/reference#room-members>`_ endpoint.
501500

tests/core/client/api_client_factory_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ async def test_close_custom_host_configured(config):
6969
client_factory = ApiClientFactory(config)
7070

7171
client_factory.get_client(custom_path)
72-
assert client_factory._custom_clients[0].rest_client.closed is False
72+
assert client_factory._custom_clients[0].rest_client.pool_manager.closed is False
7373
await client_factory.close_clients()
74-
assert client_factory._custom_clients[0].rest_client.closed is True
74+
assert client_factory._custom_clients[0].rest_client.pool_manager.closed is True
7575

7676

7777
@pytest.mark.asyncio

0 commit comments

Comments
 (0)