@@ -141,7 +141,7 @@ func TestRealtimePresence_EnsureChannelIsAttached(t *testing.T) {
141
141
assert .NoError (t , err )
142
142
}
143
143
144
- func SkipTestRealtimePresence_Presence_Enter_Update_Leave (t * testing.T ) {
144
+ func TestRealtimePresence_Presence_Enter_Update_Leave (t * testing.T ) {
145
145
app , client1 := ablytest .NewRealtime (nil ... )
146
146
defer safeclose (t , ablytest .FullRealtimeCloser (client1 ), app )
147
147
@@ -199,7 +199,7 @@ func SkipTestRealtimePresence_Presence_Enter_Update_Leave(t *testing.T) {
199
199
assert .Equal (t , "leave client2" , member_received .Data )
200
200
}
201
201
202
- func SkipTestRealtimePresence_ServerSynthesized_Leave (t * testing.T ) {
202
+ func TestRealtimePresence_ServerSynthesized_Leave (t * testing.T ) {
203
203
app , client1 := ablytest .NewRealtime (nil ... )
204
204
defer safeclose (t , ablytest .FullRealtimeCloser (client1 ), app )
205
205
@@ -254,47 +254,6 @@ func SkipTestRealtimePresence_ServerSynthesized_Leave(t *testing.T) {
254
254
assert .Empty (t , members )
255
255
}
256
256
257
- func TestRealtimePresence_ServerSynthesized_Leave (t * testing.T ) {
258
- app , client1 := ablytest .NewRealtime (nil ... )
259
- defer safeclose (t , ablytest .FullRealtimeCloser (client1 ), app )
260
-
261
- client2 := app .NewRealtime (ably .WithClientID ("client2" ))
262
- defer safeclose (t , ablytest .FullRealtimeCloser (client2 ))
263
-
264
- err := ablytest .Wait (ablytest .ConnWaiter (client1 , client1 .Connect , ably .ConnectionEventConnected ), nil )
265
- assert .NoError (t , err )
266
-
267
- err = ablytest .Wait (ablytest .ConnWaiter (client2 , client2 .Connect , ably .ConnectionEventConnected ), nil )
268
- assert .NoError (t , err )
269
-
270
- client1Channel := client1 .Channels .Get ("channel" )
271
- err = client1Channel .Attach (context .Background ())
272
-
273
- assert .NoError (t , err )
274
-
275
- client2Channel := client2 .Channels .Get ("channel" )
276
- err = client2Channel .Attach (context .Background ())
277
- assert .NoError (t , err )
278
-
279
- // ENTER
280
- err = client2Channel .Presence .Enter (context .Background (), "enter client2" )
281
- assert .NoError (t , err )
282
-
283
- leaveAction := ably .PresenceActionLeave
284
- subCh1 , unsub1 , err := ablytest .ReceivePresenceMessages (client1Channel , & leaveAction )
285
- assert .NoError (t , err )
286
- defer unsub1 ()
287
-
288
- // Server Synthesized Leave when client2 disconnects
289
- client2 .Close ()
290
-
291
- member_received := <- subCh1
292
- assert .Len (t , subCh1 , 0 ) // Ensure no more updates received
293
-
294
- assert .Equal (t , ably .PresenceActionLeave , member_received .Action )
295
- assert .Equal (t , "client2" , member_received .ClientID )
296
- }
297
-
298
257
// When a client is created with a ClientID, Enter is used to announce the client's presence.
299
258
// This example shows Client A entering their presence.
300
259
func ExampleRealtimePresence_Enter () {
0 commit comments