2 * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
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
8 package org.opendaylight.vpnservice.bgpmanager.test;
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;
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;
27 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
29 import static org.junit.Assert.assertEquals;
31 @RunWith(MockitoJUnitRunner.class)
33 public class BgpManagerTest extends AbstractDataBrokerTest {
34 DataBroker dataBroker;
35 FibDSWriter bgpFibWriter = null ;
36 MockFibManager fibManager = null ;
39 public void setUp() throws Exception {
40 dataBroker = getDataBroker() ;
41 bgpFibWriter = new FibDSWriter(dataBroker);
42 fibManager = new MockFibManager(dataBroker);
46 public void testAddSinglePrefix() {
48 String prefix = "10.10.10.10/32";
49 String nexthop = "100.100.100.100";
52 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
53 assertEquals(1, fibManager.getDataChgCount());
57 public void testAddPrefixesInRd() {
59 String prefix = "10.10.10.10/32";
60 String nexthop = "100.100.100.100";
63 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
64 assertEquals(1, fibManager.getDataChgCount());
66 prefix = "10.10.10.11/32";
68 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
69 assertEquals(2, fibManager.getDataChgCount());
75 public void testAddPrefixesAcrossRd() {
77 String prefix = "10.10.10.10/32";
78 String nexthop = "100.100.100.100";
81 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
82 assertEquals(1, fibManager.getDataChgCount());
85 prefix = "10.10.10.11/32";
86 nexthop = "200.200.200.200";
88 bgpFibWriter.addFibEntryToDS(rd, prefix, nexthop, label);
89 assertEquals(2, fibManager.getDataChgCount());
95 public void testRemovePrefix() {
97 String prefix = "10.10.10.10/32";
98 String nexthop = "100.100.100.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());