github.com/cilium/cilium@v1.16.2/pkg/bgpv1/agent/signaler/signaler_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright Authors of Cilium
     3  package signaler
     4  
     5  import "testing"
     6  
     7  // Make sure that the receiver only observes a single event even if multiple
     8  // events are sent.
     9  func TestEventCorrelation(t *testing.T) {
    10  	s := NewBGPCPSignaler()
    11  
    12  	// Send two events
    13  	s.Event(nil)
    14  	s.Event(nil)
    15  
    16  	// One event should be received
    17  	select {
    18  	case <-s.Sig:
    19  	default:
    20  		t.Fatal("expected event to be received")
    21  	}
    22  
    23  	// The second event should be correlated and shouldn't received
    24  	select {
    25  	case <-s.Sig:
    26  		t.Fatal("expected event to be correlated")
    27  	default:
    28  	}
    29  }