@@ -21,6 +21,7 @@ import (
21
21
"fmt"
22
22
"time"
23
23
24
+ cloudevents "github.com/cloudevents/sdk-go/v2"
24
25
eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1"
25
26
"knative.dev/eventing/test/rekt/resources/eventpolicy"
26
27
"knative.dev/eventing/test/rekt/resources/pingsource"
@@ -41,7 +42,8 @@ func AddressableAuthZConformance(gvr schema.GroupVersionResource, kind, name str
41
42
fs := feature.FeatureSet {
42
43
Name : fmt .Sprintf ("%s handles authorization features correctly" , kind ),
43
44
Features : []* feature.Feature {
44
- addressableRespectsEventPolicyFilters (gvr , kind , name ),
45
+ addressableRespectsEventPolicyFilters (gvr , kind , name , cloudevents .EncodingBinary ),
46
+ addressableRespectsEventPolicyFilters (gvr , kind , name , cloudevents .EncodingStructured ),
45
47
},
46
48
}
47
49
@@ -57,16 +59,18 @@ func AddressableAuthZConformanceRequestHandling(gvr schema.GroupVersionResource,
57
59
fs := feature.FeatureSet {
58
60
Name : fmt .Sprintf ("%s handles authorization in requests correctly" , kind ),
59
61
Features : []* feature.Feature {
60
- addressableAllowsAuthorizedRequest (gvr , kind , name ),
61
- addressableRejectsUnauthorizedRequest (gvr , kind , name ),
62
+ addressableAllowsAuthorizedRequest (gvr , kind , name , cloudevents .EncodingBinary ),
63
+ addressableAllowsAuthorizedRequest (gvr , kind , name , cloudevents .EncodingStructured ),
64
+ addressableRejectsUnauthorizedRequest (gvr , kind , name , cloudevents .EncodingBinary ),
65
+ addressableRejectsUnauthorizedRequest (gvr , kind , name , cloudevents .EncodingStructured ),
62
66
addressableBecomesUnreadyOnUnreadyEventPolicy (gvr , kind , name ),
63
67
},
64
68
}
65
69
return & fs
66
70
}
67
71
68
- func addressableAllowsAuthorizedRequest (gvr schema.GroupVersionResource , kind , name string ) * feature.Feature {
69
- f := feature .NewFeatureNamed (fmt .Sprintf ("%s accepts authorized request" , kind ))
72
+ func addressableAllowsAuthorizedRequest (gvr schema.GroupVersionResource , kind , name string , inputEventEncoding cloudevents. Encoding ) * feature.Feature {
73
+ f := feature .NewFeatureNamed (fmt .Sprintf ("%s accepts authorized request with %s encoding for input event " , kind , inputEventEncoding ))
70
74
71
75
f .Prerequisite ("OIDC authentication is enabled" , featureflags .AuthenticationOIDCEnabled ())
72
76
f .Prerequisite ("transport encryption is strict" , featureflags .TransportEncryptionStrict ())
@@ -95,7 +99,7 @@ func addressableAllowsAuthorizedRequest(gvr schema.GroupVersionResource, kind, n
95
99
f .Requirement ("install source" , eventshub .Install (
96
100
source ,
97
101
eventshub .StartSenderToResourceTLS (gvr , name , nil ),
98
- eventshub .InputEvent (event ),
102
+ eventshub .InputEventWithEncoding (event , inputEventEncoding ),
99
103
eventshub .OIDCSubject (sourceSubject ),
100
104
))
101
105
@@ -106,8 +110,8 @@ func addressableAllowsAuthorizedRequest(gvr schema.GroupVersionResource, kind, n
106
110
return f
107
111
}
108
112
109
- func addressableRejectsUnauthorizedRequest (gvr schema.GroupVersionResource , kind , name string ) * feature.Feature {
110
- f := feature .NewFeatureNamed (fmt .Sprintf ("%s rejects unauthorized request" , kind ))
113
+ func addressableRejectsUnauthorizedRequest (gvr schema.GroupVersionResource , kind , name string , inputEventEncoding cloudevents. Encoding ) * feature.Feature {
114
+ f := feature .NewFeatureNamed (fmt .Sprintf ("%s rejects unauthorized request with %s encoding for input event " , kind , inputEventEncoding ))
111
115
112
116
f .Prerequisite ("OIDC authentication is enabled" , featureflags .AuthenticationOIDCEnabled ())
113
117
f .Prerequisite ("transport encryption is strict" , featureflags .TransportEncryptionStrict ())
@@ -132,7 +136,7 @@ func addressableRejectsUnauthorizedRequest(gvr schema.GroupVersionResource, kind
132
136
f .Requirement ("install source" , eventshub .Install (
133
137
source ,
134
138
eventshub .StartSenderToResourceTLS (gvr , name , nil ),
135
- eventshub .InputEvent (event ),
139
+ eventshub .InputEventWithEncoding (event , inputEventEncoding ),
136
140
eventshub .InitialSenderDelay (10 * time .Second ),
137
141
))
138
142
@@ -143,8 +147,8 @@ func addressableRejectsUnauthorizedRequest(gvr schema.GroupVersionResource, kind
143
147
return f
144
148
}
145
149
146
- func addressableRespectsEventPolicyFilters (gvr schema.GroupVersionResource , kind , name string ) * feature.Feature {
147
- f := feature .NewFeatureNamed (fmt .Sprintf ("%s only admits events that pass the event policy filter" , kind ))
150
+ func addressableRespectsEventPolicyFilters (gvr schema.GroupVersionResource , kind , name string , inputEventEncoding cloudevents. Encoding ) * feature.Feature {
151
+ f := feature .NewFeatureNamed (fmt .Sprintf ("%s only admits events that pass the event policy filter with %s encoding for input event " , kind , inputEventEncoding ))
148
152
149
153
f .Prerequisite ("OIDC authentication is enabled" , featureflags .AuthenticationOIDCEnabled ())
150
154
f .Prerequisite ("transport encryption is strict" , featureflags .TransportEncryptionStrict ())
@@ -188,14 +192,14 @@ func addressableRespectsEventPolicyFilters(gvr schema.GroupVersionResource, kind
188
192
f .Requirement ("install source 1" , eventshub .Install (
189
193
source1 ,
190
194
eventshub .StartSenderToResourceTLS (gvr , name , nil ),
191
- eventshub .InputEvent (event1 ),
195
+ eventshub .InputEventWithEncoding (event1 , inputEventEncoding ),
192
196
eventshub .OIDCSubject (sourceSubject1 ),
193
197
))
194
198
195
199
f .Requirement ("install source 2" , eventshub .Install (
196
200
source2 ,
197
201
eventshub .StartSenderToResourceTLS (gvr , name , nil ),
198
- eventshub .InputEvent (event2 ),
202
+ eventshub .InputEventWithEncoding (event2 , inputEventEncoding ),
199
203
eventshub .OIDCSubject (sourceSubject2 ),
200
204
))
201
205
0 commit comments