import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory;
import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
-import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
-import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl;
import org.opendaylight.protocol.bgp.rib.impl.RIBImpl;
import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext;
public class RibImplTest extends AbstractConfig {
private static final List<AfiSafi> AFISAFIS = new ArrayList<>();
private static final Long ALL_PATHS = 0L;
- private static final BgpTableType TABLE_TYPE =
- new BgpTableTypeImpl(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class);
+ private static final BgpTableType TABLE_TYPE = new BgpTableTypeImpl(Ipv4AddressFamily.class,
+ UnicastSubsequentAddressFamily.class);
private static final Ipv4Address BGP_ID = new BgpId(new Ipv4Address("127.0.0.1"));
static {
@Mock
private DOMSchemaService domSchemaService;
@Mock
- private ClusterSingletonServiceProvider clusterSingletonServiceProvider;
- @Mock
private ListenerRegistration<?> dataTreeRegistration;
@Mock
private RIBSupport ribSupport;
@Mock
private ServiceRegistration<?> serviceRegistration;
- private static Global createGlobal() {
- return new GlobalBuilder()
- .setAfiSafis(new AfiSafisBuilder().setAfiSafi(AFISAFIS).build())
- .setConfig(new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.global.base
- .ConfigBuilder().setAs(AS).setRouterId(BGP_ID).build()).build();
- }
-
@Override
@Before
public void setUp() throws Exception {
super.setUp();
- Mockito.doAnswer(invocationOnMock -> {
- RibImplTest.this.singletonService = (ClusterSingletonService) invocationOnMock.getArguments()[0];
- return RibImplTest.this.singletonServiceRegistration;
- }).when(this.clusterSingletonServiceProvider)
- .registerClusterSingletonService(any(ClusterSingletonService.class));
Mockito.doReturn(mock(GeneratedClassLoadingStrategy.class)).when(this.extension).getClassLoadingStrategy();
Mockito.doReturn(this.ribSupport).when(this.extension).getRIBSupport(any(TablesKey.class));
@Test
public void testRibImpl() throws Exception {
- final RibImpl ribImpl = new RibImpl(this.clusterSingletonServiceProvider, this.extension, this.dispatcher,
+ final RibImpl ribImpl = new RibImpl(this.extension, this.dispatcher,
this.bindingCodecTreeFactory, this.domDataBroker, this.domSchemaService);
ribImpl.setServiceRegistration(this.serviceRegistration);
ribImpl.start(createGlobal(), "rib-test", this.tableTypeRegistry);
verify(this.extension).getClassLoadingStrategy();
verify(this.domDataBroker).getSupportedExtensions();
- verify(this.clusterSingletonServiceProvider).registerClusterSingletonService(any());
verify(this.domSchemaService).registerSchemaContextListener(any(RIBImpl.class));
- this.singletonService.instantiateServiceInstance();
assertEquals("RIBImpl{}", ribImpl.toString());
- assertEquals(ServiceGroupIdentifier.create("rib-test-service-group"), ribImpl.getRibIServiceGroupIdentifier());
assertEquals(Collections.singleton(new TablesKey(Ipv4AddressFamily.class,
UnicastSubsequentAddressFamily.class)), ribImpl.getLocalTablesKeys());
assertNotNull(ribImpl.getImportPolicyPeerTracker());
verify(this.dataTreeRegistration).close();
verify(this.serviceRegistration).unregister();
}
+
+ private static Global createGlobal() {
+ return new GlobalBuilder()
+ .setAfiSafis(new AfiSafisBuilder().setAfiSafi(AFISAFIS).build())
+ .setConfig(new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.global.base
+ .ConfigBuilder().setAs(AS).setRouterId(BGP_ID).build()).build();
+ }
}
\ No newline at end of file