Skip to content
Merged
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
3 changes: 2 additions & 1 deletion examples/transcription/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
from transcription.room import RoomService, fishjam
from transcription.worker import async_worker

from fishjam import PeerOptions, SubscribeOptions
from fishjam import PeerOptions
from fishjam.peer import SubscribeOptions

_room_service: RoomService | None = None

Expand Down
2 changes: 0 additions & 2 deletions fishjam/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
PeerOptions,
Room,
RoomOptions,
SubscribeOptions,
)

__all__ = [
Expand All @@ -31,7 +30,6 @@
"receive_binary",
"PeerMetadata",
"PeerOptions",
"SubscribeOptions",
"RoomOptions",
"Room",
"Peer",
Expand Down
18 changes: 16 additions & 2 deletions fishjam/peer/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
from fishjam._openapi_client.models import PeerStatus, PeerType
from fishjam._openapi_client.models import (
PeerMetadata,
PeerStatus,
PeerType,
SubscribeOptions,
SubscribeOptionsAudioFormat,
SubscribeOptionsAudioSampleRate,
)

__all__ = ["PeerStatus", "PeerType"]
__all__ = [
"PeerMetadata",
"PeerStatus",
"PeerType",
"SubscribeOptions",
"SubscribeOptionsAudioFormat",
"SubscribeOptionsAudioSampleRate",
]
3 changes: 1 addition & 2 deletions tests/agent/test_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
import pytest
import pytest_asyncio

from fishjam import FishjamClient, FishjamNotifier
from fishjam import FishjamClient, FishjamNotifier, Room
from fishjam.agent.agent import Agent
from fishjam.agent.errors import AgentAuthError
from fishjam.api._fishjam_client import Room
from fishjam.events._protos.fishjam import (
ServerMessagePeerDisconnected,
ServerMessagePeerMetadataUpdated,
Expand Down
42 changes: 30 additions & 12 deletions tests/test_room_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,30 @@

from fishjam import (
FishjamClient,
Peer,
PeerOptions,
Room,
RoomOptions,
)
from fishjam._openapi_client.models import (
from fishjam.errors import (
BadRequestError,
NotFoundError,
ServiceUnavailableError,
UnauthorizedError,
)
from fishjam.peer import (
PeerMetadata,
PeerStatus,
PeerType,
SubscribeOptions,
SubscribeOptionsAudioFormat,
SubscribeOptionsAudioSampleRate,
)
from fishjam.room import (
RoomConfig,
RoomConfigRoomType,
RoomConfigVideoCodec,
)
from fishjam.api._fishjam_client import Peer, Room
from fishjam.errors import (
BadRequestError,
NotFoundError,
ServiceUnavailableError,
UnauthorizedError,
)

HOST = "fishjam" if os.getenv("DOCKER_TEST") == "TRUE" else "localhost"
FISHJAM_URL = f"http://{HOST}:5002"
Expand Down Expand Up @@ -179,7 +185,12 @@ def test_id_not_found(self, room_api):

class TestCreatePeer:
def _assert_peer_created(
self, room_api, webrtc_peer, room_id, server_metadata=None
self,
room_api,
webrtc_peer,
room_id,
server_metadata=None,
subscribe=None,
):
server_metadata = server_metadata or {}

Expand All @@ -189,19 +200,26 @@ def _assert_peer_created(
status=PeerStatus("disconnected"),
tracks=[],
metadata=PeerMetadata.from_dict({"peer": {}, "server": server_metadata}),
subscribe=None,
subscribe=subscribe,
)

room = room_api.get_room(room_id)
assert peer in room.peers

def test_with_specified_options(self, room_api: FishjamClient):
options = PeerOptions(enable_simulcast=True)
subscribe = SubscribeOptions(
audio_format=SubscribeOptionsAudioFormat.PCM16,
audio_sample_rate=SubscribeOptionsAudioSampleRate.VALUE_16000,
)
options = PeerOptions(
enable_simulcast=True,
subscribe=subscribe,
)

room = room_api.create_room()
peer, _token = room_api.create_peer(room.id, options=options)

self._assert_peer_created(room_api, peer, room.id)
self._assert_peer_created(room_api, peer, room.id, subscribe=subscribe)

def test_with_metadata(self, room_api: FishjamClient):
options = PeerOptions(metadata={"is_test": True})
Expand Down