From 4605c552b8073fb203a204e594e48f137a5b5ee2 Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Fri, 9 Sep 2016 11:41:03 +0200 Subject: HONEYCOMB-204 exclude deleted interfaces from operational data Change-Id: I187ac52095e15c8c9302871a0d7e7be792e6a0e2 Signed-off-by: Maros Marsalek --- .../v3po/interfaces/VxlanCustomizerTest.java | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'v3po/v3po2vpp/src/test/java/io/fd/honeycomb/translate/v3po/interfaces/VxlanCustomizerTest.java') diff --git a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/translate/v3po/interfaces/VxlanCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/translate/v3po/interfaces/VxlanCustomizerTest.java index 40a6b53bd..0d954deaa 100644 --- a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/translate/v3po/interfaces/VxlanCustomizerTest.java +++ b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/translate/v3po/interfaces/VxlanCustomizerTest.java @@ -35,11 +35,12 @@ import static org.mockito.MockitoAnnotations.initMocks; import com.google.common.base.Optional; import com.google.common.net.InetAddresses; -import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.MappingContext; import io.fd.honeycomb.translate.ModificationCache; +import io.fd.honeycomb.translate.v3po.DisabledInterfacesManager; import io.fd.honeycomb.translate.v3po.test.TestHelperUtils; import io.fd.honeycomb.translate.v3po.util.NamingContext; +import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; @@ -80,6 +81,8 @@ public class VxlanCustomizerTest { private WriteContext writeContext; @Mock private MappingContext mappingContext; + @Mock + private DisabledInterfacesManager disableContext; private VxlanCustomizer customizer; private String ifaceName; @@ -96,7 +99,7 @@ public class VxlanCustomizerTest { doReturn(toBeReturned).when(writeContext).getModificationCache(); doReturn(mappingContext).when(writeContext).getMappingContext(); - customizer = new VxlanCustomizer(api, namingContext); + customizer = new VxlanCustomizer(api, namingContext, disableContext); ifaceName = "eth0"; id = InstanceIdentifier.create(Interfaces.class).child(Interface.class, new InterfaceKey(ifaceName)) @@ -174,6 +177,22 @@ public class VxlanCustomizerTest { verify(mappingContext).put(eq(getMappingIid(ifaceName, "test-instance")), eq(getMapping(ifaceName, 0).get())); } + @Test + public void testWriteCurrentAttributesWithExistingVxlanPlaceholder() throws Exception { + final Vxlan vxlan = generateVxlan(); + + whenVxlanAddDelTunnelThenSuccess(); + + doReturn(Optional.absent()) + .when(mappingContext).read(getMappingIid(ifaceName, "test-instance").firstIdentifierOf(Mappings.class)); + doReturn(true).when(disableContext).isInterfaceDisabled(0, mappingContext); + + customizer.writeCurrentAttributes(id, vxlan, writeContext); + verifyVxlanAddWasInvoked(vxlan); + verify(mappingContext).put(eq(getMappingIid(ifaceName, "test-instance")), eq(getMapping(ifaceName, 0).get())); + verify(disableContext).removeDisabledInterface(0, mappingContext); + } + @Test public void testWriteCurrentAttributesMappingAlreadyPresent() throws Exception { final Vxlan vxlan = generateVxlan(); @@ -231,6 +250,7 @@ public class VxlanCustomizerTest { customizer.deleteCurrentAttributes(id, vxlan, writeContext); verifyVxlanDeleteWasInvoked(vxlan); verify(mappingContext).delete(eq(getMappingIid(ifaceName, "test-instance"))); + verify(disableContext).disableInterface(1, mappingContext); } @Test -- cgit 1.2.3-korg