2 * Copyright (c) 2016 Cisco Systems Inc 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.unimgr.mef.nrp.cisco.xr.l2vpn.driver;
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;
16 import java.util.Optional;
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.*;
23 public class L2vpnXconnectDriverBuilderTest {
25 private ActivationDriverBuilder.BuilderContext context;
29 context = new ActivationDriverBuilder.BuilderContext();
33 public void testDriverForSinglePortNoNode() {
35 FcPort port = mockFcPort();
38 Optional<ActivationDriver> result = new L2vpnXconnectDriverBuilder(mockDataBroker(com.google.common.base.Optional.absent()), null).driverFor(port, context);
41 assertFalse(result.isPresent());
45 public void testDriverForSinglePortNetconfNode() {
47 FcPort port = mockFcPort();
50 Optional<ActivationDriver> result = new L2vpnXconnectDriverBuilder(mockDataBroker(mockNetconfNode(false)), null).driverFor(port, context);
53 assertFalse(result.isPresent());
57 public void testDriverForSinglePortNetconfNodeCapabilities() {
59 FcPort port = mockFcPort();
62 L2vpnXconnectDriverBuilder driverBuilder = new L2vpnXconnectDriverBuilder(mockDataBroker(mockNetconfNode(true)), null);
63 Optional<ActivationDriver> result = driverBuilder.driverFor(port, context);
66 assertTrue(result.isPresent());
67 assertEquals(driverBuilder.getDriver().getClass(), result.get().getClass());
71 public void testDriverForTwoPortsNoNode() {
73 FcPort portA = mockFcPort(1);
74 FcPort portZ = mockFcPort(2);
77 Optional<ActivationDriver> result = new L2vpnXconnectDriverBuilder(mockDataBroker(com.google.common.base.Optional.absent()), null).driverFor(portA, portZ, context);
80 assertFalse(result.isPresent());
84 public void testDriverForTwoPortsNetconfNode() {
86 FcPort portA = mockFcPort(1);
87 FcPort portZ = mockFcPort(2);
90 Optional<ActivationDriver> result = new L2vpnXconnectDriverBuilder(mockDataBroker(mockNetconfNode(false)), null).driverFor(portA, portZ, context);
93 assertFalse(result.isPresent());
97 public void testDriverForTwoPortsNetconfNodeCapabilities() {
99 FcPort portA = mockFcPort(1);
100 FcPort portZ = mockFcPort(2);
103 Optional<ActivationDriver> result = new L2vpnXconnectDriverBuilder(mockDataBroker(mockNetconfNode(true)), null).driverFor(portA, portZ, context);
106 assertFalse(result.isPresent());