1 package org.opendaylight.vpnservice.bgpmanager.test;
3 import java.math.BigInteger;
4 import java.util.ArrayList;
6 import java.util.Collections;
7 import java.util.concurrent.ExecutionException;
8 import org.junit.Before;
10 import org.junit.runner.RunWith;
11 import org.mockito.Mock;
13 import org.mockito.runners.MockitoJUnitRunner;
14 import org.opendaylight.bgpmanager.FibDSWriter;
15 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
16 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
17 import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTest;
18 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
20 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
22 import static org.junit.Assert.assertEquals;
24 @RunWith(MockitoJUnitRunner.class)
26 public class BgpManagerTest extends AbstractDataBrokerTest {
27 DataBroker dataBroker;
28 FibDSWriter bgpFibWriter = null ;
29 MockFibManager fibManager = null ;
32 public void setUp() throws Exception {
33 dataBroker = getDataBroker() ;
34 bgpFibWriter = new FibDSWriter(dataBroker);
35 fibManager = new MockFibManager(dataBroker);
39 public void testAddSinglePrefix() {
41 String prefix = "10.10.10.10/32";
42 String nexthop = "100.100.100.100";
45 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
46 assertEquals(1, fibManager.getDataChgCount());
50 public void testAddPrefixesInRd() {
52 String prefix = "10.10.10.10/32";
53 String nexthop = "100.100.100.100";
56 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
57 assertEquals(1, fibManager.getDataChgCount());
59 prefix = "10.10.10.11/32";
61 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
62 assertEquals(2, fibManager.getDataChgCount());
68 public void testAddPrefixesAcrossRd() {
70 String prefix = "10.10.10.10/32";
71 String nexthop = "100.100.100.100";
74 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
75 assertEquals(1, fibManager.getDataChgCount());
78 prefix = "10.10.10.11/32";
79 nexthop = "200.200.200.200";
81 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
82 assertEquals(2, fibManager.getDataChgCount());
88 public void testRemovePrefix() {
90 String prefix = "10.10.10.10/32";
91 String nexthop = "100.100.100.100";
94 //add and then remove prefix
95 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
96 assertEquals(1, fibManager.getDataChgCount());
97 bgpFibWriter.removeFibEntryFromDS(rd, prefix);
98 assertEquals(0, fibManager.getDataChgCount());