MCPcopy Index your code
hub / github.com/riverqueue/river / exerciseSQLFragments

Function exerciseSQLFragments

riverdriver/riverdrivertest/sql_fragments.go:14–72  ·  view source on GitHub ↗
(ctx context.Context, t *testing.T, executorWithTx func(ctx context.Context, t *testing.T) (riverdriver.Executor, riverdriver.Driver[TTx]))

Source from the content-addressed store, hash-verified

12)
13
14func exerciseSQLFragments[TTx any](ctx context.Context, t *testing.T, executorWithTx func(ctx context.Context, t *testing.T) (riverdriver.Executor, riverdriver.Driver[TTx])) {
15 t.Helper()
16
17 t.Run("SQLFragmentColumnIn", func(t *testing.T) {
18 t.Parallel()
19
20 t.Run("IntegerValues", func(t *testing.T) {
21 t.Parallel()
22
23 exec, driver := executorWithTx(ctx, t)
24
25 var (
26 job1 = testfactory.Job(ctx, t, exec, &testfactory.JobOpts{})
27 job2 = testfactory.Job(ctx, t, exec, &testfactory.JobOpts{})
28 _ = testfactory.Job(ctx, t, exec, &testfactory.JobOpts{})
29 )
30
31 sqlFragment, arg, err := driver.SQLFragmentColumnIn("id", []int64{job1.ID, job2.ID})
32 require.NoError(t, err)
33
34 jobs, err := exec.JobList(ctx, &riverdriver.JobListParams{
35 Max: 100,
36 NamedArgs: map[string]any{"id": arg},
37 OrderByClause: "id",
38 WhereClause: sqlFragment,
39 })
40 require.NoError(t, err)
41 require.Len(t, jobs, 2)
42 require.Equal(t, job1.ID, jobs[0].ID)
43 require.Equal(t, job2.ID, jobs[1].ID)
44 })
45
46 t.Run("StringValues", func(t *testing.T) {
47 t.Parallel()
48
49 exec, driver := executorWithTx(ctx, t)
50
51 var (
52 job1 = testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Kind: ptrutil.Ptr("kind1")})
53 job2 = testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Kind: ptrutil.Ptr("kind2")})
54 _ = testfactory.Job(ctx, t, exec, &testfactory.JobOpts{Kind: ptrutil.Ptr("kind3")})
55 )
56
57 sqlFragment, arg, err := driver.SQLFragmentColumnIn("kind", []string{job1.Kind, job2.Kind})
58 require.NoError(t, err)
59
60 jobs, err := exec.JobList(ctx, &riverdriver.JobListParams{
61 Max: 100,
62 NamedArgs: map[string]any{"kind": arg},
63 OrderByClause: "kind",
64 WhereClause: sqlFragment,
65 })
66 require.NoError(t, err)
67 require.Len(t, jobs, 2)
68 require.Equal(t, job1.Kind, jobs[0].Kind)
69 require.Equal(t, job2.Kind, jobs[1].Kind)
70 })
71 })

Callers 1

ExerciseFunction · 0.85

Calls 6

JobFunction · 0.92
PtrFunction · 0.92
HelperMethod · 0.65
RunMethod · 0.65
SQLFragmentColumnInMethod · 0.65
JobListMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…