Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Side by Side Diff: build_scheduler/go/db/testutil.go

Issue 2246933002: Add Task DB implementation using a local BoltDB. (Closed) Base URL: https://skia.googlesource.com/buildbot@taskdb-impl-track
Patch Set: Fix bad merge. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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 }
OLDNEW
« build_scheduler/go/db/local_db/local_db.go ('K') | « build_scheduler/go/db/task_test.go ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698