MCPcopy Index your code
hub / github.com/coder/coder / TestMembership

Function TestMembership

coderd/rbac/regosql/sqltypes/member_test.go:11–108  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestMembership(t *testing.T) {
12 t.Parallel()
13 testCases := []struct {
14 Name string
15 Membership sqltypes.Node
16 ExpectedSQL string
17 ExpectedErrors int
18 }{
19 {
20 Name: "StringArray",
21 Membership: sqltypes.MemberOf(
22 sqltypes.String("foo"),
23 must(sqltypes.Array("",
24 sqltypes.String("bar"),
25 sqltypes.String("buzz"),
26 )),
27 ),
28 ExpectedSQL: "'foo' = ANY(ARRAY ['bar','buzz'])",
29 },
30 {
31 Name: "NumberArray",
32 Membership: sqltypes.MemberOf(
33 sqltypes.Number("", "5"),
34 must(sqltypes.Array("",
35 sqltypes.Number("", "2"),
36 sqltypes.Number("", "5"),
37 )),
38 ),
39 ExpectedSQL: "5 = ANY(ARRAY [2,5])",
40 },
41 {
42 Name: "BoolArray",
43 Membership: sqltypes.MemberOf(
44 sqltypes.Bool(true),
45 must(sqltypes.Array("",
46 sqltypes.Bool(false),
47 sqltypes.Bool(true),
48 )),
49 ),
50 ExpectedSQL: "true = ANY(ARRAY [false,true])",
51 },
52 {
53 Name: "EmptyArray",
54 Membership: sqltypes.MemberOf(
55 sqltypes.Bool(true),
56 must(sqltypes.Array("")),
57 ),
58 ExpectedSQL: "false",
59 },
60 {
61 Name: "AlwaysFalseMember",
62 Membership: sqltypes.MemberOf(
63 sqltypes.AlwaysFalseNode(sqltypes.Bool(true)),
64 must(sqltypes.Array("",
65 sqltypes.Bool(false),
66 sqltypes.Bool(true),
67 )),
68 ),

Callers

nothing calls this directly

Calls 12

ErrorsMethod · 0.95
MemberOfFunction · 0.92
StringFunction · 0.92
ArrayFunction · 0.92
NumberFunction · 0.92
BoolFunction · 0.92
AlwaysFalseNodeFunction · 0.92
NewSQLGeneratorFunction · 0.92
mustFunction · 0.70
RunMethod · 0.65
SQLStringMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected