From a5a20bd12ecd1c094555fe601a9c9b464776b232 Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Wed, 28 Sep 2016 14:42:39 +0200 Subject: HONEYCOMB-210 - DumpEmptyCheck removed Change-Id: I95ea94c3a1a581753f7eb667af7aacde832c21fd Signed-off-by: Jan Srnicek --- .../fd/honeycomb/vpp/test/read/DumpCheckTest.java | 81 ---------------------- .../vpp/util/cache/DumpCacheManagerTest.java | 42 +++++------ 2 files changed, 16 insertions(+), 107 deletions(-) delete mode 100644 vpp-common/vpp-translate-test/src/main/java/io/fd/honeycomb/vpp/test/read/DumpCheckTest.java (limited to 'vpp-common') diff --git a/vpp-common/vpp-translate-test/src/main/java/io/fd/honeycomb/vpp/test/read/DumpCheckTest.java b/vpp-common/vpp-translate-test/src/main/java/io/fd/honeycomb/vpp/test/read/DumpCheckTest.java deleted file mode 100644 index a21f49b6e..000000000 --- a/vpp-common/vpp-translate-test/src/main/java/io/fd/honeycomb/vpp/test/read/DumpCheckTest.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2016 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.honeycomb.vpp.test.read; - - -import io.fd.honeycomb.translate.util.read.cache.EntityDumpNonEmptyCheck; -import io.fd.honeycomb.translate.util.read.cache.exceptions.check.DumpCheckFailedException; -import io.fd.honeycomb.translate.util.read.cache.exceptions.check.i.DumpEmptyException; -import org.junit.Before; -import org.junit.Test; - -/** - * Generic test for classes implementing {@link EntityDumpNonEmptyCheck} - * - * @param implementations of {@link EntityDumpNonEmptyCheck}, that will be tested - * @param data node handled by {@link EntityDumpNonEmptyCheck} - */ -public abstract class DumpCheckTest, U> { - - private T check; - private U emptyData; - private U validData; - - @Before - public void setupParent() { - this.check = initCheck(); - this.emptyData = initEmptyData(); - this.validData = initValidData(); - } - - @Test(expected = DumpEmptyException.class) - public void testWithNull() throws DumpCheckFailedException { - check.assertNotEmpty(null); - } - - @Test(expected = DumpEmptyException.class) - public void testWithEmpty() throws DumpCheckFailedException { - check.assertNotEmpty(emptyData); - } - - @Test - public void testWithValid() throws DumpCheckFailedException { - check.assertNotEmpty(validData); - } - - /** - * Initialize new {@link EntityDumpNonEmptyCheck}. - */ - protected abstract T initCheck(); - - /** - * Initialize data that should throw {@link DumpEmptyException} , - * while beeing processed by {@link EntityDumpNonEmptyCheck} - */ - protected abstract U initEmptyData(); - - /** - * Initialize data that should pass without exception , - * while beeing processed by {@link EntityDumpNonEmptyCheck} - */ - protected abstract U initValidData(); - - - protected T getCheck() { - return this.check; - } -} diff --git a/vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/vpp/util/cache/DumpCacheManagerTest.java b/vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/vpp/util/cache/DumpCacheManagerTest.java index 72924ac31..abb9866ec 100644 --- a/vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/vpp/util/cache/DumpCacheManagerTest.java +++ b/vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/vpp/util/cache/DumpCacheManagerTest.java @@ -16,6 +16,7 @@ package io.fd.honeycomb.translate.vpp.util.cache; +import static io.fd.honeycomb.translate.util.read.cache.EntityDumpExecutor.NO_PARAMS; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; @@ -23,9 +24,7 @@ import com.google.common.base.Optional; import io.fd.honeycomb.translate.ModificationCache; import io.fd.honeycomb.translate.util.read.cache.DumpCacheManager; import io.fd.honeycomb.translate.util.read.cache.EntityDumpExecutor; -import io.fd.honeycomb.translate.util.read.cache.EntityDumpNonEmptyCheck; import io.fd.honeycomb.translate.util.read.cache.EntityDumpPostProcessingFunction; -import io.fd.honeycomb.translate.util.read.cache.exceptions.check.i.DumpEmptyException; import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.DumpExecutionFailedException; import org.junit.Before; import org.junit.Test; @@ -52,19 +51,16 @@ public class DumpCacheManagerTest { managerPositive = new DumpCacheManager.DumpCacheManagerBuilder() .withExecutor(executor) - .withNonEmptyPredicate(createPositivePredicate()) .build(); managerPositiveWithPostProcessing = new DumpCacheManager.DumpCacheManagerBuilder() .withExecutor(executor) - .withNonEmptyPredicate(createPositivePredicate()) .withPostProcessingFunction(createPostProcessor()) .build(); managerNegative = new DumpCacheManager.DumpCacheManagerBuilder() .withExecutor(executor) - .withNonEmptyPredicate(createNegativePredicate()) .build(); cache = new ModificationCache(); @@ -75,28 +71,34 @@ public class DumpCacheManagerTest { */ @Test public void testCaching() throws DumpExecutionFailedException { + final IpDetailsReplyDump stage1Data = new IpDetailsReplyDump(); + // executor cant return null data + when(executor.executeDump(NO_PARAMS)).thenReturn(new IpDetailsReplyDump()); - Optional stage1Optional = managerNegative.getDump(KEY, cache, null); + final Optional stage1Optional = managerNegative.getDump(KEY, cache, NO_PARAMS); - //this is first call so instance should be from executor - assertEquals(false, stage1Optional.isPresent()); - assertEquals(false, cache.containsKey(KEY)); + // this is first call so instance should be from executor + // and it should be cached after calling executor + assertEquals(true, stage1Optional.isPresent()); + assertEquals(stage1Data, stage1Optional.get()); + assertEquals(true, cache.containsKey(KEY)); + assertEquals(stage1Data, cache.get(KEY)); //rebind executor with other data IpDetailsReplyDump stage2LoadedDump = new IpDetailsReplyDump(); - when(executor.executeDump(null)).thenReturn(stage2LoadedDump); + when(executor.executeDump(NO_PARAMS)).thenReturn(stage2LoadedDump); - Optional stage2Optional = managerPositive.getDump(KEY, cache, null); + final Optional stage2Optional = managerPositive.getDump(KEY, cache, NO_PARAMS); assertEquals(true, stage2Optional.isPresent()); assertEquals(stage2LoadedDump, stage2Optional.get()); //rebind executor with other data IpDetailsReplyDump stage3LoadedDump = new IpDetailsReplyDump(); - when(executor.executeDump(null)).thenReturn(stage3LoadedDump); + when(executor.executeDump(NO_PARAMS)).thenReturn(stage3LoadedDump); - Optional stage3Optional = managerPositive.getDump(KEY, cache, null); + final Optional stage3Optional = managerPositive.getDump(KEY, cache, NO_PARAMS); assertEquals(true, stage3Optional.isPresent()); //check if it returns instance cached from previous stage assertEquals(stage2LoadedDump, stage3Optional.get()); @@ -111,25 +113,13 @@ public class DumpCacheManagerTest { when(executor.executeDump(null)).thenReturn(dump); - Optional optionalDump = managerPositiveWithPostProcessing.getDump(KEY, cache, null); + Optional optionalDump = managerPositiveWithPostProcessing.getDump(KEY, cache, NO_PARAMS); assertEquals(true, optionalDump.isPresent()); assertEquals(1, optionalDump.get().ipDetails.size()); assertEquals(7, optionalDump.get().ipDetails.get(0).swIfIndex); } - private EntityDumpNonEmptyCheck createNegativePredicate() { - return data -> { - throw new DumpEmptyException("Empty dump", new IllegalArgumentException()); - }; - } - - private EntityDumpNonEmptyCheck createPositivePredicate() { - return data -> { - //DO NOTHING - }; - } - private EntityDumpPostProcessingFunction createPostProcessor() { return ipDetailsReplyDump -> { IpDetailsReplyDump modified = new IpDetailsReplyDump(); -- cgit 1.2.3-korg