From af188c5c99d4b4fcb669a6e666b2b421ad69e8d9 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Tue, 3 Jan 2017 18:12:41 +0100 Subject: HONEYCOMB-310: readers&initializers for vpp and macip acls Change-Id: I8892479123091e43bf191c544b6628d6254be564 Signed-off-by: Marek Gradzki --- .../acl/read/AbstractVppAclCustomizerTest.java | 5 ++- .../io/fd/hc2vpp/acl/read/AclCustomizerTest.java | 45 +++++++++++++++++++ .../hc2vpp/acl/read/VppMacIpAclCustomizerTest.java | 7 +-- .../acl/AclInterfaceAssignmentRequestTest.java | 16 ++++--- .../macip/MacIpInterfaceAssignmentRequestTest.java | 10 ++--- .../fd/hc2vpp/acl/write/VppAclCustomizerTest.java | 51 +++++++++++++--------- 6 files changed, 96 insertions(+), 38 deletions(-) create mode 100644 acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AclCustomizerTest.java (limited to 'acl/acl-impl/src/test') diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AbstractVppAclCustomizerTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AbstractVppAclCustomizerTest.java index e885ef033..d01da0faa 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AbstractVppAclCustomizerTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AbstractVppAclCustomizerTest.java @@ -25,6 +25,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.fd.hc2vpp.acl.util.AclContextManager; import io.fd.hc2vpp.common.test.read.InitializingListReaderCustomizerTest; import io.fd.hc2vpp.common.translate.util.NamingContext; import io.fd.honeycomb.translate.read.ReadFailedException; @@ -68,7 +69,9 @@ public abstract class AbstractVppAclCustomizerTest protected FutureJVppAclFacade aclApi; protected NamingContext interfaceContext = new NamingContext("iface", IFC_CTX_NAME); - protected NamingContext standardAclContext = new NamingContext("standardAcl", ACL_CTX_NAME); + + @Mock + protected AclContextManager standardAclContext; protected AbstractVppAclCustomizerTest(final Class> parentBuilderClass) { super(VppAcls.class, parentBuilderClass); diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AclCustomizerTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AclCustomizerTest.java new file mode 100644 index 000000000..7c86025fb --- /dev/null +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/AclCustomizerTest.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2017 Cisco and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.fd.hc2vpp.acl.read; + +import io.fd.hc2vpp.acl.util.AclContextManager; +import io.fd.hc2vpp.common.test.read.InitializingListReaderCustomizerTest; +import io.fd.vpp.jvpp.acl.future.FutureJVppAclFacade; +import org.mockito.Mock; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160708.AccessListsBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160708.access.lists.Acl; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160708.access.lists.AclBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160708.access.lists.AclKey; + +public class AclCustomizerTest extends InitializingListReaderCustomizerTest { + + @Mock + private FutureJVppAclFacade aclApi; + @Mock + private AclContextManager standardAclContext; + @Mock + private AclContextManager macipAclContext; + + public AclCustomizerTest() { + super(Acl.class, AccessListsBuilder.class); + } + + @Override + protected AclCustomizer initCustomizer() { + return new AclCustomizer(aclApi, standardAclContext, macipAclContext); + } +} \ No newline at end of file diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/VppMacIpAclCustomizerTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/VppMacIpAclCustomizerTest.java index 29df6ac22..e298800ce 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/VppMacIpAclCustomizerTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/read/VppMacIpAclCustomizerTest.java @@ -25,6 +25,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; +import io.fd.hc2vpp.acl.util.AclContextManager; import io.fd.hc2vpp.common.test.read.InitializingReaderCustomizerTest; import io.fd.hc2vpp.common.translate.util.NamingContext; import io.fd.honeycomb.translate.read.ReadFailedException; @@ -51,7 +52,6 @@ public class VppMacIpAclCustomizerTest extends InitializingReaderCustomizerTest< protected static final String IF_NAME_NO_ACL = "eth2"; protected static final int IF_ID_NO_ACL = 2; protected static final String IFC_CTX_NAME = "interface-context"; - protected static final String ACL_CTX_NAME = "standard-acl-context"; private static final String IF_NAME = "eth1"; private static final int IF_ID = 1; private static final String ACL_NAME = "acl-name"; @@ -61,7 +61,8 @@ public class VppMacIpAclCustomizerTest extends InitializingReaderCustomizerTest< @Mock protected FutureJVppAclFacade aclApi; protected NamingContext interfaceContext = new NamingContext("iface", IFC_CTX_NAME); - protected NamingContext macIpAclContext = new NamingContext("macIpAcl", ACL_CTX_NAME); + @Mock + protected AclContextManager macIpAclContext; public VppMacIpAclCustomizerTest() { super(VppMacipAcl.class, IngressBuilder.class); @@ -76,7 +77,7 @@ public class VppMacIpAclCustomizerTest extends InitializingReaderCustomizerTest< protected void setUp() { defineMapping(mappingContext, IF_NAME, IF_ID, IFC_CTX_NAME); defineMapping(mappingContext, IF_NAME_NO_ACL, IF_ID_NO_ACL, IFC_CTX_NAME); - defineMapping(mappingContext, ACL_NAME, ACL_ID, ACL_CTX_NAME); + when(macIpAclContext.getAclName(ACL_ID, mappingContext)).thenReturn(ACL_NAME); } @Test diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/acl/AclInterfaceAssignmentRequestTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/acl/AclInterfaceAssignmentRequestTest.java index 2224d11b0..3eb1a6267 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/acl/AclInterfaceAssignmentRequestTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/acl/AclInterfaceAssignmentRequestTest.java @@ -29,6 +29,7 @@ import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.initMocks; import com.google.common.collect.ImmutableList; +import io.fd.hc2vpp.acl.util.AclContextManager; import io.fd.hc2vpp.common.test.util.FutureProducer; import io.fd.hc2vpp.common.test.util.NamingContextHelper; import io.fd.hc2vpp.common.translate.util.NamingContext; @@ -79,7 +80,9 @@ public class AclInterfaceAssignmentRequestTest implements NamingContextHelper, F private InstanceIdentifier validIdentifier; private NamingContext interfaceContext; - private NamingContext aclContext; + + @Mock + private AclContextManager aclContext; @Before public void setUp() { @@ -91,15 +94,14 @@ public class AclInterfaceAssignmentRequestTest implements NamingContextHelper, F .child(Acl.class); interfaceContext = new NamingContext("iface", "interface-context"); - aclContext = new NamingContext("acl", "acl-context"); defineMapping(mappingContext, INTERFACE_NAME, INTERFACE_INDEX, "interface-context"); - defineMapping(mappingContext, ACL_NAME_1, ACL_INDEX_1, "acl-context"); - defineMapping(mappingContext, ACL_NAME_2, ACL_INDEX_2, "acl-context"); - defineMapping(mappingContext, ACL_NAME_3, ACL_INDEX_3, "acl-context"); - defineMapping(mappingContext, ACL_NAME_4, ACL_INDEX_4, "acl-context"); - defineMapping(mappingContext, ACL_NAME_5, ACL_INDEX_5, "acl-context"); + when(aclContext.getAclIndex(ACL_NAME_1, mappingContext)).thenReturn(ACL_INDEX_1); + when(aclContext.getAclIndex(ACL_NAME_2, mappingContext)).thenReturn(ACL_INDEX_2); + when(aclContext.getAclIndex(ACL_NAME_3, mappingContext)).thenReturn(ACL_INDEX_3); + when(aclContext.getAclIndex(ACL_NAME_4, mappingContext)).thenReturn(ACL_INDEX_4); + when(aclContext.getAclIndex(ACL_NAME_5, mappingContext)).thenReturn(ACL_INDEX_5); when(api.aclInterfaceSetAclList(any())).thenReturn(future(new AclInterfaceSetAclListReply())); } diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/macip/MacIpInterfaceAssignmentRequestTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/macip/MacIpInterfaceAssignmentRequestTest.java index e81550390..a7049b77f 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/macip/MacIpInterfaceAssignmentRequestTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/util/iface/macip/MacIpInterfaceAssignmentRequestTest.java @@ -27,6 +27,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.initMocks; +import io.fd.hc2vpp.acl.util.AclContextManager; import io.fd.hc2vpp.common.test.util.FutureProducer; import io.fd.hc2vpp.common.test.util.NamingContextHelper; import io.fd.hc2vpp.common.translate.util.NamingContext; @@ -49,9 +50,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interfa import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.vpp.macip.acls.base.attributes.VppMacipAcl; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -/** - * Created by jsrnicek on 13.12.2016. - */ public class MacIpInterfaceAssignmentRequestTest implements NamingContextHelper,FutureProducer { private static final String INTERFACE_NAME = "iface"; @@ -70,7 +68,8 @@ public class MacIpInterfaceAssignmentRequestTest implements NamingContextHelper, private InstanceIdentifier validIdentifier; private NamingContext interfaceContext; - private NamingContext macIpAclContext; + @Mock + private AclContextManager macIpAclContext; @Before public void setUp() throws Exception { @@ -84,10 +83,9 @@ public class MacIpInterfaceAssignmentRequestTest implements NamingContextHelper, .child(VppMacipAcl.class); interfaceContext = new NamingContext("iface", "interface-context"); - macIpAclContext = new NamingContext("mac-ip-acl", "mac-ip-acl-context"); defineMapping(mappingContext, INTERFACE_NAME, INTERFACE_INDEX, "interface-context"); - defineMapping(mappingContext, ACL_NAME, ACL_INDEX, "mac-ip-acl-context"); + when(macIpAclContext.getAclIndex(ACL_NAME, mappingContext)).thenReturn(ACL_INDEX); when(api.macipAclInterfaceAddDel(any())).thenReturn(future(new MacipAclInterfaceAddDelReply())); } diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclCustomizerTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclCustomizerTest.java index d076311c9..bfdd17682 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclCustomizerTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclCustomizerTest.java @@ -24,8 +24,8 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import io.fd.hc2vpp.acl.AclTestSchemaContext; +import io.fd.hc2vpp.acl.util.AclContextManager; import io.fd.hc2vpp.common.test.write.WriterCustomizerTest; -import io.fd.hc2vpp.common.translate.util.NamingContext; import io.fd.honeycomb.test.tools.HoneycombTestRunner; import io.fd.honeycomb.test.tools.annotations.InjectTestData; import io.fd.honeycomb.translate.write.WriteFailedException; @@ -68,8 +68,11 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes private InstanceIdentifier validId; private InstanceIdentifier validMacipId; private VppAclCustomizer aclCustomizer; - private NamingContext standardAclContext; - private NamingContext macIpAclContext; + + @Mock + private AclContextManager standardAclContext; + @Mock + private AclContextManager macIpAclContext; @Override @@ -78,8 +81,6 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes InstanceIdentifier.create(AccessLists.class).child(Acl.class, new AclKey("standard-acl", VppAcl.class)); validMacipId = InstanceIdentifier.create(AccessLists.class).child(Acl.class, new AclKey("macip-acl", VppAcl.class)); - standardAclContext = new NamingContext("acl", "acl-context"); - macIpAclContext = new NamingContext("macip", "macip-context"); aclCustomizer = new VppAclCustomizer(aclApi, standardAclContext, macIpAclContext); when(aclApi.aclAddReplace(any())).thenReturn(future(new AclAddReplaceReply())); @@ -122,13 +123,14 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void updateCurrentAttributesIcmpIpv4(@InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); aclCustomizer.updateCurrentAttributes(validId, data, data, writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); - verifyIcmpIpv4Request(4); + verifyIcmpIpv4Request(aclIndex); } @@ -145,12 +147,13 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes public void updateCurrentAttributesIcmpIpv6( @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp-v6.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); aclCustomizer.updateCurrentAttributes(validId, data, data, writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); - verifyIcmpv6Request(4); + verifyIcmpv6Request(aclIndex); } @@ -166,12 +169,13 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void updateCurrentAttributesTcp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-tcp.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); aclCustomizer.updateCurrentAttributes(validId, data, data, writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); - verifyTcpRequest(4); + verifyTcpRequest(aclIndex); } @@ -188,54 +192,59 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void updateCurrentAttributesUdp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-udp.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); aclCustomizer.updateCurrentAttributes(validId, data, data, writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); - verifyUdpRequest(4); + verifyUdpRequest(aclIndex); } @Test public void deleteCurrentAttributesIcmpIpv4(@InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); aclCustomizer.deleteCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclDel(aclDelRequestCaptor.capture()); - assertEquals(4, aclDelRequestCaptor.getValue().aclIndex); + assertEquals(aclIndex, aclDelRequestCaptor.getValue().aclIndex); } @Test public void deleteCurrentAttributesIcmpIpv6( @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp-v6.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); aclCustomizer.deleteCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclDel(aclDelRequestCaptor.capture()); - assertEquals(4, aclDelRequestCaptor.getValue().aclIndex); + assertEquals(aclIndex, aclDelRequestCaptor.getValue().aclIndex); } @Test public void deleteCurrentAttributesTcp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-tcp.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); aclCustomizer.deleteCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclDel(aclDelRequestCaptor.capture()); - assertEquals(4, aclDelRequestCaptor.getValue().aclIndex); + assertEquals(aclIndex, aclDelRequestCaptor.getValue().aclIndex); } @Test public void deleteCurrentAttributesUdp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-udp.json") AccessLists standardAcls) throws Exception { - defineMapping(mappingContext, "standard-acl", 4, "acl-context"); + final int aclIndex = 4; + when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); aclCustomizer.deleteCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclDel(aclDelRequestCaptor.capture()); - assertEquals(4, aclDelRequestCaptor.getValue().aclIndex); + assertEquals(aclIndex, aclDelRequestCaptor.getValue().aclIndex); } private void verifyUdpRequest(final int aclIndex) { -- cgit 1.2.3-korg