88 "time"
99
1010 cloudevents "github.com/cloudevents/sdk-go/v2"
11- "github.com/cloudevents/sdk-go/v2/protocol/gochan"
1211 "github.com/stretchr/testify/require"
1312
1413 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -61,7 +60,7 @@ func TestAgentResync(t *testing.T) {
6160 lister := generictesting .NewMockResourceLister (c .resources ... )
6261 agent , err := NewCloudEventAgentClient (
6362 ctx ,
64- fake .NewAgentOptions (gochan . New (), nil , c .clusterName , testAgentName ),
63+ fake .NewAgentOptions (fake . NewEventChan () , c .clusterName , testAgentName ),
6564 lister , generictesting .StatusHash ,
6665 generictesting .NewMockResourceCodec (),
6766 )
@@ -72,12 +71,19 @@ func TestAgentResync(t *testing.T) {
7271 stop := make (chan bool )
7372
7473 go func () {
75- cloudEventsClient := agent .(* CloudEventAgentClient [* generictesting.MockResource ]).cloudEventsClient
76- err = cloudEventsClient .StartReceiver (ctx , func (event cloudevents.Event ) {
77- eventChan <- receiveEvent {event : event }
74+ transport := agent .(* CloudEventAgentClient [* generictesting.MockResource ]).transport
75+ err = transport .Receive (ctx , func (event cloudevents.Event ) {
76+ select {
77+ case eventChan <- receiveEvent {event : event }:
78+ case <- ctx .Done ():
79+ return
80+ }
7881 })
79- if err != nil {
80- eventChan <- receiveEvent {err : err }
82+ if err != nil && err != context .Canceled {
83+ select {
84+ case eventChan <- receiveEvent {err : err }:
85+ case <- ctx .Done ():
86+ }
8187 }
8288 stop <- true
8389 }()
@@ -132,10 +138,10 @@ func TestAgentPublish(t *testing.T) {
132138 t .Run (c .name , func (t * testing.T ) {
133139 ctx , cancel := context .WithCancel (context .Background ())
134140
135- agentOptions := fake .NewAgentOptions (gochan . New (), nil , c .clusterName , testAgentName )
141+ agentOptions := fake .NewAgentOptions (fake . NewEventChan () , c .clusterName , testAgentName )
136142 lister := generictesting .NewMockResourceLister ()
137143 agent , err := NewCloudEventAgentClient (
138- context . TODO () ,
144+ ctx ,
139145 agentOptions ,
140146 lister ,
141147 generictesting .StatusHash ,
@@ -147,12 +153,19 @@ func TestAgentPublish(t *testing.T) {
147153 eventChan := make (chan receiveEvent )
148154 stop := make (chan bool )
149155 go func () {
150- cloudEventsClient := agent .(* CloudEventAgentClient [* generictesting.MockResource ]).cloudEventsClient
151- err = cloudEventsClient .StartReceiver (ctx , func (event cloudevents.Event ) {
152- eventChan <- receiveEvent {event : event }
156+ cloudEventsClient := agent .(* CloudEventAgentClient [* generictesting.MockResource ]).transport
157+ err = cloudEventsClient .Receive (ctx , func (event cloudevents.Event ) {
158+ select {
159+ case eventChan <- receiveEvent {event : event }:
160+ case <- ctx .Done ():
161+ return
162+ }
153163 })
154- if err != nil {
155- eventChan <- receiveEvent {err : err }
164+ if err != nil && err != context .Canceled {
165+ select {
166+ case eventChan <- receiveEvent {err : err }:
167+ case <- ctx .Done ():
168+ }
156169 }
157170 stop <- true
158171 }()
@@ -293,7 +306,7 @@ func TestStatusResyncResponse(t *testing.T) {
293306 ctx , cancel := context .WithCancel (context .Background ())
294307 defer cancel ()
295308
296- agentOptions := fake .NewAgentOptions (gochan . New (), nil , c .clusterName , testAgentName )
309+ agentOptions := fake .NewAgentOptions (fake . NewEventChan () , c .clusterName , testAgentName )
297310 lister := generictesting .NewMockResourceLister (c .resources ... )
298311 agent , err := NewCloudEventAgentClient (
299312 ctx ,
@@ -310,8 +323,8 @@ func TestStatusResyncResponse(t *testing.T) {
310323 mutex := & sync.Mutex {}
311324
312325 go func () {
313- cloudEventsClient := agent .(* CloudEventAgentClient [* generictesting.MockResource ]).cloudEventsClient
314- _ = cloudEventsClient .StartReceiver (ctx , func (event cloudevents.Event ) {
326+ cloudEventsClient := agent .(* CloudEventAgentClient [* generictesting.MockResource ]).transport
327+ _ = cloudEventsClient .Receive (ctx , func (event cloudevents.Event ) {
315328 mutex .Lock ()
316329 defer mutex .Unlock ()
317330 receivedEvents = append (receivedEvents , event )
@@ -511,7 +524,7 @@ func TestReceiveResourceSpec(t *testing.T) {
511524
512525 for _ , c := range cases {
513526 t .Run (c .name , func (t * testing.T ) {
514- agentOptions := fake .NewAgentOptions (gochan . New (), nil , c .clusterName , testAgentName )
527+ agentOptions := fake .NewAgentOptions (fake . NewEventChan () , c .clusterName , testAgentName )
515528 lister := generictesting .NewMockResourceLister (c .resources ... )
516529 agent , err := NewCloudEventAgentClient (
517530 context .TODO (),
0 commit comments