From 2cc049c52c6eb3518b35d3224d25b1d47b8910d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 26 Sep 2024 21:26:38 +0200 Subject: [PATCH] Manager: convert final 'last rendered' queries to sqlc Ref #104305 --- .../manager/persistence/last_rendered_test.go | 13 +++---- .../manager/persistence/sqlc/query_jobs.sql | 5 +++ .../persistence/sqlc/query_jobs.sql.go | 34 +++++++++++++++++++ 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/internal/manager/persistence/last_rendered_test.go b/internal/manager/persistence/last_rendered_test.go index adc10a5f..7b997f20 100644 --- a/internal/manager/persistence/last_rendered_test.go +++ b/internal/manager/persistence/last_rendered_test.go @@ -12,25 +12,26 @@ import ( func TestSetLastRendered(t *testing.T) { ctx, close, db, job1, _ := jobTasksTestFixtures(t) defer close() + queries := db.queries() authoredJob2 := authorTestJob("1295757b-e668-4c49-8b89-f73db8270e42", "just-a-job") job2 := persistAuthoredJob(t, ctx, db, authoredJob2) require.NoError(t, db.SetLastRendered(ctx, job1)) { - entries := []LastRendered{} - db.gormDB.Model(&LastRendered{}).Scan(&entries) + entries, err := queries.Test_FetchLastRendered(ctx) + require.NoError(t, err) 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)) { - entries := []LastRendered{} - db.gormDB.Model(&LastRendered{}).Scan(&entries) + entries, err := queries.Test_FetchLastRendered(ctx) + require.NoError(t, err) 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") } } } diff --git a/internal/manager/persistence/sqlc/query_jobs.sql b/internal/manager/persistence/sqlc/query_jobs.sql index 63153939..e1807feb 100644 --- a/internal/manager/persistence/sqlc/query_jobs.sql +++ b/internal/manager/persistence/sqlc/query_jobs.sql @@ -344,3 +344,8 @@ SELECT count(*) AS count FROM task_failures; -- name: Test_FetchTaskFailures :many -- Fetch all task failures in the database. Only used in unit tests. 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; diff --git a/internal/manager/persistence/sqlc/query_jobs.sql.go b/internal/manager/persistence/sqlc/query_jobs.sql.go index 9ae0ab52..5bf472f1 100644 --- a/internal/manager/persistence/sqlc/query_jobs.sql.go +++ b/internal/manager/persistence/sqlc/query_jobs.sql.go @@ -1305,6 +1305,40 @@ func (q *Queries) Test_FetchJobBlocklist(ctx context.Context) ([]JobBlock, error 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 SELECT created_at, task_id, worker_id FROM task_failures `