MCPcopy
hub / github.com/livekit/livekit / TestDataTrackRevokeDisallowedSubscribers

Function TestDataTrackRevokeDisallowedSubscribers

pkg/rtc/datatrack_test.go:39–71  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

37}
38
39func TestDataTrackRevokeDisallowedSubscribers(t *testing.T) {
40 dt := NewDataTrack(
41 DataTrackParams{
42 Logger: logger.GetLogger(),
43 ParticipantID: func() livekit.ParticipantID { return "pubID" },
44 ParticipantIdentity: "pub",
45 },
46 &livekit.DataTrackInfo{
47 PubHandle: 1,
48 Sid: "DTR_test",
49 Name: "test",
50 },
51 )
52 defer dt.Close()
53
54 allowed := newTestDataTrackSubscriber("allowedID", "allowed", false)
55 disallowed := newTestDataTrackSubscriber("disallowedID", "disallowed", false)
56 recorder := newTestDataTrackSubscriber("recorderID", "recorder", true)
57
58 for _, sub := range []*typesfakes.FakeLocalParticipant{allowed, disallowed, recorder} {
59 _, err := dt.AddSubscriber(sub)
60 require.NoError(t, err)
61 require.True(t, dt.IsSubscriber(sub.ID()))
62 }
63
64 revoked := dt.RevokeDisallowedSubscribers([]livekit.ParticipantIdentity{"allowed"})
65 require.Equal(t, []livekit.ParticipantIdentity{"disallowed"}, revoked)
66
67 // disallowed subscriber is removed, allowed and permission exempt (recorder) subscribers are kept
68 require.True(t, dt.IsSubscriber(allowed.ID()))
69 require.False(t, dt.IsSubscriber(disallowed.ID()))
70 require.True(t, dt.IsSubscriber(recorder.ID()))
71}

Callers

nothing calls this directly

Calls 8

CloseMethod · 0.95
AddSubscriberMethod · 0.95
IsSubscriberMethod · 0.95
NewDataTrackFunction · 0.85
GetLoggerMethod · 0.65
IDMethod · 0.65

Tested by

no test coverage detected