summaryrefslogtreecommitdiffstats
path: root/vpp-common
diff options
context:
space:
mode:
authorJan Srnicek <jsrnicek@cisco.com>2016-09-28 14:42:39 +0200
committerMarek Gradzki <mgradzki@cisco.com>2016-09-28 13:02:01 +0000
commit58961d7103e1c7dfd411ab00ce3905e2e5fec94b (patch)
tree79a53f4e7f1ef6bf51aa2d2a611ea8a0bda4ed80 /vpp-common
parent4a7047d82d70dd07684599b75cfd73c961d15108 (diff)
HONEYCOMB-210 - DumpEmptyCheck removed
Change-Id: I95ea94c3a1a581753f7eb667af7aacde832c21fd Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'vpp-common')
-rw-r--r--vpp-common/vpp-translate-test/src/main/java/io/fd/honeycomb/vpp/test/read/DumpCheckTest.java81
-rw-r--r--vpp-common/vpp-translate-utils/src/test/java/io/fd/honeycomb/translate/vpp/util/cache/DumpCacheManagerTest.java42
2 files changed, 16 insertions, 107 deletions
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 <T> implementations of {@link EntityDumpNonEmptyCheck}, that will be tested
- * @param <U> data node handled by {@link EntityDumpNonEmptyCheck}
- */
-public abstract class DumpCheckTest<T extends EntityDumpNonEmptyCheck<U>, 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<IpDetailsReplyDump, Void>()
.withExecutor(executor)
- .withNonEmptyPredicate(createPositivePredicate())
.build();
managerPositiveWithPostProcessing = new DumpCacheManager.DumpCacheManagerBuilder<IpDetailsReplyDump, Void>()
.withExecutor(executor)
- .withNonEmptyPredicate(createPositivePredicate())
.withPostProcessingFunction(createPostProcessor())
.build();
managerNegative =
new DumpCacheManager.DumpCacheManagerBuilder<IpDetailsReplyDump, Void>()
.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<IpDetailsReplyDump> stage1Optional = managerNegative.getDump(KEY, cache, null);
+ final Optional<IpDetailsReplyDump> 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<IpDetailsReplyDump> stage2Optional = managerPositive.getDump(KEY, cache, null);
+ final Optional<IpDetailsReplyDump> 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<IpDetailsReplyDump> stage3Optional = managerPositive.getDump(KEY, cache, null);
+ final Optional<IpDetailsReplyDump> 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<IpDetailsReplyDump> optionalDump = managerPositiveWithPostProcessing.getDump(KEY, cache, null);
+ Optional<IpDetailsReplyDump> 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<IpDetailsReplyDump> createNegativePredicate() {
- return data -> {
- throw new DumpEmptyException("Empty dump", new IllegalArgumentException());
- };
- }
-
- private EntityDumpNonEmptyCheck<IpDetailsReplyDump> createPositivePredicate() {
- return data -> {
- //DO NOTHING
- };
- }
-
private EntityDumpPostProcessingFunction<IpDetailsReplyDump> createPostProcessor() {
return ipDetailsReplyDump -> {
IpDetailsReplyDump modified = new IpDetailsReplyDump();