@@ -22,9 +22,7 @@ import { type ToDeviceKeyTransport } from "../../../src/matrixrtc/ToDeviceKeyTra
2222import { KeyTransportEvents , type KeyTransportEventsHandlerMap } from "../../../src/matrixrtc/IKeyTransport.ts" ;
2323import { membershipTemplate , mockCallMembership } from "./mocks.ts" ;
2424import { decodeBase64 , TypedEventEmitter } from "../../../src" ;
25- import { RoomAndToDeviceTransport } from "../../../src/matrixrtc/RoomAndToDeviceKeyTransport.ts" ;
26- import { type RoomKeyTransport } from "../../../src/matrixrtc/RoomKeyTransport.ts" ;
27- import { logger , type Logger } from "../../../src/logger.ts" ;
25+ import { logger } from "../../../src/logger.ts" ;
2826import { getParticipantId } from "../../../src/matrixrtc/utils.ts" ;
2927
3028describe ( "RTCEncryptionManager" , ( ) => {
@@ -782,86 +780,6 @@ describe("RTCEncryptionManager", () => {
782780 ) ;
783781 } ) ;
784782
785- it ( "Should re-distribute key on transport switch" , async ( ) => {
786- const toDeviceEmitter = new TypedEventEmitter < KeyTransportEvents , KeyTransportEventsHandlerMap > ( ) ;
787- const mockToDeviceTransport = {
788- start : jest . fn ( ) ,
789- stop : jest . fn ( ) ,
790- sendKey : jest . fn ( ) . mockResolvedValue ( undefined ) ,
791- on : toDeviceEmitter . on . bind ( toDeviceEmitter ) ,
792- off : toDeviceEmitter . off . bind ( toDeviceEmitter ) ,
793- emit : toDeviceEmitter . emit . bind ( toDeviceEmitter ) ,
794- setParentLogger : jest . fn ( ) ,
795- } as unknown as Mocked < ToDeviceKeyTransport > ;
796-
797- const roomEmitter = new TypedEventEmitter < KeyTransportEvents , KeyTransportEventsHandlerMap > ( ) ;
798- const mockRoomTransport = {
799- start : jest . fn ( ) ,
800- stop : jest . fn ( ) ,
801- sendKey : jest . fn ( ) . mockResolvedValue ( undefined ) ,
802- on : roomEmitter . on . bind ( roomEmitter ) ,
803- off : roomEmitter . off . bind ( roomEmitter ) ,
804- emit : roomEmitter . emit . bind ( roomEmitter ) ,
805- setParentLogger : jest . fn ( ) ,
806- } as unknown as Mocked < RoomKeyTransport > ;
807-
808- const mockLogger = {
809- debug : jest . fn ( ) ,
810- warn : jest . fn ( ) ,
811- } as unknown as Mocked < Logger > ;
812-
813- const transport = new RoomAndToDeviceTransport ( mockToDeviceTransport , mockRoomTransport , {
814- getChild : jest . fn ( ) . mockReturnValue ( mockLogger ) ,
815- } as unknown as Mocked < Logger > ) ;
816-
817- encryptionManager = new RTCEncryptionManager (
818- "@alice:example.org" ,
819- "DEVICE01" ,
820- getMembershipMock ,
821- transport ,
822- statistics ,
823- onEncryptionKeysChanged ,
824- ) ;
825-
826- const members = [
827- aCallMembership ( "@bob:example.org" , "BOBDEVICE" ) ,
828- aCallMembership ( "@bob:example.org" , "BOBDEVICE2" ) ,
829- aCallMembership ( "@carl:example.org" , "CARLDEVICE" ) ,
830- ] ;
831- getMembershipMock . mockReturnValue ( members ) ;
832-
833- // Let's join
834- encryptionManager . join ( undefined ) ;
835- encryptionManager . onMembershipsUpdate ( ) ;
836- await jest . advanceTimersByTimeAsync ( 10 ) ;
837-
838- // Should have sent the key to the toDevice transport
839- expect ( mockToDeviceTransport . sendKey ) . toHaveBeenCalledTimes ( 1 ) ;
840- expect ( mockRoomTransport . sendKey ) . not . toHaveBeenCalled ( ) ;
841-
842- // Simulate receiving a key by room transport
843- roomEmitter . emit (
844- KeyTransportEvents . ReceivedKeys ,
845- "@bob:example.org" ,
846- "BOBDEVICE" ,
847- "AAAAAAAAAAA" ,
848- 0 /* KeyId */ ,
849- 0 /* Timestamp */ ,
850- ) ;
851-
852- await jest . runOnlyPendingTimersAsync ( ) ;
853-
854- // The key should have been re-distributed to the room transport
855- expect ( mockRoomTransport . sendKey ) . toHaveBeenCalled ( ) ;
856- expect ( mockToDeviceTransport . sendKey ) . toHaveBeenCalledWith (
857- expect . any ( String ) ,
858- // It is the first key re-distributed
859- 0 ,
860- // to all the members
861- members . map ( ( m ) => ( { userId : m . sender , deviceId : m . deviceId , membershipTs : m . createdTs ( ) } ) ) ,
862- ) ;
863- } ) ;
864-
865783 function aCallMembership ( userId : string , deviceId : string , ts : number = 1000 ) : CallMembership {
866784 return mockCallMembership (
867785 { ...membershipTemplate , user_id : userId , device_id : deviceId , created_ts : ts } ,
0 commit comments