(t *testing.T)
| 457 | } |
| 458 | |
| 459 | func TestLimitRegistrations(t *testing.T) { |
| 460 | // Set up |
| 461 | s := NewServer(DB, TrackUsageData(false)) |
| 462 | |
| 463 | if resp := DB.Exec("DELETE FROM enc_history_entries"); resp.Error != nil { |
| 464 | t.Fatalf("failed to delete enc_history_entries: %v", resp.Error) |
| 465 | } |
| 466 | |
| 467 | if resp := DB.Exec("DELETE FROM devices"); resp.Error != nil { |
| 468 | t.Fatalf("failed to delete devices: %v", resp.Error) |
| 469 | } |
| 470 | defer testutils.BackupAndRestoreEnv("HISHTORY_MAX_NUM_USERS")() |
| 471 | os.Setenv("HISHTORY_MAX_NUM_USERS", "2") |
| 472 | |
| 473 | // Register three devices across two users |
| 474 | deviceReq := httptest.NewRequest(http.MethodGet, "/?device_id="+uuid.Must(uuid.NewRandom()).String()+"&user_id="+data.UserId("user1"), nil) |
| 475 | s.apiRegisterHandler(httptest.NewRecorder(), deviceReq) |
| 476 | deviceReq = httptest.NewRequest(http.MethodGet, "/?device_id="+uuid.Must(uuid.NewRandom()).String()+"&user_id="+data.UserId("user1"), nil) |
| 477 | s.apiRegisterHandler(httptest.NewRecorder(), deviceReq) |
| 478 | deviceReq = httptest.NewRequest(http.MethodGet, "/?device_id="+uuid.Must(uuid.NewRandom()).String()+"&user_id="+data.UserId("user2"), nil) |
| 479 | s.apiRegisterHandler(httptest.NewRecorder(), deviceReq) |
| 480 | |
| 481 | // And this next one should fail since it is a new user |
| 482 | defer func() { _ = recover() }() |
| 483 | deviceReq = httptest.NewRequest(http.MethodGet, "/?device_id="+uuid.Must(uuid.NewRandom()).String()+"&user_id="+data.UserId("user3"), nil) |
| 484 | s.apiRegisterHandler(httptest.NewRecorder(), deviceReq) |
| 485 | t.Errorf("expected panic") |
| 486 | } |
| 487 | |
| 488 | func TestCleanDatabaseNoErrors(t *testing.T) { |
| 489 | // Init |
nothing calls this directly
no test coverage detected