(t *testing.T)
| 495 | } |
| 496 | |
| 497 | func 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 |
nothing calls this directly
no test coverage detected
searching dependent graphs…