Bump versions by 0.1.0 for next dev cycle
[vpnservice.git] / bgpmanager / bgpmanager-impl / src / test / java / org / opendaylight / vpnservice / bgpmanager / test / BgpManagerTest.java
1 /*
2  * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.vpnservice.bgpmanager.test;
9
10 import java.math.BigInteger;
11 import java.util.ArrayList;
12 import java.util.List;
13 import java.util.Collections;
14 import java.util.concurrent.ExecutionException;
15 import org.junit.Before;
16 import org.junit.Test;
17 import org.junit.runner.RunWith;
18 import org.mockito.Mock;
19
20 import org.mockito.runners.MockitoJUnitRunner;
21 import org.opendaylight.bgpmanager.FibDSWriter;
22 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
23 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
24 import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTest;
25 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
26
27 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
28
29 import static org.junit.Assert.assertEquals;
30
31 @RunWith(MockitoJUnitRunner.class)
32
33 public class BgpManagerTest extends AbstractDataBrokerTest {
34      DataBroker dataBroker;
35      FibDSWriter bgpFibWriter = null ;
36      MockFibManager fibManager = null ;
37
38      @Before
39      public void setUp() throws Exception {
40          dataBroker = getDataBroker() ;
41          bgpFibWriter = new FibDSWriter(dataBroker);
42          fibManager = new MockFibManager(dataBroker);
43      }
44
45     @Test
46     public void testAddSinglePrefix() {
47         String rd = "101";
48         String prefix = "10.10.10.10/32";
49         String nexthop = "100.100.100.100";
50         int label = 1234;
51
52         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
53         assertEquals(1, fibManager.getDataChgCount());
54     }
55
56     @Test
57     public void testAddPrefixesInRd() {
58         String rd = "101";
59         String prefix = "10.10.10.10/32";
60         String nexthop = "100.100.100.100";
61         int label = 1234;
62
63         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
64         assertEquals(1, fibManager.getDataChgCount());
65
66         prefix = "10.10.10.11/32";
67         label = 3456;
68         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
69         assertEquals(2, fibManager.getDataChgCount());
70
71
72     }
73
74     @Test
75     public void testAddPrefixesAcrossRd() {
76         String rd = "101";
77         String prefix = "10.10.10.10/32";
78         String nexthop = "100.100.100.100";
79         int label = 1234;
80
81         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
82         assertEquals(1, fibManager.getDataChgCount());
83
84         rd = "102";
85         prefix = "10.10.10.11/32";
86         nexthop = "200.200.200.200";
87         label = 3456;
88         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
89         assertEquals(2, fibManager.getDataChgCount());
90
91     }
92
93
94     @Test
95     public void testRemovePrefix() {
96         String rd = "101";
97         String prefix = "10.10.10.10/32";
98         String nexthop = "100.100.100.100";
99         int label = 1234;
100
101         //add and then remove prefix
102         bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
103         assertEquals(1, fibManager.getDataChgCount());
104         bgpFibWriter.removeFibEntryFromDS(rd, prefix);
105         assertEquals(0, fibManager.getDataChgCount());
106
107     }
108
109 }