MCPcopy
hub / github.com/gotify/server / TestDeleteUser

Function TestDeleteUser

api/stream/stream_test.go:264–324  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

262}
263
264func TestDeleteUser(t *testing.T) {
265 mode.Set(mode.TestDev)
266
267 defer leaktest.Check(t)()
268 userIDs := []uint{1, 1, 1, 1, 2, 2, 3}
269 tokens := []string{"1-1", "1-2", "1-2", "1-3", "2-1", "2-2", "3"}
270 i := 0
271 server, api := bootTestServer(func(context *gin.Context) {
272 auth.RegisterAuthentication(context, nil, userIDs[i], tokens[i])
273 i++
274 })
275 defer server.Close()
276
277 wsURL := wsURL(server.URL)
278
279 userOneIPhone := testClient(t, wsURL)
280 defer userOneIPhone.conn.Close()
281 userOneAndroid := testClient(t, wsURL)
282 defer userOneAndroid.conn.Close()
283 userOneBrowser := testClient(t, wsURL)
284 defer userOneBrowser.conn.Close()
285 userOneOther := testClient(t, wsURL)
286 defer userOneOther.conn.Close()
287 userOne := []*testingClient{userOneAndroid, userOneBrowser, userOneIPhone, userOneOther}
288
289 userTwoBrowser := testClient(t, wsURL)
290 defer userTwoBrowser.conn.Close()
291 userTwoAndroid := testClient(t, wsURL)
292 defer userTwoAndroid.conn.Close()
293 userTwo := []*testingClient{userTwoAndroid, userTwoBrowser}
294
295 userThreeAndroid := testClient(t, wsURL)
296 defer userThreeAndroid.conn.Close()
297 userThree := []*testingClient{userThreeAndroid}
298
299 waitForConnectedClients(api, len(userOne)+len(userTwo)+len(userThree))
300
301 api.Notify(1, &model.MessageExternal{ID: 4, Message: "there"})
302 expectMessage(&model.MessageExternal{ID: 4, Message: "there"}, userOne...)
303 expectNoMessage(userTwo...)
304 expectNoMessage(userThree...)
305
306 api.NotifyDeletedUser(1)
307
308 api.Notify(1, &model.MessageExternal{ID: 2, Message: "there"})
309 expectNoMessage(userOne...)
310 expectNoMessage(userThree...)
311 expectNoMessage(userTwo...)
312
313 api.Notify(2, &model.MessageExternal{ID: 2, Message: "there"})
314 expectNoMessage(userOne...)
315 expectMessage(&model.MessageExternal{ID: 2, Message: "there"}, userTwo...)
316 expectNoMessage(userThree...)
317
318 api.Notify(3, &model.MessageExternal{ID: 5, Message: "there"})
319 expectNoMessage(userOne...)
320 expectNoMessage(userTwo...)
321 expectMessage(&model.MessageExternal{ID: 5, Message: "there"}, userThree...)

Callers

nothing calls this directly

Calls 11

SetFunction · 0.92
RegisterAuthenticationFunction · 0.92
bootTestServerFunction · 0.85
wsURLFunction · 0.85
testClientFunction · 0.85
waitForConnectedClientsFunction · 0.85
expectMessageFunction · 0.85
expectNoMessageFunction · 0.85
NotifyDeletedUserMethod · 0.80
NotifyMethod · 0.65
CloseMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…