MCPcopy
hub / github.com/osrg/gobgp / Test_BgpUpdatePeerBfdConfig

Function Test_BgpUpdatePeerBfdConfig

pkg/server/bfd_server_test.go:497–562  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

495}
496
497func Test_BgpUpdatePeerBfdConfig(t *testing.T) {
498 assert := assert.New(t)
499
500 s := NewBgpServer()
501 go s.Serve()
502 err := s.StartBgp(context.Background(), &api.StartBgpRequest{
503 Global: &api.Global{
504 Asn: 1,
505 RouterId: "1.1.1.1",
506 ListenPort: -1,
507 },
508 })
509 assert.NoError(err)
510 defer s.Stop()
511
512 peer := &api.Peer{
513 Conf: &api.PeerConf{
514 NeighborAddress: "127.0.0.3",
515 PeerAsn: 1,
516 },
517 Bfd: &api.BfdPeerConfig{Enabled: false},
518 }
519
520 err = s.AddPeer(context.Background(), &api.AddPeerRequest{Peer: peer})
521 assert.NoError(err)
522
523 countBfdPeers := func() int {
524 count := 0
525 s.ListBfdPeer(context.Background(), func(peerAddress string, state *api.BfdPeerState) {
526 count++
527 })
528 return count
529 }
530
531 assert.Equal(0, countBfdPeers())
532
533 peer.Bfd = &api.BfdPeerConfig{
534 Enabled: true,
535 Port: BfdServerPort,
536 DetectionMultiplier: 3,
537 RequiredMinimumReceive: 1000000,
538 DesiredMinimumTxInterval: 1000000,
539 }
540 _, err = s.UpdatePeer(context.Background(), &api.UpdatePeerRequest{Peer: peer})
541 assert.NoError(err)
542
543 err = eventually(time.Second, func() error {
544 if countBfdPeers() == 1 {
545 return nil
546 }
547 return fmt.Errorf("must be: bfd peer count == 1")
548 })
549 assert.NoError(err)
550
551 peer.Bfd.Enabled = false
552 _, err = s.UpdatePeer(context.Background(), &api.UpdatePeerRequest{Peer: peer})
553 assert.NoError(err)
554

Callers

nothing calls this directly

Calls 9

ServeMethod · 0.95
StartBgpMethod · 0.95
StopMethod · 0.95
AddPeerMethod · 0.95
ListBfdPeerMethod · 0.95
UpdatePeerMethod · 0.95
NewBgpServerFunction · 0.85
eventuallyFunction · 0.85
EqualMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…