Skip to content

Commit ffc18c5

Browse files
committed
Add rqlite tests
1 parent eb5f740 commit ffc18c5

File tree

2 files changed

+252
-20
lines changed

2 files changed

+252
-20
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package test
2+
3+
//go:generate depstubber -vendor github.com/rqlite/gorqlite Connection,QueryResult
4+
5+
import (
6+
"context"
7+
8+
"github.com/rqlite/gorqlite"
9+
)
10+
11+
func parameterize(query string) gorqlite.ParameterizedStatement {
12+
return gorqlite.ParameterizedStatement{
13+
Query: query,
14+
Arguments: []interface{}{},
15+
}
16+
}
17+
18+
func test_rqlite_gorqlite(conn *gorqlite.Connection, ctx context.Context, query []string) {
19+
v1, err := conn.Query(query) // $ source
20+
if err != nil {
21+
return
22+
}
23+
24+
sink(v1) // $ hasTaintFlow="v1"
25+
26+
v2, err := conn.QueryContext(ctx, query) // $ source
27+
if err != nil {
28+
return
29+
}
30+
31+
sink(v2) // $ hasTaintFlow="v2"
32+
33+
v3, err := conn.QueryOne(query[0]) // $ source
34+
if err != nil {
35+
return
36+
}
37+
38+
r3, err := v3.Slice()
39+
if err != nil {
40+
return
41+
}
42+
43+
sink(r3) // $ hasTaintFlow="r3"
44+
45+
v4, err := conn.QueryOneContext(ctx, query[0]) // $ source
46+
if err != nil {
47+
return
48+
}
49+
50+
var r41, r42, r43 string
51+
v4.Scan(&r41, &r42, &r43)
52+
53+
v5, err := conn.QueryOneParameterized(parameterize(query[0])) // $ source
54+
if err != nil {
55+
return
56+
}
57+
58+
sink(v5) // $ hasTaintFlow="v5"
59+
60+
v6, err := conn.QueryOneParameterizedContext(ctx, parameterize(query[0])) // $ source
61+
if err != nil {
62+
return
63+
}
64+
65+
sink(v6) // $ hasTaintFlow="v6"
66+
67+
v7, err := conn.QueryParameterized([]gorqlite.ParameterizedStatement{parameterize(query[0])}) // $ source
68+
if err != nil {
69+
return
70+
}
71+
72+
sink(v7) // $ hasTaintFlow="v7"
73+
74+
v8, err := conn.QueryParameterizedContext(ctx, []gorqlite.ParameterizedStatement{parameterize(query[0])}) // $ source
75+
if err != nil {
76+
return
77+
}
78+
79+
sink(v8) // $ hasTaintFlow="v8"
80+
}

go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/database/vendor/github.com/rqlite/gorqlite/stub.go

Lines changed: 172 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)