@@ -21,6 +21,7 @@ import (
2121	"fmt" 
2222	"time" 
2323
24+ 	cloudevents "github.com/cloudevents/sdk-go/v2" 
2425	eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1" 
2526	"knative.dev/eventing/test/rekt/resources/eventpolicy" 
2627	"knative.dev/eventing/test/rekt/resources/pingsource" 
@@ -41,7 +42,8 @@ func AddressableAuthZConformance(gvr schema.GroupVersionResource, kind, name str
4142	fs  :=  feature.FeatureSet {
4243		Name : fmt .Sprintf ("%s handles authorization features correctly" , kind ),
4344		Features : []* feature.Feature {
44- 			addressableRespectsEventPolicyFilters (gvr , kind , name ),
45+ 			addressableRespectsEventPolicyFilters (gvr , kind , name , cloudevents .EncodingBinary ),
46+ 			addressableRespectsEventPolicyFilters (gvr , kind , name , cloudevents .EncodingStructured ),
4547		},
4648	}
4749
@@ -57,16 +59,18 @@ func AddressableAuthZConformanceRequestHandling(gvr schema.GroupVersionResource,
5759	fs  :=  feature.FeatureSet {
5860		Name : fmt .Sprintf ("%s handles authorization in requests correctly" , kind ),
5961		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 ),
6266			addressableBecomesUnreadyOnUnreadyEventPolicy (gvr , kind , name ),
6367		},
6468	}
6569	return  & fs 
6670}
6771
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 ))
7074
7175	f .Prerequisite ("OIDC authentication is enabled" , featureflags .AuthenticationOIDCEnabled ())
7276	f .Prerequisite ("transport encryption is strict" , featureflags .TransportEncryptionStrict ())
@@ -95,7 +99,7 @@ func addressableAllowsAuthorizedRequest(gvr schema.GroupVersionResource, kind, n
9599	f .Requirement ("install source" , eventshub .Install (
96100		source ,
97101		eventshub .StartSenderToResourceTLS (gvr , name , nil ),
98- 		eventshub .InputEvent (event ),
102+ 		eventshub .InputEventWithEncoding (event ,  inputEventEncoding ),
99103		eventshub .OIDCSubject (sourceSubject ),
100104	))
101105
@@ -106,8 +110,8 @@ func addressableAllowsAuthorizedRequest(gvr schema.GroupVersionResource, kind, n
106110	return  f 
107111}
108112
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 ))
111115
112116	f .Prerequisite ("OIDC authentication is enabled" , featureflags .AuthenticationOIDCEnabled ())
113117	f .Prerequisite ("transport encryption is strict" , featureflags .TransportEncryptionStrict ())
@@ -132,7 +136,7 @@ func addressableRejectsUnauthorizedRequest(gvr schema.GroupVersionResource, kind
132136	f .Requirement ("install source" , eventshub .Install (
133137		source ,
134138		eventshub .StartSenderToResourceTLS (gvr , name , nil ),
135- 		eventshub .InputEvent (event ),
139+ 		eventshub .InputEventWithEncoding (event ,  inputEventEncoding ),
136140		eventshub .InitialSenderDelay (10 * time .Second ),
137141	))
138142
@@ -143,8 +147,8 @@ func addressableRejectsUnauthorizedRequest(gvr schema.GroupVersionResource, kind
143147	return  f 
144148}
145149
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 ))
148152
149153	f .Prerequisite ("OIDC authentication is enabled" , featureflags .AuthenticationOIDCEnabled ())
150154	f .Prerequisite ("transport encryption is strict" , featureflags .TransportEncryptionStrict ())
@@ -188,14 +192,14 @@ func addressableRespectsEventPolicyFilters(gvr schema.GroupVersionResource, kind
188192	f .Requirement ("install source 1" , eventshub .Install (
189193		source1 ,
190194		eventshub .StartSenderToResourceTLS (gvr , name , nil ),
191- 		eventshub .InputEvent (event1 ),
195+ 		eventshub .InputEventWithEncoding (event1 ,  inputEventEncoding ),
192196		eventshub .OIDCSubject (sourceSubject1 ),
193197	))
194198
195199	f .Requirement ("install source 2" , eventshub .Install (
196200		source2 ,
197201		eventshub .StartSenderToResourceTLS (gvr , name , nil ),
198- 		eventshub .InputEvent (event2 ),
202+ 		eventshub .InputEventWithEncoding (event2 ,  inputEventEncoding ),
199203		eventshub .OIDCSubject (sourceSubject2 ),
200204	))
201205
0 commit comments