summaryrefslogtreecommitdiffstats
path: root/acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write
diff options
context:
space:
mode:
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.java72
-rw-r--r--acl/acl-impl/src/test/java/io/fd/hc2vpp/acl/write/InterfaceAclMacipCustomizerTest.java45
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