Manager: convert final 'last rendered' queries to sqlc

Ref #104305
This commit is contained in:
Sybren A. Stüvel 2024-09-26 21:26:38 +02:00
parent d43947898d
commit 2cc049c52c
3 changed files with 46 additions and 6 deletions

View File

@ -12,25 +12,26 @@ import (
func TestSetLastRendered(t *testing.T) { func TestSetLastRendered(t *testing.T) {
ctx, close, db, job1, _ := jobTasksTestFixtures(t) ctx, close, db, job1, _ := jobTasksTestFixtures(t)
defer close() defer close()
queries := db.queries()
authoredJob2 := authorTestJob("1295757b-e668-4c49-8b89-f73db8270e42", "just-a-job") authoredJob2 := authorTestJob("1295757b-e668-4c49-8b89-f73db8270e42", "just-a-job")
job2 := persistAuthoredJob(t, ctx, db, authoredJob2) job2 := persistAuthoredJob(t, ctx, db, authoredJob2)
require.NoError(t, db.SetLastRendered(ctx, job1)) require.NoError(t, db.SetLastRendered(ctx, job1))
{ {
entries := []LastRendered{} entries, err := queries.Test_FetchLastRendered(ctx)
db.gormDB.Model(&LastRendered{}).Scan(&entries) require.NoError(t, err)
if assert.Len(t, entries, 1) { if assert.Len(t, entries, 1) {
assert.Equal(t, job1.ID, entries[0].JobID, "job 1 should be the last-rendered one") assert.Equal(t, int64(job1.ID), entries[0].JobID, "job 1 should be the last-rendered one")
} }
} }
require.NoError(t, db.SetLastRendered(ctx, job2)) require.NoError(t, db.SetLastRendered(ctx, job2))
{ {
entries := []LastRendered{} entries, err := queries.Test_FetchLastRendered(ctx)
db.gormDB.Model(&LastRendered{}).Scan(&entries) require.NoError(t, err)
if assert.Len(t, entries, 1) { if assert.Len(t, entries, 1) {
assert.Equal(t, job2.ID, entries[0].JobID, "job 2 should be the last-rendered one") assert.Equal(t, int64(job2.ID), entries[0].JobID, "job 2 should be the last-rendered one")
} }
} }
} }

View File

@ -344,3 +344,8 @@ SELECT count(*) AS count FROM task_failures;
-- name: Test_FetchTaskFailures :many -- name: Test_FetchTaskFailures :many
-- Fetch all task failures in the database. Only used in unit tests. -- Fetch all task failures in the database. Only used in unit tests.
SELECT * FROM task_failures; SELECT * FROM task_failures;
-- name: Test_FetchLastRendered :many
-- Fetch all 'last rendered' in the database (even though there should only be
-- one at most). Only used in unit tests.
SELECT * FROM last_rendereds;

View File

@ -1305,6 +1305,40 @@ func (q *Queries) Test_FetchJobBlocklist(ctx context.Context) ([]JobBlock, error
return items, nil return items, nil
} }
const test_FetchLastRendered = `-- name: Test_FetchLastRendered :many
SELECT id, created_at, updated_at, job_id FROM last_rendereds
`
// Fetch all 'last rendered' in the database (even though there should only be
// one at most). Only used in unit tests.
func (q *Queries) Test_FetchLastRendered(ctx context.Context) ([]LastRendered, error) {
rows, err := q.db.QueryContext(ctx, test_FetchLastRendered)
if err != nil {
return nil, err
}
defer rows.Close()
var items []LastRendered
for rows.Next() {
var i LastRendered
if err := rows.Scan(
&i.ID,
&i.CreatedAt,
&i.UpdatedAt,
&i.JobID,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const test_FetchTaskFailures = `-- name: Test_FetchTaskFailures :many const test_FetchTaskFailures = `-- name: Test_FetchTaskFailures :many
SELECT created_at, task_id, worker_id FROM task_failures SELECT created_at, task_id, worker_id FROM task_failures
` `