MCPcopy
hub / github.com/lxc/incus / TestSelectObjects

Function TestSelectObjects

internal/server/db/query/objects_test.go:45–69  ·  view source on GitHub ↗

Scan rows yielded by the query.

(t *testing.T)

Source from the content-addressed store, hash-verified

43
44// Scan rows yielded by the query.
45func TestSelectObjects(t *testing.T) {
46 tx := newTxForObjects(t)
47 objects := make([]struct {
48 ID int
49 Name string
50 }, 1)
51 object := objects[0]
52
53 count := 0
54 dest := func(scan func(dest ...any) error) error {
55 require.Equal(t, 0, count, "expected at most one row to be yielded")
56 count++
57
58 return scan(&object.ID, &object.Name)
59 }
60
61 stmt, err := tx.Prepare("SELECT id, name FROM test WHERE name=?")
62 require.NoError(t, err)
63
64 err = query.SelectObjects(context.TODO(), stmt, dest, "bar")
65 require.NoError(t, err)
66
67 assert.Equal(t, 1, object.ID)
68 assert.Equal(t, "bar", object.Name)
69}
70
71// Exercise possible failure modes.
72func TestUpsertObject_Error(t *testing.T) {

Callers

nothing calls this directly

Calls 4

SelectObjectsFunction · 0.92
newTxForObjectsFunction · 0.85
PrepareMethod · 0.65
scanFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…