(t *testing.T)
| 262 | } |
| 263 | |
| 264 | func 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...) |
nothing calls this directly
no test coverage detected
searching dependent graphs…