Merge "JUnit for IdManager"
[vpnservice.git] / bgpmanager / bgpmanager-impl / src / test / java / org / opendaylight / vpnservice / bgpmanager / test / BgpManagerTest.java
1 package org.opendaylight.vpnservice.bgpmanager.test;
2
3 import java.math.BigInteger;
4 import java.util.ArrayList;
5 import java.util.List;
6 import java.util.Collections;
7 import java.util.concurrent.ExecutionException;
8 import org.junit.Before;
9 import org.junit.Test;
10 import org.junit.runner.RunWith;
11 import org.mockito.Mock;
12
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;
19
20 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
21
22 import static org.junit.Assert.assertEquals;
23
24 @RunWith(MockitoJUnitRunner.class)
25
26 public class BgpManagerTest extends AbstractDataBrokerTest {
27      DataBroker dataBroker;
28      FibDSWriter bgpFibWriter = null ;
29      MockFibManager fibManager = null ;
30
31      @Before
32      public void setUp() throws Exception {
33          dataBroker = getDataBroker() ;
34          bgpFibWriter = new FibDSWriter(dataBroker);
35          fibManager = new MockFibManager(dataBroker);
36      }
37
38     @Test
39     public void testAddSinglePrefix() {
40         String rd = "101";
41         String prefix = "10.10.10.10/32";
42         String nexthop = "100.100.100.100";
43         int label = 1234;
44
45         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
46         assertEquals(1, fibManager.getDataChgCount());
47     }
48
49     @Test
50     public void testAddPrefixesInRd() {
51         String rd = "101";
52         String prefix = "10.10.10.10/32";
53         String nexthop = "100.100.100.100";
54         int label = 1234;
55
56         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
57         assertEquals(1, fibManager.getDataChgCount());
58
59         prefix = "10.10.10.11/32";
60         label = 3456;
61         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
62         assertEquals(2, fibManager.getDataChgCount());
63
64
65     }
66
67     @Test
68     public void testAddPrefixesAcrossRd() {
69         String rd = "101";
70         String prefix = "10.10.10.10/32";
71         String nexthop = "100.100.100.100";
72         int label = 1234;
73
74         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
75         assertEquals(1, fibManager.getDataChgCount());
76
77         rd = "102";
78         prefix = "10.10.10.11/32";
79         nexthop = "200.200.200.200";
80         label = 3456;
81         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
82         assertEquals(2, fibManager.getDataChgCount());
83
84     }
85
86
87     @Test
88     public void testRemovePrefix() {
89         String rd = "101";
90         String prefix = "10.10.10.10/32";
91         String nexthop = "100.100.100.100";
92         int label = 1234;
93
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());
99
100     }
101
102 }