Refactoring of cisco-xr-driver and impl modules.
[unimgr.git] / cisco-xr-driver / src / test / java / org / opendaylight / unimgr / mef / nrp / cisco / xr / l2vpn / driver / L2vpnBridgeDriverBuilderTest.java
1 /*
2  * Copyright (c) 2016 Cisco Systems Inc 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
9 package org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.driver;
10
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
14 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
15 import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
16
17 import java.util.Optional;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertFalse;
21 import static org.junit.Assert.assertTrue;
22 import static org.opendaylight.unimgr.utils.NodeTestUtils.*;
23
24 public class L2vpnBridgeDriverBuilderTest {
25
26     private ActivationDriverBuilder.BuilderContext context;
27
28     @Before
29     public void setUp() {
30         context = new ActivationDriverBuilder.BuilderContext();
31     }
32
33     @Test
34     public void testDriverForSinglePortNoNode() {
35         //given
36         FcPort port = mockFcPort();
37         //when
38         Optional<ActivationDriver> result =  new L2vpnBridgeDriverBuilder(mockDataBroker(com.google.common.base.Optional.absent()), null).driverFor(port, context);
39
40         //then
41         assertFalse(result.isPresent());
42     }
43
44     @Test
45     public void testDriverForSinglePortNetconfNode() {
46         //given
47         FcPort port = mockFcPort();
48
49         //when
50         Optional<ActivationDriver> result =  new L2vpnBridgeDriverBuilder(mockDataBroker(mockNetconfNode(false)), null).driverFor(port, context);
51
52         //then
53         assertFalse(result.isPresent());
54     }
55
56     @Test
57     public void testDriverForSinglePortNetconfNodeCapabilities() {
58         //given
59         FcPort port = mockFcPort();
60
61         //when
62         Optional<ActivationDriver> result =  new L2vpnBridgeDriverBuilder(mockDataBroker(mockNetconfNode(true)), null).driverFor(port, context);
63
64         //then
65         assertFalse(result.isPresent());
66     }
67
68     @Test
69     public void testDriverForTwoPortsNoNode() {
70         //given
71         FcPort portA = mockFcPort(1);
72         FcPort portZ = mockFcPort(2);
73
74         //when
75         Optional<ActivationDriver> result =  new L2vpnBridgeDriverBuilder(mockDataBroker(com.google.common.base.Optional.absent()), null).driverFor(portA, portZ, context);
76
77         //then
78         assertFalse(result.isPresent());
79     }
80
81     @Test
82     public void testDriverForTwoPortsNetconfNode() {
83         //given
84         FcPort portA = mockFcPort(1);
85         FcPort portZ = mockFcPort(2);
86
87         //when
88         Optional<ActivationDriver> result =  new L2vpnBridgeDriverBuilder(mockDataBroker(mockNetconfNode(false)), null).driverFor(portA, portZ, context);
89
90         //then
91         assertFalse(result.isPresent());
92     }
93
94     @Test
95     public void testDriverForTwoPortsNetconfNodeCapabilities() {
96         //given
97         FcPort portA = mockFcPort(1);
98         FcPort portZ = mockFcPort(2);
99
100         //when
101         L2vpnBridgeDriverBuilder driverBuilder = new L2vpnBridgeDriverBuilder(mockDataBroker(mockNetconfNode(true)), null);
102         Optional<ActivationDriver> result =  driverBuilder.driverFor(portA, portZ, context);
103
104         //then
105         assertTrue(result.isPresent());
106         assertEquals(driverBuilder.getDriver().getClass(), result.get().getClass());
107     }
108 }