diff options
Diffstat (limited to 'acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write')
-rw-r--r-- | acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/AclCustomizerTest.java (renamed from acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclCustomizerTest.java) | 51 | ||||
-rw-r--r-- | acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/AclValidatorTest.java (renamed from acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclValidatorTest.java) | 80 | ||||
-rw-r--r-- | acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclCustomizerTest.java | 72 | ||||
-rw-r--r-- | acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclMacipCustomizerTest.java | 45 |
4 files changed, 128 insertions, 120 deletions
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/AclCustomizerTest.java index a3fa6db0e..ae7023059 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/AclCustomizerTest.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import com.google.common.base.Optional; +import io.fd.hc2vpp.acl.AclIIds; import io.fd.hc2vpp.acl.AclTestSchemaContext; import io.fd.hc2vpp.acl.util.AclContextManager; import io.fd.hc2vpp.common.test.write.WriterCustomizerTest; @@ -46,15 +47,14 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160708.AccessLists; -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.AclKey; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.Acls; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.Acl; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.AclKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.acl.rev170615.VppAcl; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @RunWith(HoneycombTestRunner.class) -public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTestSchemaContext { +public class AclCustomizerTest extends WriterCustomizerTest implements AclTestSchemaContext { @Mock private FutureJVppAclFacade aclApi; @@ -70,7 +70,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes private InstanceIdentifier<Acl> validId; private InstanceIdentifier<Acl> validMacipId; - private VppAclCustomizer aclCustomizer; + private AclCustomizer aclCustomizer; @Mock private AclContextManager standardAclContext; @@ -80,11 +80,9 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Override protected void setUpTest() throws Exception { - validId = - 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)); - aclCustomizer = new VppAclCustomizer(aclApi, standardAclContext, macIpAclContext); + validId = AclIIds.ACLS.child(Acl.class, new AclKey("standard-acl")); + validMacipId = AclIIds.ACLS.child(Acl.class, new AclKey("macip-acl")); + aclCustomizer = new AclCustomizer(aclApi, standardAclContext, macIpAclContext); when(aclApi.aclAddReplace(any())).thenReturn(future(new AclAddReplaceReply())); when(aclApi.aclDel(any())).thenReturn(future(new AclDelReply())); @@ -93,7 +91,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void writeCurrentAttributesMacip(@InjectTestData(resourcePath = "/acl/macip/macip-acl.json") - AccessLists macipAcl) throws WriteFailedException { + Acls macipAcl) throws WriteFailedException { aclCustomizer.writeCurrentAttributes(validMacipId, macipAcl.getAcl().get(0), writeContext); @@ -116,7 +114,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void writeCurrentAttributesIcmpIpv4(@InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { aclCustomizer.writeCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); @@ -125,7 +123,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void updateCurrentAttributesIcmpIpv4(@InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); @@ -139,7 +137,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void writeCurrentAttributesIcmpIpv6(@InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp-v6.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { aclCustomizer.writeCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); @@ -149,7 +147,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void updateCurrentAttributesIcmpIpv6( @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp-v6.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); @@ -162,7 +160,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void writeCurrentAttributesTcp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-tcp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { aclCustomizer.writeCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); @@ -171,7 +169,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void updateCurrentAttributesTcp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-tcp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); @@ -182,8 +180,9 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes } @Test - public void updateCurrentAttributesTcpSrcOnly(@InjectTestData(resourcePath = "/acl/standard/standard-acl-tcp-src-only.json") - AccessLists standardAcls) throws Exception { + public void updateCurrentAttributesTcpSrcOnly( + @InjectTestData(resourcePath = "/acl/standard/standard-acl-tcp-src-only.json") + Acls standardAcls) throws Exception { final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); @@ -201,7 +200,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void writeCurrentAttributesUdp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-udp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { aclCustomizer.writeCurrentAttributes(validId, standardAcls.getAcl().get(0), writeContext); verify(aclApi, times(1)).aclAddReplace(aclAddReplaceRequestCaptor.capture()); @@ -211,7 +210,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void updateCurrentAttributesUdp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-udp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); final Acl data = standardAcls.getAcl().get(0); @@ -224,7 +223,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void deleteCurrentAttributesIcmpIpv4(@InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { when(writeContext.readAfter(InstanceIdentifier.create(Interfaces.class))).thenReturn(Optional.absent()); final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); @@ -237,7 +236,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void deleteCurrentAttributesIcmpIpv6( @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp-v6.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { when(writeContext.readAfter(InstanceIdentifier.create(Interfaces.class))).thenReturn(Optional.absent()); final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); @@ -249,7 +248,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void deleteCurrentAttributesTcp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-tcp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { when(writeContext.readAfter(InstanceIdentifier.create(Interfaces.class))).thenReturn(Optional.absent()); final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); @@ -261,7 +260,7 @@ public class VppAclCustomizerTest extends WriterCustomizerTest implements AclTes @Test public void deleteCurrentAttributesUdp(@InjectTestData(resourcePath = "/acl/standard/standard-acl-udp.json") - AccessLists standardAcls) throws Exception { + Acls standardAcls) throws Exception { when(writeContext.readAfter(InstanceIdentifier.create(Interfaces.class))).thenReturn(Optional.absent()); final int aclIndex = 4; when(standardAclContext.getAclIndex("standard-acl", mappingContext)).thenReturn(aclIndex); diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclValidatorTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/AclValidatorTest.java index 287e53f80..6f4d8556f 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/VppAclValidatorTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/AclValidatorTest.java @@ -16,8 +16,7 @@ package io.fd.hc2vpp.acl.write; -import static io.fd.hc2vpp.acl.write.VppAclValidator.checkAclReferenced; -import static java.util.stream.Collectors.toSet; +import static io.fd.hc2vpp.acl.write.AclValidator.checkAclReferenced; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.hasSize; @@ -25,51 +24,52 @@ import static org.mockito.Mockito.when; import static org.mockito.MockitoAnnotations.initMocks; import com.google.common.base.Optional; +import io.fd.hc2vpp.acl.AclIIds; import io.fd.hc2vpp.acl.AclTestSchemaContext; import io.fd.honeycomb.test.tools.HoneycombTestRunner; import io.fd.honeycomb.test.tools.annotations.InjectTestData; import io.fd.honeycomb.translate.write.DataValidationFailedException; import io.fd.honeycomb.translate.write.WriteContext; +import java.util.HashSet; import java.util.List; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160708.AccessLists; -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; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesBuilder; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.acl.rev170615.VppAcl; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.vpp.acl.rev170615.VppMacipAcl; +import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.acl.rev181022.VppAcl; +import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.acl.rev181022.VppMacipAcl; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.Acls; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.Acl; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.AclBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.AclKey; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.AttachmentPoints; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.AttachmentPointsBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @RunWith(HoneycombTestRunner.class) -public class VppAclValidatorTest implements AclTestSchemaContext { +public class AclValidatorTest implements AclTestSchemaContext { - private static final InstanceIdentifier<Acl> ID = InstanceIdentifier.create(AccessLists.class) - .child(Acl.class, new AclKey("standard-acl", VppAcl.class)); + private static final InstanceIdentifier<Acl> ID = AclIIds.ACLS + .child(Acl.class, new AclKey("standard-acl")); - @InjectTestData(id = "/ietf-interfaces:interfaces", resourcePath = "/interface-acl/acl-references.json") - private Interfaces interfaces; + @InjectTestData(id = "/ietf-access-control-list:acls/ietf-access-control-list:attachment-points", resourcePath = "/interface-acl/acl-references.json") + private AttachmentPoints attachmentPoints; @Mock private WriteContext writeContext; - private VppAclValidator validator; + private AclValidator validator; @Before public void init(){ initMocks(this); - when(writeContext.readAfter(InstanceIdentifier.create(Interfaces.class))).thenReturn(Optional.of(interfaces)); - validator = new VppAclValidator(); + when(writeContext.readAfter(AclIIds.ACLS_AP)).thenReturn(Optional.of(attachmentPoints)); + validator = new AclValidator(); } @Test public void testValidateWrite( - @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") AccessLists acls) + @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") Acls acls) throws DataValidationFailedException.CreateValidationFailedException { validator.validateWrite(ID, acls.getAcl().get(0), writeContext); } @@ -82,7 +82,7 @@ public class VppAclValidatorTest implements AclTestSchemaContext { @Test public void testValidateUpdate( - @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") AccessLists acls) + @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") Acls acls) throws DataValidationFailedException.UpdateValidationFailedException { final Acl data = acls.getAcl().get(0); validator.validateUpdate(ID, data, data, writeContext); @@ -90,7 +90,7 @@ public class VppAclValidatorTest implements AclTestSchemaContext { @Test(expected = DataValidationFailedException.UpdateValidationFailedException.class) public void testValidateUpdateUnsupportedType( - @InjectTestData(resourcePath = "/acl/ipv4/ipv4-acl.json") AccessLists acls) + @InjectTestData(resourcePath = "/acl/ipv4/ipv4-acl.json") Acls acls) throws DataValidationFailedException.UpdateValidationFailedException { final Acl data = acls.getAcl().get(0); validator.validateUpdate(ID, data, data, writeContext); @@ -98,46 +98,44 @@ public class VppAclValidatorTest implements AclTestSchemaContext { @Test public void testValidateDelete( - @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") AccessLists acls) + @InjectTestData(resourcePath = "/acl/standard/standard-acl-icmp.json") Acls acls) throws DataValidationFailedException.DeleteValidationFailedException { validator.validateDelete(ID, acls.getAcl().get(0), writeContext); } @Test(expected = DataValidationFailedException.DeleteValidationFailedException.class) public void testValidateDeleteReferenced( - @InjectTestData(resourcePath = "/acl/standard/standard-acl-udp.json") - AccessLists standardAcls, - @InjectTestData(resourcePath = "/acl/standard/interface-ref-acl-udp.json") - Interfaces references) throws Exception { - when(writeContext.readAfter(InstanceIdentifier.create(Interfaces.class))).thenReturn( - Optional.of(new InterfacesBuilder().setInterface(references.getInterface()).build())); + @InjectTestData(resourcePath = "/acl/standard/standard-acl-udp.json") + Acls standardAcls, + @InjectTestData(id = "/ietf-access-control-list:acls/ietf-access-control-list:attachment-points", + resourcePath = "/acl/standard/interface-ref-acl-udp.json") + AttachmentPoints references) throws Exception { + when(writeContext.readAfter(AclIIds.ACLS_AP)).thenReturn( + Optional.of(new AttachmentPointsBuilder().setInterface(references.getInterface()).build())); validator.validateDelete(ID, standardAcls.getAcl().get(0), writeContext); } @Test public void testReferencedVppAclFirst() { - final List<Interface> referenced = checkAclReferenced(writeContext, new AclBuilder() - .setAclName("acl1").setAclType(VppAcl.class).build()); + final List<String> referenced = checkAclReferenced(writeContext, new AclBuilder() + .setName("acl1").setType(VppAcl.class).build()); assertThat(referenced, hasSize(3)); - assertThat(referenced.stream().map(Interface::getName).collect(toSet()), - containsInAnyOrder("eth0", "eth1", "eth2")); + assertThat(new HashSet<>(referenced), containsInAnyOrder("eth0", "eth1", "eth2")); } @Test public void testReferencedVppAclSecond() { - final List<Interface> referenced = checkAclReferenced(writeContext, new AclBuilder() - .setAclName("acl2").setAclType(VppAcl.class).build()); + final List<String> referenced = checkAclReferenced(writeContext, new AclBuilder() + .setName("acl2").setType(VppAcl.class).build()); assertThat(referenced, hasSize(1)); - assertThat(referenced.stream().map(Interface::getName).collect(toSet()), - containsInAnyOrder("eth1")); + assertThat(new HashSet<>(referenced), containsInAnyOrder("eth1")); } @Test public void testReferencedMacipAcl() { - final List<Interface> referenced = checkAclReferenced(writeContext, new AclBuilder() - .setAclName("acl4").setAclType(VppMacipAcl.class).build()); + final List<String> referenced = checkAclReferenced(writeContext, new AclBuilder() + .setName("acl4").setType(VppMacipAcl.class).build()); assertThat(referenced, hasSize(1)); - assertThat(referenced.stream().map(Interface::getName).collect(toSet()), - containsInAnyOrder("eth2")); + assertThat(new HashSet<>(referenced), containsInAnyOrder("eth2")); } }
\ No newline at end of file diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclCustomizerTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclCustomizerTest.java index 5dc139acc..b6c26ceeb 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclCustomizerTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclCustomizerTest.java @@ -17,10 +17,10 @@ package io.fd.hc2vpp.acl.write; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.fd.hc2vpp.acl.AclIIds; import io.fd.hc2vpp.acl.AclTestSchemaContext; import io.fd.hc2vpp.acl.util.AclContextManager; import io.fd.hc2vpp.common.test.write.WriterCustomizerTest; @@ -31,15 +31,12 @@ import io.fd.vpp.jvpp.acl.future.FutureJVppAclFacade; import java.util.Collections; import org.junit.Test; import org.mockito.Mock; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.VppAclInterfaceAugmentation; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.Acl; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.AclBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.acl.IngressBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.vpp.acls.base.attributes.VppAcls; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.vpp.acls.base.attributes.VppAclsBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points.Interface; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points.InterfaceBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points.InterfaceKey; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points._interface.IngressBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points._interface.acl.AclSetsBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points._interface.acl.acl.sets.AclSetBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class InterfaceAclCustomizerTest extends WriterCustomizerTest implements AclTestSchemaContext { @@ -47,61 +44,70 @@ public class InterfaceAclCustomizerTest extends WriterCustomizerTest implements private static final String IFC_CTX_NAME = "ifc-test-instance"; private static final String IFACE_NAME = "eth0"; private static final int IFACE_ID = 123; + private static final int ACL_ID = 111; @Mock private FutureJVppAclFacade aclApi; @Mock private AclContextManager standardAclContext; + @Mock + private AclContextManager macipAclContext; private InterfaceAclCustomizer customizer; - private NamingContext interfaceContext; - private InstanceIdentifier<Acl> ACL_ID = InstanceIdentifier.create(Interfaces.class) - .child(Interface.class, new InterfaceKey(IFACE_NAME)).augmentation(VppAclInterfaceAugmentation.class).child(Acl.class); + private InstanceIdentifier<Interface> IFC_IID = + AclIIds.ACLS_AP.child(Interface.class, new InterfaceKey(IFACE_NAME)); + private Interface ifcAcl; + private static final String ACL_NAME = "standard_acl"; + @Override - protected void setUpTest() throws Exception { + protected void setUpTest() { defineMapping(mappingContext, IFACE_NAME, IFACE_ID, IFC_CTX_NAME); - interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME); - customizer = new InterfaceAclCustomizer(aclApi, interfaceContext, standardAclContext); + final NamingContext interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME); + customizer = new InterfaceAclCustomizer(aclApi, interfaceContext, standardAclContext, macipAclContext); + ifcAcl = new InterfaceBuilder() + .setIngress(new IngressBuilder() + .setAclSets(new AclSetsBuilder() + .setAclSet(Collections.singletonList(new AclSetBuilder() + .setName(ACL_NAME) + .build())) + .build()) + .build()) + .build(); + when(standardAclContext.getAclIndex(ACL_NAME, mappingContext)).thenReturn(ACL_ID); + when(standardAclContext.containsAcl(ACL_NAME, mappingContext)).thenReturn(true); when(aclApi.aclInterfaceSetAclList(any())).thenReturn(future(new AclInterfaceSetAclListReply())); } @Test public void testWrite() throws Exception { - final Acl acl = new AclBuilder().build(); - customizer.writeCurrentAttributes(ACL_ID, acl, writeContext); + customizer.writeCurrentAttributes(IFC_IID, ifcAcl, writeContext); final AclInterfaceSetAclList list = new AclInterfaceSetAclList(); list.swIfIndex = IFACE_ID; - list.acls = new int[]{}; + list.acls = new int[]{ACL_ID}; + list.count = 1; + list.nInput = 1; verify(aclApi).aclInterfaceSetAclList(list); } @Test public void testUpdate() throws Exception { - final Acl acl = new AclBuilder().build(); - customizer.updateCurrentAttributes(ACL_ID, acl, acl, writeContext); + final Interface updIfcAcl = new InterfaceBuilder().build(); + customizer.updateCurrentAttributes(IFC_IID, updIfcAcl, ifcAcl, writeContext); final AclInterfaceSetAclList list = new AclInterfaceSetAclList(); list.swIfIndex = IFACE_ID; - list.acls = new int[]{}; + list.acls = new int[]{ACL_ID}; + list.count = 1; + list.nInput = 1; verify(aclApi).aclInterfaceSetAclList(list); } @Test public void testDelete() throws Exception { - final VppAcls - element = mock(VppAcls.class); - final Acl acl = new AclBuilder() - .setIngress(new IngressBuilder() - .setVppAcls(Collections.singletonList(new VppAclsBuilder() - .setName("asd") - .build())) - .build()) - .build(); - customizer.deleteCurrentAttributes(ACL_ID, acl, writeContext); + customizer.deleteCurrentAttributes(IFC_IID, ifcAcl, writeContext); final AclInterfaceSetAclList list = new AclInterfaceSetAclList(); list.swIfIndex = IFACE_ID; list.acls = new int[]{}; verify(aclApi).aclInterfaceSetAclList(list); } - }
\ No newline at end of file diff --git a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclMacipCustomizerTest.java b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclMacipCustomizerTest.java index b5fa649ca..af3deaca2 100644 --- a/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclMacipCustomizerTest.java +++ b/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclMacipCustomizerTest.java @@ -20,23 +20,24 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.fd.hc2vpp.acl.AclIIds; 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.vpp.jvpp.acl.dto.AclInterfaceSetAclListReply; import io.fd.vpp.jvpp.acl.dto.MacipAclInterfaceAddDel; import io.fd.vpp.jvpp.acl.dto.MacipAclInterfaceAddDelReply; import io.fd.vpp.jvpp.acl.future.FutureJVppAclFacade; +import java.util.Collections; import org.junit.Test; import org.mockito.Mock; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.VppAclInterfaceAugmentation; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.Acl; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214._interface.acl.attributes.acl.Ingress; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.vpp.macip.acls.base.attributes.VppMacipAcl; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.vpp.macip.acls.base.attributes.VppMacipAclBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points.Interface; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points.InterfaceBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points.InterfaceKey; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points._interface.IngressBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points._interface.acl.AclSetsBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev181001.acls.attachment.points._interface.acl.acl.sets.AclSetBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class InterfaceAclMacipCustomizerTest extends WriterCustomizerTest implements AclTestSchemaContext { @@ -51,27 +52,31 @@ public class InterfaceAclMacipCustomizerTest extends WriterCustomizerTest implem private FutureJVppAclFacade aclApi; @Mock private AclContextManager macipAclContext; + @Mock + private AclContextManager standardAclContext; - private InterfaceAclMacIpCustomizer customizer; + private InterfaceAclCustomizer customizer; private NamingContext interfaceContext; - private InstanceIdentifier<VppMacipAcl> ACL_IID = InstanceIdentifier.create(Interfaces.class) - .child(Interface.class, new InterfaceKey(IFACE_NAME)).augmentation(VppAclInterfaceAugmentation.class) - .child(Acl.class).child(Ingress.class).child(VppMacipAcl.class); - private VppMacipAcl acl; + private InstanceIdentifier<Interface> IFC_IID = + AclIIds.ACLS_AP.child(Interface.class, new InterfaceKey(IFACE_NAME)); + private Interface ifcAcl; @Override protected void setUpTest() throws Exception { defineMapping(mappingContext, IFACE_NAME, IFACE_ID, IFC_CTX_NAME); interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME); - customizer = new InterfaceAclMacIpCustomizer(aclApi, macipAclContext, interfaceContext); - acl = new VppMacipAclBuilder().setName(ACL_NAME).build(); + customizer = new InterfaceAclCustomizer(aclApi, interfaceContext, standardAclContext, macipAclContext); + ifcAcl = new InterfaceBuilder().setIngress(new IngressBuilder().setAclSets(new AclSetsBuilder().setAclSet( + Collections.singletonList(new AclSetBuilder().setName(ACL_NAME).build())).build()).build()).build(); when(macipAclContext.getAclIndex(ACL_NAME, mappingContext)).thenReturn(ACL_ID); + when(macipAclContext.containsAcl(ACL_NAME, mappingContext)).thenReturn(true); when(aclApi.macipAclInterfaceAddDel(any())).thenReturn(future(new MacipAclInterfaceAddDelReply())); + when(aclApi.aclInterfaceSetAclList(any())).thenReturn(future(new AclInterfaceSetAclListReply())); } @Test public void testWrite() throws Exception { - customizer.writeCurrentAttributes(ACL_IID, acl, writeContext); + customizer.writeCurrentAttributes(IFC_IID, ifcAcl, writeContext); final MacipAclInterfaceAddDel request = new MacipAclInterfaceAddDel(); request.swIfIndex = IFACE_ID; request.isAdd = 1; @@ -79,19 +84,19 @@ public class InterfaceAclMacipCustomizerTest extends WriterCustomizerTest implem verify(aclApi).macipAclInterfaceAddDel(request); } - @Test(expected = UnsupportedOperationException.class) + @Test public void testUpdate() throws Exception { - customizer.updateCurrentAttributes(ACL_IID, acl, acl, writeContext); + customizer.updateCurrentAttributes(IFC_IID, ifcAcl, ifcAcl, writeContext); + verify(aclApi).aclInterfaceSetAclList(any()); } @Test public void testDelete() throws Exception { - customizer.deleteCurrentAttributes(ACL_IID, acl, writeContext); + customizer.deleteCurrentAttributes(IFC_IID, ifcAcl, writeContext); final MacipAclInterfaceAddDel request = new MacipAclInterfaceAddDel(); request.swIfIndex = IFACE_ID; request.isAdd = 0; request.aclIndex = ACL_ID; verify(aclApi).macipAclInterfaceAddDel(request); } - }
\ No newline at end of file |