setupTestServer creates a test server with its own database
(t *testing.T, serverTime time.Time)
| 90 | |
| 91 | // setupTestServer creates a test server with its own database |
| 92 | func setupTestServer(t *testing.T, serverTime time.Time) (*httptest.Server, *gorm.DB, error) { |
| 93 | db := apitest.InitMemoryDB(t) |
| 94 | |
| 95 | mockClock := clock.NewMock() |
| 96 | mockClock.SetNow(serverTime) |
| 97 | |
| 98 | a := app.NewTest() |
| 99 | a.Clock = mockClock |
| 100 | a.EmailBackend = &apitest.MockEmailbackendImplementation{} |
| 101 | a.DB = db |
| 102 | |
| 103 | server, err := controllers.NewServer(&a) |
| 104 | if err != nil { |
| 105 | return nil, nil, errors.Wrap(err, "initializing server") |
| 106 | } |
| 107 | |
| 108 | return server, db, nil |
| 109 | } |
| 110 | |
| 111 | // setupNewServer creates a new server and returns the server and database. |
| 112 | // This is useful when a test needs to switch to a new empty server. |