summaryrefslogtreecommitdiffstats
path: root/routing/routing-impl/src/test/java/io/fd/hc2vpp/routing/write/ControlPlaneProtocolCustomizerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'routing/routing-impl/src/test/java/io/fd/hc2vpp/routing/write/ControlPlaneProtocolCustomizerTest.java')
-rw-r--r--routing/routing-impl/src/test/java/io/fd/hc2vpp/routing/write/ControlPlaneProtocolCustomizerTest.java66
1 files changed, 57 insertions, 9 deletions
diff --git a/routing/routing-impl/src/test/java/io/fd/hc2vpp/routing/write/ControlPlaneProtocolCustomizerTest.java b/routing/routing-impl/src/test/java/io/fd/hc2vpp/routing/write/ControlPlaneProtocolCustomizerTest.java
index c96e31373..8d49f810d 100644
--- a/routing/routing-impl/src/test/java/io/fd/hc2vpp/routing/write/ControlPlaneProtocolCustomizerTest.java
+++ b/routing/routing-impl/src/test/java/io/fd/hc2vpp/routing/write/ControlPlaneProtocolCustomizerTest.java
@@ -20,45 +20,68 @@ import static io.fd.hc2vpp.routing.helpers.RoutingRequestTestHelper.ROUTE_PROTOC
import static io.fd.hc2vpp.routing.helpers.RoutingRequestTestHelper.ROUTE_PROTOCOL_NAME_2;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.when;
+import com.google.common.base.Optional;
import io.fd.hc2vpp.common.test.write.WriterCustomizerTest;
import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.fib.management.services.FibTableService;
+import io.fd.hc2vpp.fib.management.FibManagementIIds;
import io.fd.honeycomb.translate.write.WriteFailedException;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.Mock;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.Direct;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.Static;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.routing.ControlPlaneProtocols;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.routing.control.plane.protocols.ControlPlaneProtocol;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.routing.control.plane.protocols.ControlPlaneProtocolBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.routing.control.plane.protocols.ControlPlaneProtocolKey;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.routing.rev180319.RoutingProtocolVppAttr;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.routing.rev180319.RoutingProtocolVppAttrBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.routing.rev180319.routing.control.plane.protocols.control.plane.protocol.VppProtocolAttributesBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.routing.types.rev180406.VniReference;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv4;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.Ipv6;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.VniReference;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.vpp.fib.table.management.fib.tables.Table;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.vpp.fib.table.management.fib.tables.TableBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.fib.table.management.rev180521.vpp.fib.table.management.fib.tables.TableKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
public class ControlPlaneProtocolCustomizerTest extends WriterCustomizerTest {
+ private static final VniReference VRF = new VniReference(1L);
+ private static final VniReference INVALID_VRF = new VniReference(3L);
+ private static final String INVALID_TABLE_PROTOCOL_1 = "invalid-table-protocol-1";
private InstanceIdentifier<ControlPlaneProtocol> validId;
+ private InstanceIdentifier<ControlPlaneProtocol> invalidIid;
private ControlPlaneProtocol validData;
private ControlPlaneProtocol validData2;
private ControlPlaneProtocol invalidData;
+ private ControlPlaneProtocol invalidTableData;
private ControlPlaneProtocolCustomizer customizer;
private NamingContext routingProtocolContext;
- @Mock
- protected FibTableService fibTableService;
-
@Before
public void init() {
validId = InstanceIdentifier.create(ControlPlaneProtocol.class);
+ invalidIid = InstanceIdentifier.create(ControlPlaneProtocols.class)
+ .child(ControlPlaneProtocol.class,
+ new ControlPlaneProtocolKey(INVALID_TABLE_PROTOCOL_1, Static.class));
+ invalidTableData = new ControlPlaneProtocolBuilder()
+ .setName(INVALID_TABLE_PROTOCOL_1)
+ .setType(Static.class)
+ .addAugmentation(RoutingProtocolVppAttr.class, new RoutingProtocolVppAttrBuilder()
+ .setVppProtocolAttributes(new VppProtocolAttributesBuilder()
+ .setPrimaryVrf(INVALID_VRF)
+ .build())
+ .build())
+ .build();
validData = new ControlPlaneProtocolBuilder()
.setName(ROUTE_PROTOCOL_NAME)
.setType(Static.class)
.addAugmentation(RoutingProtocolVppAttr.class, new RoutingProtocolVppAttrBuilder()
.setVppProtocolAttributes(new VppProtocolAttributesBuilder()
- .setPrimaryVrf(new VniReference(1L))
+ .setPrimaryVrf(VRF)
.build())
.build())
.build();
@@ -68,7 +91,7 @@ public class ControlPlaneProtocolCustomizerTest extends WriterCustomizerTest {
.setType(Static.class)
.addAugmentation(RoutingProtocolVppAttr.class, new RoutingProtocolVppAttrBuilder()
.setVppProtocolAttributes(new VppProtocolAttributesBuilder()
- .setPrimaryVrf(new VniReference(1L))
+ .setPrimaryVrf(VRF)
.build())
.build())
.build();
@@ -78,7 +101,32 @@ public class ControlPlaneProtocolCustomizerTest extends WriterCustomizerTest {
.build();
routingProtocolContext = new NamingContext("routing-protocol", "routing-protocol-context");
- customizer = new ControlPlaneProtocolCustomizer(routingProtocolContext, fibTableService);
+ customizer = new ControlPlaneProtocolCustomizer(routingProtocolContext);
+ TableKey keyV4 = new TableKey(Ipv4.class, VRF);
+ TableKey keyV6 = new TableKey(Ipv6.class, VRF);
+ KeyedInstanceIdentifier<Table, TableKey> vrfIidV4 = FibManagementIIds.FM_FIB_TABLES.child(Table.class, keyV4);
+ KeyedInstanceIdentifier<Table, TableKey> vrfIidV6 = FibManagementIIds.FM_FIB_TABLES.child(Table.class, keyV6);
+ TableKey invalidKeyV4 = new TableKey(Ipv4.class, INVALID_VRF);
+ TableKey invalidKeyV6 = new TableKey(Ipv6.class, INVALID_VRF);
+ KeyedInstanceIdentifier<Table, TableKey> invalidVrfIidV4 =
+ FibManagementIIds.FM_FIB_TABLES.child(Table.class, invalidKeyV4);
+ KeyedInstanceIdentifier<Table, TableKey> invalidVrfIidV6 =
+ FibManagementIIds.FM_FIB_TABLES.child(Table.class, invalidKeyV6);
+ when(writeContext.readAfter(vrfIidV4)).thenReturn(Optional.of(
+ new TableBuilder().setKey(keyV4).setAddressFamily(keyV4.getAddressFamily())
+ .setTableId(keyV4.getTableId()).setName("VRF-IPV4-1").build()));
+ when(writeContext.readAfter(vrfIidV6)).thenReturn(Optional.of(
+ new TableBuilder().setKey(keyV6).setAddressFamily(keyV6.getAddressFamily())
+ .setTableId(keyV6.getTableId()).setName("VRF-IPV6-1").build()));
+ when(writeContext.readAfter(invalidVrfIidV4)).thenReturn(Optional.absent());
+ when(writeContext.readAfter(invalidVrfIidV6)).thenReturn(Optional.absent());
+ }
+
+ @Test(expected = WriteFailedException.class)
+ public void testWriteInvalid() throws WriteFailedException {
+ noMappingDefined(mappingContext, INVALID_TABLE_PROTOCOL_1, "routing-protocol-context");
+ customizer.writeCurrentAttributes(invalidIid, invalidTableData, writeContext);
+
}
@Test