@@ -6,7 +6,7 @@ const callback = jest.fn();
66const mockContext = {
77 ACCOUNT_SID : 'AC1234' ,
88 TWILIO_API_KEY_SID : 'SK1234' ,
9- TWILIO_API_KEY_SECRET : '123456 ' ,
9+ TWILIO_API_KEY_SECRET : 'api_secret ' ,
1010 API_PASSCODE : '123456' ,
1111 API_PASSCODE_EXPIRY : '10' ,
1212 DOMAIN_NAME : 'video-app-1234-5678-dev.twil.io' ,
@@ -99,7 +99,7 @@ describe('the video-token-server', () => {
9999 statusCode : 200 ,
100100 } ) ;
101101
102- expect ( jwt . decode ( callback . mock . calls [ 0 ] [ 1 ] . body . token ) ) . toEqual ( {
102+ expect ( jwt . verify ( callback . mock . calls [ 0 ] [ 1 ] . body . token , 'api_secret' ) ) . toEqual ( {
103103 exp : 14400 ,
104104 grants : {
105105 identity : 'test-user' ,
@@ -113,4 +113,23 @@ describe('the video-token-server', () => {
113113 sub : 'AC1234' ,
114114 } ) ;
115115 } ) ;
116+
117+ describe ( 'when using an old form URL "video-app-XXXX-dev.twil.io' , ( ) => {
118+ it ( 'should return a valid token when passcode, room_name, and user_identity parameters are supplied' , ( ) => {
119+ Date . now = ( ) => 5 ;
120+ handler (
121+ { ...mockContext , DOMAIN_NAME : 'video-app-1234-dev.twil.io' } ,
122+ { passcode : '1234561234' , room_name : 'test-room' , user_identity : 'test-user' } ,
123+ callback
124+ ) ;
125+
126+ expect ( callback ) . toHaveBeenCalledWith ( null , {
127+ body : { token : expect . any ( String ) } ,
128+ headers : { 'Content-Type' : 'application/json' } ,
129+ statusCode : 200 ,
130+ } ) ;
131+
132+ expect ( jwt . verify ( callback . mock . calls [ 0 ] [ 1 ] . body . token , 'api_secret' ) ) . toBeTruthy ( ) ;
133+ } ) ;
134+ } ) ;
116135} ) ;
0 commit comments