Skip to content

Commit 7f51037

Browse files
author
Kate Osborn
committed
Simplify unit tests
1 parent e8ce30f commit 7f51037

File tree

1 file changed

+88
-82
lines changed

1 file changed

+88
-82
lines changed

internal/state/graph/reference_grant_test.go

Lines changed: 88 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ func TestReferenceGrantResolver(t *testing.T) {
1414
gwNs := "gw-ns"
1515
secretNsName := types.NamespacedName{Namespace: "test", Name: "certificate"}
1616

17-
getNormalRefGrant := func() *v1beta1.ReferenceGrant {
18-
return &v1beta1.ReferenceGrant{
17+
refGrants := map[types.NamespacedName]*v1beta1.ReferenceGrant{
18+
{Namespace: "test", Name: "valid"}: {
1919
Spec: v1beta1.ReferenceGrantSpec{
2020
From: []v1beta1.ReferenceGrantFrom{
2121
{
@@ -27,110 +27,126 @@ func TestReferenceGrantResolver(t *testing.T) {
2727
To: []v1beta1.ReferenceGrantTo{
2828
{
2929
Kind: "Secret",
30-
Name: helpers.GetPointer(v1beta1.ObjectName(secretNsName.Name)),
30+
Name: helpers.GetPointer(v1beta1.ObjectName("wrong-name1")),
31+
},
32+
{
33+
Kind: "Secret",
34+
Name: helpers.GetPointer(v1beta1.ObjectName("wrong-name2")),
35+
},
36+
{
37+
Kind: "Secret",
38+
Name: helpers.GetPointer(v1beta1.ObjectName(secretNsName.Name)), // matches
3139
},
3240
},
3341
},
34-
}
35-
}
36-
37-
createModifiedRefGrant := func(mod func(rg *v1beta1.ReferenceGrant)) *v1beta1.ReferenceGrant {
38-
rg := getNormalRefGrant()
39-
mod(rg)
40-
return rg
41-
}
42-
43-
refGrants := map[types.NamespacedName]*v1beta1.ReferenceGrant{
44-
{Namespace: "test", Name: "valid"}: createModifiedRefGrant(func(rg *v1beta1.ReferenceGrant) {
45-
rg.Spec.To = []v1beta1.ReferenceGrantTo{
46-
{
47-
Kind: "Secret",
48-
Name: helpers.GetPointer(v1beta1.ObjectName("wrong-name1")),
49-
},
50-
{
51-
Kind: "Secret",
52-
Name: helpers.GetPointer(v1beta1.ObjectName("wrong-name2")),
53-
},
54-
{
55-
Kind: "Secret",
56-
Name: helpers.GetPointer(v1beta1.ObjectName(secretNsName.Name)), // matches
42+
},
43+
{Namespace: "explicit-core-group", Name: "valid"}: {
44+
Spec: v1beta1.ReferenceGrantSpec{
45+
From: []v1beta1.ReferenceGrantFrom{
46+
{
47+
Group: v1beta1.GroupName,
48+
Kind: "Gateway",
49+
Namespace: v1beta1.Namespace(gwNs),
50+
},
5751
},
58-
}
59-
}),
60-
{Namespace: "explicit-core-group", Name: "valid"}: createModifiedRefGrant(func(rg *v1beta1.ReferenceGrant) {
61-
rg.Spec.To[0].Group = "core"
62-
}),
63-
{Namespace: "all-in-namespace", Name: "valid"}: createModifiedRefGrant(func(rg *v1beta1.ReferenceGrant) {
64-
rg.Spec.To[0].Name = nil
65-
rg.Spec.From = []v1beta1.ReferenceGrantFrom{
66-
{
67-
Group: v1beta1.GroupName,
68-
Kind: "Gateway",
69-
Namespace: "wrong-ns1",
52+
To: []v1beta1.ReferenceGrantTo{
53+
{
54+
Group: "core",
55+
Kind: "Secret",
56+
Name: helpers.GetPointer(v1beta1.ObjectName(secretNsName.Name)),
57+
},
7058
},
71-
{
72-
Group: v1beta1.GroupName,
73-
Kind: "Gateway",
74-
Namespace: "wrong-ns2",
59+
},
60+
},
61+
{Namespace: "all-in-namespace", Name: "valid"}: {
62+
Spec: v1beta1.ReferenceGrantSpec{
63+
To: []v1beta1.ReferenceGrantTo{
64+
{
65+
Kind: "Secret",
66+
},
7567
},
76-
{
77-
Group: v1beta1.GroupName,
78-
Kind: "Gateway",
79-
Namespace: v1beta1.Namespace(gwNs), // matches
68+
From: []v1beta1.ReferenceGrantFrom{
69+
{
70+
Group: v1beta1.GroupName,
71+
Kind: "Gateway",
72+
Namespace: "wrong-ns1",
73+
},
74+
{
75+
Group: v1beta1.GroupName,
76+
Kind: "Gateway",
77+
Namespace: "wrong-ns2",
78+
},
79+
{
80+
Group: v1beta1.GroupName,
81+
Kind: "Gateway",
82+
Namespace: v1beta1.Namespace(gwNs),
83+
},
8084
},
81-
}
82-
}),
85+
},
86+
},
8387
}
8488

89+
normalTo := toResource{kind: "Secret", name: secretNsName.Name, namespace: secretNsName.Namespace}
90+
normalFrom := fromResource{group: v1beta1.GroupName, kind: "Gateway", namespace: gwNs}
91+
8592
tests := []struct {
86-
overrideTo *toResource
87-
overrideFrom *fromResource
88-
msg string
89-
allowed bool
93+
to toResource
94+
from fromResource
95+
msg string
96+
allowed bool
9097
}{
9198
{
92-
msg: "wrong 'to' kind",
93-
overrideTo: &toResource{kind: "WrongKind", name: secretNsName.Name, namespace: secretNsName.Namespace},
94-
allowed: false,
99+
msg: "wrong 'to' kind",
100+
to: toResource{kind: "WrongKind", name: secretNsName.Name, namespace: secretNsName.Namespace},
101+
from: normalFrom,
102+
allowed: false,
95103
},
96104
{
97105
msg: "wrong 'to' group",
98-
overrideTo: &toResource{
106+
to: toResource{
99107
group: "wrong.group",
100108
kind: "Secret",
101109
name: secretNsName.Name,
102110
namespace: secretNsName.Namespace,
103111
},
112+
from: normalFrom,
104113
allowed: false,
105114
},
106115
{
107-
msg: "wrong 'to' name",
108-
overrideTo: &toResource{kind: "Secret", name: "wrong-name", namespace: secretNsName.Namespace},
109-
allowed: false,
116+
msg: "wrong 'to' name",
117+
to: toResource{kind: "Secret", name: "wrong-name", namespace: secretNsName.Namespace},
118+
from: normalFrom,
119+
allowed: false,
110120
},
111121
{
112-
msg: "wrong 'from' kind",
113-
overrideFrom: &fromResource{group: v1beta1.GroupName, kind: "WrongKind", namespace: gwNs},
114-
allowed: false,
122+
msg: "wrong 'from' kind",
123+
to: normalTo,
124+
from: fromResource{group: v1beta1.GroupName, kind: "WrongKind", namespace: gwNs},
125+
allowed: false,
115126
},
116127
{
117-
msg: "wrong 'from' group",
118-
overrideFrom: &fromResource{group: "wrong.group", kind: "Gateway", namespace: gwNs},
119-
allowed: false,
128+
msg: "wrong 'from' group",
129+
to: normalTo,
130+
from: fromResource{group: "wrong.group", kind: "Gateway", namespace: gwNs},
131+
allowed: false,
120132
},
121133
{
122-
msg: "wrong 'from' namespace",
123-
overrideFrom: &fromResource{group: v1beta1.GroupName, kind: "Gateway", namespace: "wrong-ns"},
124-
allowed: false,
134+
msg: "wrong 'from' namespace",
135+
to: normalTo,
136+
from: fromResource{group: v1beta1.GroupName, kind: "Gateway", namespace: "wrong-ns"},
137+
allowed: false,
125138
},
126139
{
127140
msg: "allowed; matches specific reference grant",
141+
to: normalTo,
142+
from: normalFrom,
128143
allowed: true,
129144
},
130145
{
131-
msg: "allowed; matches all-in-namespace reference grant",
132-
overrideTo: &toResource{kind: "Secret", name: secretNsName.Name, namespace: "all-in-namespace"},
133-
allowed: true,
146+
msg: "allowed; matches all-in-namespace reference grant",
147+
to: toResource{kind: "Secret", name: secretNsName.Name, namespace: "all-in-namespace"},
148+
from: normalFrom,
149+
allowed: true,
134150
},
135151
}
136152

@@ -140,17 +156,7 @@ func TestReferenceGrantResolver(t *testing.T) {
140156
t.Run(test.msg, func(t *testing.T) {
141157
g := NewGomegaWithT(t)
142158

143-
to := toResource{kind: "Secret", name: secretNsName.Name, namespace: secretNsName.Namespace}
144-
if test.overrideTo != nil {
145-
to = *test.overrideTo
146-
}
147-
148-
from := fromResource{group: v1beta1.GroupName, kind: "Gateway", namespace: gwNs}
149-
if test.overrideFrom != nil {
150-
from = *test.overrideFrom
151-
}
152-
153-
g.Expect(resolver.refAllowed(to, from)).To(Equal(test.allowed))
159+
g.Expect(resolver.refAllowed(test.to, test.from)).To(Equal(test.allowed))
154160
})
155161
}
156162
}

0 commit comments

Comments
 (0)