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 / L2vpnXconnectDriverBuilderTest.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 package org.opendaylight.unimgr.mef.nrp.cisco.xr.l2vpn.driver;
9
10 import org.junit.Before;
11 import org.junit.Test;
12 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
13 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
14 import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
15
16 import java.util.Optional;
17
18 import static org.junit.Assert.assertEquals;
19 import static org.junit.Assert.assertFalse;
20 import static org.junit.Assert.assertTrue;
21 import static org.opendaylight.unimgr.utils.NodeTestUtils.*;
22
23 public class L2vpnXconnectDriverBuilderTest {
24
25     private ActivationDriverBuilder.BuilderContext context;
26
27     @Before
28     public void setUp() {
29         context = new ActivationDriverBuilder.BuilderContext();
30     }
31
32     @Test
33     public void testDriverForSinglePortNoNode() {
34         //given
35         FcPort port = mockFcPort();
36
37         //when
38         Optional<ActivationDriver> result =  new L2vpnXconnectDriverBuilder(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 L2vpnXconnectDriverBuilder(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         L2vpnXconnectDriverBuilder driverBuilder = new L2vpnXconnectDriverBuilder(mockDataBroker(mockNetconfNode(true)), null);
63         Optional<ActivationDriver> result = driverBuilder.driverFor(port, context);
64
65         //then
66         assertTrue(result.isPresent());
67         assertEquals(driverBuilder.getDriver().getClass(), result.get().getClass());
68     }
69
70     @Test
71     public void testDriverForTwoPortsNoNode() {
72         //given
73         FcPort portA = mockFcPort(1);
74         FcPort portZ = mockFcPort(2);
75
76         //when
77         Optional<ActivationDriver> result =  new L2vpnXconnectDriverBuilder(mockDataBroker(com.google.common.base.Optional.absent()), null).driverFor(portA, portZ, context);
78
79         //then
80         assertFalse(result.isPresent());
81     }
82
83     @Test
84     public void testDriverForTwoPortsNetconfNode() {
85         //given
86         FcPort portA = mockFcPort(1);
87         FcPort portZ = mockFcPort(2);
88
89         //when
90         Optional<ActivationDriver> result =  new L2vpnXconnectDriverBuilder(mockDataBroker(mockNetconfNode(false)), null).driverFor(portA, portZ, context);
91
92         //then
93         assertFalse(result.isPresent());
94     }
95
96     @Test
97     public void testDriverForTwoPortsNetconfNodeCapabilities() {
98         //given
99         FcPort portA = mockFcPort(1);
100         FcPort portZ = mockFcPort(2);
101
102         //when
103         Optional<ActivationDriver> result =   new L2vpnXconnectDriverBuilder(mockDataBroker(mockNetconfNode(true)), null).driverFor(portA, portZ, context);
104
105         //then
106         assertFalse(result.isPresent());
107     }
108 }