OLD | NEW |
1 package db | 1 package db |
2 | 2 |
3 import ( | 3 import ( |
4 "net/url" | 4 "net/url" |
5 "testing" | 5 "testing" |
6 "time" | 6 "time" |
7 | 7 |
8 assert "github.com/stretchr/testify/require" | 8 assert "github.com/stretchr/testify/require" |
9 | 9 |
10 "go.skia.org/infra/go/testutils" | 10 "go.skia.org/infra/go/testutils" |
11 ) | 11 ) |
12 | 12 |
13 func makeTask(ts time.Time, commits []string) *Task { | 13 func makeTask(ts time.Time, commits []string) *Task { |
14 return &Task{ | 14 return &Task{ |
15 Created: ts, | 15 Created: ts, |
16 Commits: commits, | 16 Commits: commits, |
17 Name: "Test-Task", | 17 Name: "Test-Task", |
18 } | 18 } |
19 } | 19 } |
20 | 20 |
21 func testDB(t *testing.T, db DB) { | 21 func TestDB(t *testing.T, db DB) { |
22 defer testutils.AssertCloses(t, db) | 22 defer testutils.AssertCloses(t, db) |
23 | 23 |
24 _, err := db.GetModifiedTasks("dummy-id") | 24 _, err := db.GetModifiedTasks("dummy-id") |
25 assert.True(t, IsUnknownId(err)) | 25 assert.True(t, IsUnknownId(err)) |
26 | 26 |
27 id, err := db.StartTrackingModifiedTasks() | 27 id, err := db.StartTrackingModifiedTasks() |
28 assert.NoError(t, err) | 28 assert.NoError(t, err) |
29 | 29 |
30 tasks, err := db.GetModifiedTasks(id) | 30 tasks, err := db.GetModifiedTasks(id) |
31 assert.NoError(t, err) | 31 assert.NoError(t, err) |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 | 143 |
144 tasks, err = db.GetTasksFromDateRange(t3Before, timeEnd) | 144 tasks, err = db.GetTasksFromDateRange(t3Before, timeEnd) |
145 assert.NoError(t, err) | 145 assert.NoError(t, err) |
146 testutils.AssertDeepEqual(t, []*Task{t3}, tasks) | 146 testutils.AssertDeepEqual(t, []*Task{t3}, tasks) |
147 | 147 |
148 tasks, err = db.GetTasksFromDateRange(t3After, timeEnd) | 148 tasks, err = db.GetTasksFromDateRange(t3After, timeEnd) |
149 assert.NoError(t, err) | 149 assert.NoError(t, err) |
150 testutils.AssertDeepEqual(t, []*Task{}, tasks) | 150 testutils.AssertDeepEqual(t, []*Task{}, tasks) |
151 } | 151 } |
152 | 152 |
153 func testTooManyUsers(t *testing.T, db DB) { | 153 func TestTooManyUsers(t *testing.T, db DB) { |
154 defer testutils.AssertCloses(t, db) | 154 defer testutils.AssertCloses(t, db) |
155 | 155 |
156 // Max out the number of modified-tasks users; ensure that we error out. | 156 // Max out the number of modified-tasks users; ensure that we error out. |
157 for i := 0; i < MAX_MODIFIED_BUILDS_USERS; i++ { | 157 for i := 0; i < MAX_MODIFIED_BUILDS_USERS; i++ { |
158 _, err := db.StartTrackingModifiedTasks() | 158 _, err := db.StartTrackingModifiedTasks() |
159 assert.NoError(t, err) | 159 assert.NoError(t, err) |
160 } | 160 } |
161 _, err := db.StartTrackingModifiedTasks() | 161 _, err := db.StartTrackingModifiedTasks() |
162 assert.True(t, IsTooManyUsers(err)) | 162 assert.True(t, IsTooManyUsers(err)) |
163 } | 163 } |
164 | |
165 func TestInMemoryDB(t *testing.T) { | |
166 testDB(t, NewInMemoryDB()) | |
167 } | |
168 | |
169 func TestInMemoryTooManyUsers(t *testing.T) { | |
170 testTooManyUsers(t, NewInMemoryDB()) | |
171 } | |
OLD | NEW |