@@ -14,6 +14,8 @@ import { SynapseClient } from '../helper/synapse-client';
1414 let rc1AdminRequestConfig : IRequestConfig ;
1515 let rc1User1RequestConfig : IRequestConfig ;
1616 let hs1AdminApp : SynapseClient ;
17+ let hs1PrimaryApp : SynapseClient ;
18+ let hs1PrimaryMatrixUserId : string ;
1719
1820 beforeAll ( async ( ) => {
1921 rc1AdminRequestConfig = await getRequestConfig (
@@ -40,9 +42,23 @@ import { SynapseClient } from '../helper/synapse-client';
4042
4143 hs1AdminApp = new SynapseClient ( federationConfig . hs1 . url , federationConfig . hs1 . adminUser , federationConfig . hs1 . adminPassword ) ;
4244 await hs1AdminApp . initialize ( ) ;
45+
46+ const primaryUser = await SynapseClient . createAndInitializeUser ( federationConfig . hs1 . url , federationConfig . hs1 . domain , {
47+ sharedSecret : federationConfig . hs1 . registrationSharedSecret ,
48+ admin : true ,
49+ } ) ;
50+ hs1PrimaryApp = primaryUser . client ;
51+ hs1PrimaryMatrixUserId = primaryUser . matrixUserId ;
4352 } ) ;
4453
4554 afterAll ( async ( ) => {
55+ const adminAccessToken = hs1AdminApp ?. matrixClient ?. getAccessToken ( ) ;
56+ if ( hs1PrimaryApp ) {
57+ await hs1PrimaryApp . close ( ) ;
58+ }
59+ if ( hs1PrimaryMatrixUserId && adminAccessToken ) {
60+ await SynapseClient . deactivateUser ( federationConfig . hs1 . url , hs1PrimaryMatrixUserId , adminAccessToken ) ;
61+ }
4662 if ( hs1AdminApp ) {
4763 await hs1AdminApp . close ( ) ;
4864 }
@@ -58,15 +74,15 @@ import { SynapseClient } from '../helper/synapse-client';
5874 const createResponse = await createRoom ( {
5975 type : 'p' ,
6076 name : channelName ,
61- members : [ federationConfig . hs1 . adminMatrixUserId , federationConfig . rc1 . additionalUser1 . username ] ,
77+ members : [ hs1PrimaryMatrixUserId , federationConfig . rc1 . additionalUser1 . username ] ,
6278 extraData : { federated : true } ,
6379 config : rc1AdminRequestConfig ,
6480 } ) ;
6581
6682 federatedChannelId = createResponse . body . group . _id ;
6783
6884 // Accept invitation on Synapse side
69- await hs1AdminApp . acceptInvitationForRoomName ( channelName ) ;
85+ await hs1PrimaryApp . acceptInvitationForRoomName ( channelName ) ;
7086
7187 // Accept invitation for the local RC user
7288 await acceptRoomInvite ( federatedChannelId , rc1User1RequestConfig ) ;
@@ -75,7 +91,7 @@ import { SynapseClient } from '../helper/synapse-client';
7591 await retry (
7692 'wait for RC user on Synapse' ,
7793 async ( ) => {
78- const member = await hs1AdminApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
94+ const member = await hs1PrimaryApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
7995 expect ( member ) . not . toBeNull ( ) ;
8096 expect ( member ! . membership ) . toBe ( 'join' ) ;
8197 } ,
@@ -110,7 +126,7 @@ import { SynapseClient } from '../helper/synapse-client';
110126 await retry (
111127 'wait for ban on Synapse' ,
112128 async ( ) => {
113- const member = await hs1AdminApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
129+ const member = await hs1PrimaryApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
114130 expect ( member ) . not . toBeNull ( ) ;
115131 expect ( member ! . membership ) . toBe ( 'ban' ) ;
116132 } ,
@@ -149,7 +165,7 @@ import { SynapseClient } from '../helper/synapse-client';
149165 await retry (
150166 'wait for unban on Synapse' ,
151167 async ( ) => {
152- const member = await hs1AdminApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
168+ const member = await hs1PrimaryApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
153169 expect ( member ) . not . toBeNull ( ) ;
154170 expect ( member ! . membership ) . not . toBe ( 'ban' ) ;
155171 } ,
@@ -168,15 +184,15 @@ import { SynapseClient } from '../helper/synapse-client';
168184 const createResponse = await createRoom ( {
169185 type : 'p' ,
170186 name : channelName ,
171- members : [ federationConfig . hs1 . adminMatrixUserId , federationConfig . rc1 . additionalUser1 . username ] ,
187+ members : [ hs1PrimaryMatrixUserId , federationConfig . rc1 . additionalUser1 . username ] ,
172188 extraData : { federated : true } ,
173189 config : rc1AdminRequestConfig ,
174190 } ) ;
175191
176192 federatedChannelId = createResponse . body . group . _id ;
177193
178194 // Accept invitation on Synapse side only — RC user stays as INVITED
179- await hs1AdminApp . acceptInvitationForRoomName ( channelName ) ;
195+ await hs1PrimaryApp . acceptInvitationForRoomName ( channelName ) ;
180196 } , 30000 ) ;
181197
182198 it ( 'should ban the invited user before they accept' , async ( ) => {
@@ -228,10 +244,10 @@ import { SynapseClient } from '../helper/synapse-client';
228244
229245 beforeAll ( async ( ) => {
230246 channelName = `fed-ban-synapse-${ Date . now ( ) } ` ;
231- synapseRoomId = await hs1AdminApp . createRoom ( channelName , Visibility . Private ) ;
247+ synapseRoomId = await hs1PrimaryApp . createRoom ( channelName , Visibility . Private ) ;
232248
233- await hs1AdminApp . inviteUserToRoom ( synapseRoomId , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
234- await hs1AdminApp . inviteUserToRoom ( synapseRoomId , federationConfig . rc1 . adminMatrixUserId ) ;
249+ await hs1PrimaryApp . inviteUserToRoom ( synapseRoomId , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
250+ await hs1PrimaryApp . inviteUserToRoom ( synapseRoomId , federationConfig . rc1 . adminMatrixUserId ) ;
235251
236252 const roomsResponse = await rc1AdminRequestConfig . request . get ( api ( 'rooms.get' ) ) . set ( rc1AdminRequestConfig . credentials ) . expect ( 200 ) ;
237253
@@ -254,7 +270,7 @@ import { SynapseClient } from '../helper/synapse-client';
254270 await retry (
255271 'wait for RC user on Synapse' ,
256272 async ( ) => {
257- const member = await hs1AdminApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
273+ const member = await hs1PrimaryApp . findRoomMember ( channelName , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
258274 expect ( member ) . not . toBeNull ( ) ;
259275 expect ( member ! . membership ) . toBe ( 'join' ) ;
260276 } ,
@@ -263,7 +279,7 @@ import { SynapseClient } from '../helper/synapse-client';
263279 } , 30000 ) ;
264280
265281 it ( 'should ban the RC user from Synapse' , async ( ) => {
266- await hs1AdminApp . banUser ( synapseRoomId , federationConfig . rc1 . additionalUser1 . matrixUserId , 'federation ban test' ) ;
282+ await hs1PrimaryApp . banUser ( synapseRoomId , federationConfig . rc1 . additionalUser1 . matrixUserId , 'federation ban test' ) ;
267283 } ) ;
268284
269285 it ( 'should reflect ban on RC side' , async ( ) => {
@@ -291,7 +307,7 @@ import { SynapseClient } from '../helper/synapse-client';
291307 } ) ;
292308
293309 it ( 'should unban the RC user from Synapse' , async ( ) => {
294- await hs1AdminApp . unbanUser ( synapseRoomId , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
310+ await hs1PrimaryApp . unbanUser ( synapseRoomId , federationConfig . rc1 . additionalUser1 . matrixUserId ) ;
295311 } ) ;
296312
297313 it ( 'should reflect unban on RC side' , async ( ) => {
0 commit comments