MCPcopy
hub / github.com/jackc/pgx / TestNewQuery

Function TestNewQuery

internal/sanitize/sanitize_test.go:13–170  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestNewQuery(t *testing.T) {
14 successTests := []struct {
15 sql string
16 expected sanitize.Query
17 }{
18 {
19 sql: "select 42",
20 expected: sanitize.Query{Parts: []sanitize.Part{"select 42"}},
21 },
22 {
23 sql: "select $1",
24 expected: sanitize.Query{Parts: []sanitize.Part{"select ", 1}},
25 },
26 {
27 sql: "select 'quoted $42', $1",
28 expected: sanitize.Query{Parts: []sanitize.Part{"select 'quoted $42', ", 1}},
29 },
30 {
31 sql: `select "doubled quoted $42", $1`,
32 expected: sanitize.Query{Parts: []sanitize.Part{`select "doubled quoted $42", `, 1}},
33 },
34 {
35 sql: "select 'foo''bar', $1",
36 expected: sanitize.Query{Parts: []sanitize.Part{"select 'foo''bar', ", 1}},
37 },
38 {
39 sql: `select "foo""bar", $1`,
40 expected: sanitize.Query{Parts: []sanitize.Part{`select "foo""bar", `, 1}},
41 },
42 {
43 sql: "select '''', $1",
44 expected: sanitize.Query{Parts: []sanitize.Part{"select '''', ", 1}},
45 },
46 {
47 sql: `select """", $1`,
48 expected: sanitize.Query{Parts: []sanitize.Part{`select """", `, 1}},
49 },
50 {
51 sql: "select $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11",
52 expected: sanitize.Query{Parts: []sanitize.Part{"select ", 1, ", ", 2, ", ", 3, ", ", 4, ", ", 5, ", ", 6, ", ", 7, ", ", 8, ", ", 9, ", ", 10, ", ", 11}},
53 },
54 {
55 sql: `select "adsf""$1""adsf", $1, 'foo''$$12bar', $2, '$3'`,
56 expected: sanitize.Query{Parts: []sanitize.Part{`select "adsf""$1""adsf", `, 1, `, 'foo''$$12bar', `, 2, `, '$3'`}},
57 },
58 {
59 sql: `select E'escape string\' $42', $1`,
60 expected: sanitize.Query{Parts: []sanitize.Part{`select E'escape string\' $42', `, 1}},
61 },
62 {
63 sql: `select e'escape string\' $42', $1`,
64 expected: sanitize.Query{Parts: []sanitize.Part{`select e'escape string\' $42', `, 1}},
65 },
66 {
67 sql: `select /* a baby's toy */ 'barbie', $1`,
68 expected: sanitize.Query{Parts: []sanitize.Part{`select /* a baby's toy */ 'barbie', `, 1}},
69 },
70 {

Callers

nothing calls this directly

Calls 1

NewQueryFunction · 0.92

Tested by

no test coverage detected