- public void fromApplicationPeer() {
- final ApplicationRibId app = new ApplicationRibId("app");
- final Neighbor result = OpenConfigMappingUtil.fromApplicationPeer(app, BGP_ID);
- final Neighbor expected = new NeighborBuilder().setConfig(new ConfigBuilder().setDescription(app.getValue())
- .addAugmentation(Config2.class, new Config2Builder().setPeerGroup(OpenConfigMappingUtil.APPLICATION_PEER_GROUP_NAME).build()).build())
- .setNeighborAddress(IPADDRESS).build();
- assertEquals(expected, result);
+ public void getRevisedErrorHandlingTest() {
+ final NeighborBuilder neighbor = new NeighborBuilder().setNeighborAddress(NEIGHBOR_ADDRESS);
+ final PeerGroupBuilder peerGroup = new PeerGroupBuilder().setPeerGroupName("foo");
+ final org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.neighbor.group.error.handling
+ .ConfigBuilder errorHandlingConfig = new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp
+ .rev151009.bgp.neighbor.group.error.handling.ConfigBuilder();
+ // error handling not set -> null
+ assertNull(OpenConfigMappingUtil.getRevisedErrorHandling(PeerRole.Ibgp, peerGroup.build(),
+ neighbor.build()));
+ // error handling for peer group disabled, neighbor not set -> null
+ peerGroup.setErrorHandling(new ErrorHandlingBuilder()
+ .setConfig(errorHandlingConfig.setTreatAsWithdraw(false).build())
+ .build());
+ assertNull(OpenConfigMappingUtil.getRevisedErrorHandling(PeerRole.Ibgp, peerGroup.build(),
+ neighbor.build()));
+ // error handling for peer group enabled, neighbor not set, Igp -> error handling for internal peer
+ peerGroup.setErrorHandling(new ErrorHandlingBuilder()
+ .setConfig(errorHandlingConfig.setTreatAsWithdraw(true).build())
+ .build());
+ assertEquals(RevisedErrorHandlingSupportImpl.forInternalPeer(),
+ OpenConfigMappingUtil.getRevisedErrorHandling(PeerRole.Ibgp, peerGroup.build(), neighbor.build()));
+ // error handling for peer group enabled, neighbor disabled -> null
+ neighbor.setErrorHandling(new ErrorHandlingBuilder()
+ .setConfig(errorHandlingConfig.setTreatAsWithdraw(false).build())
+ .build());
+ assertNull(OpenConfigMappingUtil.getRevisedErrorHandling(PeerRole.Ibgp, peerGroup.build(),
+ neighbor.build()));
+ // error handling for peer group enabled, neighbor enabled, Igb -> error handling for internal peer
+ neighbor.setErrorHandling(new ErrorHandlingBuilder()
+ .setConfig(errorHandlingConfig.setTreatAsWithdraw(true).build())
+ .build());
+ assertEquals(RevisedErrorHandlingSupportImpl.forInternalPeer(),
+ OpenConfigMappingUtil.getRevisedErrorHandling(PeerRole.Ibgp, peerGroup.build(), neighbor.build()));
+ // error handling for peer group enabled, neighbor enabled, Egb -> error handling for external peer
+ neighbor.setErrorHandling(new ErrorHandlingBuilder()
+ .setConfig(errorHandlingConfig.setTreatAsWithdraw(true).build())
+ .build());
+ assertEquals(RevisedErrorHandlingSupportImpl.forExternalPeer(),
+ OpenConfigMappingUtil.getRevisedErrorHandling(PeerRole.Ebgp, peerGroup.build(), neighbor.build()));