You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by jc...@apache.org on 2013/10/08 22:35:35 UTC
git commit: CAMEL-6826: Use Mock Objects Instead of Live
HazelcastInstances to Speed Up Testing
Updated Branches:
refs/heads/master 3210a8d16 -> 67aa3b3a9
CAMEL-6826: Use Mock Objects Instead of Live HazelcastInstances to Speed Up Testing
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/67aa3b3a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/67aa3b3a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/67aa3b3a
Branch: refs/heads/master
Commit: 67aa3b3a9ebcd4044664ae64845f18821fc1d9a0
Parents: 3210a8d
Author: James W. Carman <jc...@apache.org>
Authored: Tue Oct 8 13:44:59 2013 -0400
Committer: James W. Carman <jc...@apache.org>
Committed: Tue Oct 8 16:35:32 2013 -0400
----------------------------------------------------------------------
components/camel-hazelcast/pom.xml | 5 +
.../HazelcastAtomicnumberProducerTest.java | 47 +++++---
.../hazelcast/HazelcastCamelTestSupport.java | 57 ++++++++++
.../hazelcast/HazelcastListProducerTest.java | 82 +++++---------
.../hazelcast/HazelcastMapProducerTest.java | 69 ++++++------
.../HazelcastMultimapProducerTest.java | 54 ++++------
.../hazelcast/HazelcastQueueProducerTest.java | 107 +++++++------------
7 files changed, 214 insertions(+), 207 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/67aa3b3a/components/camel-hazelcast/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/pom.xml b/components/camel-hazelcast/pom.xml
index 0b8a878..fb4cbf3 100644
--- a/components/camel-hazelcast/pom.xml
+++ b/components/camel-hazelcast/pom.xml
@@ -63,6 +63,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-test-spring</artifactId>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/camel/blob/67aa3b3a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerTest.java
index 158a112..84eb211 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastAtomicnumberProducerTest.java
@@ -16,51 +16,68 @@
*/
package org.apache.camel.component.hazelcast;
+import com.hazelcast.core.HazelcastInstance;
+import com.hazelcast.core.IAtomicLong;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.After;
import org.junit.Test;
+import org.mockito.Mock;
+import static org.mockito.Mockito.*;
-public class HazelcastAtomicnumberProducerTest extends CamelTestSupport {
+public class HazelcastAtomicnumberProducerTest extends HazelcastCamelTestSupport {
+
+ @Mock
+ private IAtomicLong atomicNumber;
+
+ @Override
+ protected void trainHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ when(hazelcastInstance.getAtomicLong("foo")).thenReturn(atomicNumber);
+ }
+
+ @Override
+ protected void verifyHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ verify(hazelcastInstance, atLeastOnce()).getAtomicLong("foo");
+ }
+
+ @After
+ public void verifyAtomicNumberMock() {
+ verifyNoMoreInteractions(atomicNumber);
+ }
@Test
public void testSet() {
template.sendBody("direct:set", 4711);
-
- long body = template.requestBody("direct:get", null, Long.class);
- assertEquals(4711, body);
+ verify(atomicNumber).set(4711);
}
@Test
public void testGet() {
- template.sendBody("direct:set", 1234);
-
+ when(atomicNumber.get()).thenReturn(1234L);
long body = template.requestBody("direct:get", null, Long.class);
+ verify(atomicNumber).get();
assertEquals(1234, body);
}
@Test
public void testIncrement() {
- template.sendBody("direct:set", 10);
-
+ when(atomicNumber.incrementAndGet()).thenReturn(11L);
long body = template.requestBody("direct:increment", null, Long.class);
+ verify(atomicNumber).incrementAndGet();
assertEquals(11, body);
}
@Test
public void testDecrement() {
- template.sendBody("direct:set", 10);
-
+ when(atomicNumber.decrementAndGet()).thenReturn(9L);
long body = template.requestBody("direct:decrement", null, Long.class);
+ verify(atomicNumber).decrementAndGet();
assertEquals(9, body);
}
@Test
public void testDestroy() throws InterruptedException {
- template.sendBody("direct:set", 10);
template.sendBody("direct:destroy", null);
- long body = template.requestBody("direct:get", null, Long.class);
- // the body is destory
- assertEquals(0, body);
+ verify(atomicNumber).destroy();
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/67aa3b3a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestSupport.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestSupport.java
new file mode 100644
index 0000000..fa56f5d
--- /dev/null
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestSupport.java
@@ -0,0 +1,57 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.camel.component.hazelcast;
+
+import com.hazelcast.core.HazelcastInstance;
+import org.apache.camel.CamelContext;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.After;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import static org.mockito.Mockito.*;
+public class HazelcastCamelTestSupport extends CamelTestSupport {
+
+ @Mock
+ private HazelcastInstance hazelcastInstance;
+
+ @Override
+ protected CamelContext createCamelContext() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ CamelContext context = super.createCamelContext();
+ HazelcastComponent hazelcastComponent = new HazelcastComponent(context);
+ hazelcastComponent.setHazelcastInstance(hazelcastInstance);
+ context.addComponent("hazelcast", hazelcastComponent);
+ trainHazelcastInstance(hazelcastInstance);
+ return context;
+ }
+
+ protected void trainHazelcastInstance(HazelcastInstance hazelcastInstance) {
+
+ }
+
+ protected void verifyHazelcastInstance(HazelcastInstance hazelcastInstance) {
+
+ }
+
+ @After
+ public final void verifyHazelcastInstanceMock() {
+ verifyHazelcastInstance(hazelcastInstance);
+ verifyNoMoreInteractions(hazelcastInstance);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/67aa3b3a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java
index 3d88b87..f367c11 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java
@@ -16,101 +16,77 @@
*/
package org.apache.camel.component.hazelcast;
+import java.util.ArrayList;
import java.util.List;
import com.hazelcast.core.HazelcastInstance;
+import com.hazelcast.core.IList;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
-public class HazelcastListProducerTest extends CamelTestSupport {
+import static org.mockito.Mockito.*;
- private List<String> list;
+public class HazelcastListProducerTest extends HazelcastCamelTestSupport {
+
+ @Mock
+ private IList<String> list;
+
+ @Override
+ protected void trainHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ when(hazelcastInstance.<String>getList("bar")).thenReturn(list);
+ }
@Override
- protected void doPostSetup() throws Exception {
- HazelcastComponent component = context().getComponent("hazelcast", HazelcastComponent.class);
- HazelcastInstance hazelcastInstance = component.getHazelcastInstance();
- list = hazelcastInstance.getList("bar");
- list.clear();
+ protected void verifyHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ verify(hazelcastInstance, atLeastOnce()).getList("bar");
+ }
+
+ @After
+ public final void verifyListMock() {
+ verifyNoMoreInteractions(list);
}
@Test
public void addValue() throws InterruptedException {
template.sendBody("direct:add", "bar");
- assertTrue(list.contains("bar"));
+ verify(list).add("bar");
}
@Test
public void removeValue() throws InterruptedException {
- list.add("foo1");
- list.add("foo2");
- list.add("foo3");
-
- assertEquals(3, list.size());
-
- // specify the value to remove
template.sendBody("direct:removevalue", "foo2");
-
- assertEquals(2, list.size());
- assertTrue(list.contains("foo1") && list.contains("foo3"));
+ verify(list).remove("foo2");
}
@Test
public void getValueWithIdx() {
- list.add("foo1");
- list.add("foo2");
-
- assertEquals(2, list.size());
-
+ when(list.get(1)).thenReturn("foo2");
template.sendBodyAndHeader("direct:get", "test", HazelcastConstants.OBJECT_POS, 1);
-
+ verify(list).get(1);
assertEquals("foo2", consumer.receiveBody("seda:out", 5000, String.class));
-
}
@Test
public void setValueWithIdx() {
- list.add("foo1");
- list.add("foo2");
-
- assertEquals(2, list.size());
-
template.sendBodyAndHeader("direct:set", "test", HazelcastConstants.OBJECT_POS, 1);
-
- assertEquals(2, list.size());
- assertEquals("test", list.get(1));
-
+ verify(list).set(1, "test");
}
@Test
public void removeValueWithIdx() {
- list.add("foo1");
- list.add("foo2");
-
- assertEquals(2, list.size());
-
- // do not specify the value to delete, but the index
template.sendBodyAndHeader("direct:removevalue", null, HazelcastConstants.OBJECT_POS, 1);
-
- assertEquals(1, list.size());
- assertEquals("foo1", list.get(0));
+ verify(list).remove(1);
}
@Test
public void removeValueWithoutIdx() {
- list.add("foo1");
- list.add("foo2");
-
- assertEquals(2, list.size());
-
- // do not specify the index to delete, but the value
template.sendBody("direct:removevalue", "foo1");
-
- assertEquals(1, list.size());
- assertEquals("foo2", list.get(0));
+ verify(list).remove("foo1");
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/67aa3b3a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java
index 8c5ccfe..669a38d 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java
@@ -17,87 +17,82 @@
package org.apache.camel.component.hazelcast;
import java.io.Serializable;
+import java.util.Arrays;
import java.util.Collection;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.IMap;
+import com.hazelcast.query.SqlPredicate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.hazelcast.testutil.Dummy;
-import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.After;
import org.junit.Test;
+import org.mockito.Mock;
-public class HazelcastMapProducerTest extends CamelTestSupport implements Serializable {
+import static org.mockito.Mockito.*;
- private static final long serialVersionUID = 1L;
+public class HazelcastMapProducerTest extends HazelcastCamelTestSupport implements Serializable {
+
+ @Mock
private IMap<Object, Object> map;
@Override
- protected void doPostSetup() throws Exception {
- HazelcastComponent component = context().getComponent("hazelcast", HazelcastComponent.class);
- HazelcastInstance hazelcastInstance = component.getHazelcastInstance();
- map = hazelcastInstance.getMap("foo");
- map.clear();
+ protected void trainHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ when(hazelcastInstance.getMap("foo")).thenReturn(map);
+ }
+
+ @Override
+ protected void verifyHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ verify(hazelcastInstance, atLeastOnce()).getMap("foo");
+ }
+
+ @After
+ public void verifyMapMock() {
+ verifyNoMoreInteractions(map);
}
@Test
public void testPut() throws InterruptedException {
template.sendBodyAndHeader("direct:put", "my-foo", HazelcastConstants.OBJECT_ID, "4711");
-
- assertTrue(map.containsKey("4711"));
- assertEquals("my-foo", map.get("4711"));
+ verify(map).put("4711", "my-foo");
}
@Test
public void testUpdate() {
- template.sendBodyAndHeader("direct:put", "my-foo", HazelcastConstants.OBJECT_ID, "4711");
-
- assertTrue(map.containsKey("4711"));
- assertEquals("my-foo", map.get("4711"));
-
template.sendBodyAndHeader("direct:update", "my-fooo", HazelcastConstants.OBJECT_ID, "4711");
- assertEquals("my-fooo", map.get("4711"));
+ verify(map).lock("4711");
+ verify(map).replace("4711", "my-fooo");
+ verify(map).unlock("4711");
}
@Test
public void testGet() {
- map.put("4711", "my-foo");
-
+ when(map.get("4711")).thenReturn("my-foo");
template.sendBodyAndHeader("direct:get", null, HazelcastConstants.OBJECT_ID, "4711");
String body = consumer.receiveBody("seda:out", 5000, String.class);
-
+ verify(map).get("4711");
assertEquals("my-foo", body);
}
@Test
public void testDelete() {
- map.put(4711, "my-foo");
- assertEquals(1, map.size());
-
template.sendBodyAndHeader("direct:delete", null, HazelcastConstants.OBJECT_ID, 4711);
- assertEquals(0, map.size());
+ verify(map).remove(4711);
}
@Test
public void testQuery() {
- map.put("1", new Dummy("alpha", 1000));
- map.put("2", new Dummy("beta", 2000));
- map.put("3", new Dummy("gamma", 3000));
+ String sql = "bar > 1000";
- String q1 = "bar > 1000";
- String q2 = "foo LIKE alp%";
+ when(map.values(any(SqlPredicate.class))).thenReturn(Arrays.<Object>asList(new Dummy("beta", 2000), new Dummy("gamma", 3000)));
+ template.sendBodyAndHeader("direct:query", null, HazelcastConstants.QUERY, sql);
+ verify(map).values(any(SqlPredicate.class));
- template.sendBodyAndHeader("direct:query", null, HazelcastConstants.QUERY, q1);
Collection<?> b1 = consumer.receiveBody("seda:out", 5000, Collection.class);
assertNotNull(b1);
assertEquals(2, b1.size());
-
- template.sendBodyAndHeader("direct:query", null, HazelcastConstants.QUERY, q2);
- Collection<?> b2 = consumer.receiveBody("seda:out", 5000, Collection.class);
-
- assertNotNull(b2);
- assertEquals(1, b2.size());
}
@Override
@@ -121,6 +116,4 @@ public class HazelcastMapProducerTest extends CamelTestSupport implements Serial
}
};
}
-
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/67aa3b3a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
index 8a4a742..3467c4b 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.hazelcast;
+import java.util.Arrays;
import java.util.Collection;
import com.hazelcast.core.Hazelcast;
@@ -23,69 +24,56 @@ import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.MultiMap;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.AfterClass;
+import org.junit.After;
import org.junit.Test;
+import org.mockito.Mock;
+import static org.mockito.Mockito.*;
-public class HazelcastMultimapProducerTest extends CamelTestSupport {
+public class HazelcastMultimapProducerTest extends HazelcastCamelTestSupport {
+ @Mock
private MultiMap<Object, Object> map;
@Override
- protected void doPostSetup() throws Exception {
- HazelcastComponent component = context().getComponent("hazelcast", HazelcastComponent.class);
- HazelcastInstance hazelcastInstance = component.getHazelcastInstance();
- this.map = hazelcastInstance.getMultiMap("bar");
- this.map.clear();
+ protected void trainHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ when(hazelcastInstance.getMultiMap("bar")).thenReturn(map);
}
- @AfterClass
- public static void tearDownClass() {
- Hazelcast.shutdownAll();
+ @Override
+ protected void verifyHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ verify(hazelcastInstance, atLeastOnce()).getMultiMap("bar");
+ }
+
+ @After
+ public void verifyMapMock() {
+ verifyNoMoreInteractions(map);
}
@Test
public void testPut() throws InterruptedException {
template.sendBodyAndHeader("direct:put", "my-foo", HazelcastConstants.OBJECT_ID, "4711");
- template.sendBodyAndHeader("direct:put", "my-bar", HazelcastConstants.OBJECT_ID, "4711");
-
- assertTrue(map.containsKey("4711"));
- Collection<Object> values = map.get("4711");
-
- assertTrue(values.contains("my-foo"));
- assertTrue(values.contains("my-bar"));
+ verify(map).put("4711", "my-foo");
}
@Test
public void testRemoveValue() {
- map.put("4711", "my-foo");
- map.put("4711", "my-bar");
-
- assertEquals(2, map.get("4711").size());
-
template.sendBodyAndHeader("direct:removevalue", "my-foo", HazelcastConstants.OBJECT_ID, "4711");
-
- assertEquals(1, map.get("4711").size());
- assertTrue(map.get("4711").contains("my-bar"));
+ verify(map).remove("4711", "my-foo");
}
@Test
public void testGet() {
- map.put("4711", "my-foo");
-
+ when(map.get("4711")).thenReturn(Arrays.<Object>asList("my-foo"));
template.sendBodyAndHeader("direct:get", null, HazelcastConstants.OBJECT_ID, "4711");
+ verify(map).get("4711");
Collection<?> body = consumer.receiveBody("seda:out", 5000, Collection.class);
-
assertTrue(body.contains("my-foo"));
}
@Test
public void testDelete() {
- map.put(4711, "my-foo");
- assertEquals(1, map.size());
-
template.sendBodyAndHeader("direct:delete", null, HazelcastConstants.OBJECT_ID, 4711);
- assertEquals(0, map.size());
+ verify(map).remove(4711);
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/67aa3b3a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastQueueProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastQueueProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastQueueProducerTest.java
index 087729d..8877281 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastQueueProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastQueueProducerTest.java
@@ -16,114 +16,85 @@
*/
package org.apache.camel.component.hazelcast;
-import java.util.concurrent.BlockingQueue;
-
-import com.hazelcast.core.Hazelcast;
-
import com.hazelcast.core.HazelcastInstance;
+import com.hazelcast.core.IQueue;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.AfterClass;
+import org.junit.After;
import org.junit.Test;
+import org.mockito.Mock;
-public class HazelcastQueueProducerTest extends CamelTestSupport {
+import static org.mockito.Mockito.*;
- private BlockingQueue<String> queue;
+public class HazelcastQueueProducerTest extends HazelcastCamelTestSupport {
+
+ @Mock
+ private IQueue<String> queue;
@Override
- protected void doPostSetup() throws Exception {
- HazelcastComponent component = context().getComponent("hazelcast", HazelcastComponent.class);
- HazelcastInstance hazelcastInstance = component.getHazelcastInstance();
- queue = hazelcastInstance.getQueue("bar");
- queue.clear();
+ protected void trainHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ when(hazelcastInstance.<String>getQueue("bar")).thenReturn(queue);
}
- @AfterClass
- public static void tearDownClass() {
- Hazelcast.shutdownAll();
+ @Override
+ protected void verifyHazelcastInstance(HazelcastInstance hazelcastInstance) {
+ verify(hazelcastInstance, atLeastOnce()).getQueue("bar");
+ }
+
+ @After
+ public void verifyQueueMock() {
+ verifyNoMoreInteractions(queue);
}
@Test
public void put() throws InterruptedException {
template.sendBody("direct:put", "foo");
-
- assertTrue(queue.contains("foo"));
-
- queue.clear();
+ verify(queue).put("foo");
}
@Test
- public void noOperation() throws InterruptedException {
+ public void noOperation() {
template.sendBody("direct:no-operation", "bar");
-
- assertTrue(queue.contains("bar"));
-
- queue.clear();
+ verify(queue).add("bar");
}
@Test
- public void add() throws InterruptedException {
+ public void add() {
template.sendBody("direct:add", "bar");
-
- assertTrue(queue.contains("bar"));
-
- queue.clear();
+ verify(queue).add("bar");
}
@Test
- public void offer() throws InterruptedException {
+ public void offer() {
template.sendBody("direct:offer", "foobar");
- assertTrue(queue.contains("foobar"));
-
- queue.clear();
+ verify(queue).offer("foobar");
}
@Test
- public void removeValue() throws InterruptedException {
- queue.put("foo1");
- queue.put("foo2");
- queue.put("foo3");
-
- assertEquals(3, queue.size());
-
- // specify the value to remove
+ public void removeSpecifiedValue() throws InterruptedException {
template.sendBody("direct:removevalue", "foo2");
- assertEquals(2, queue.size());
- assertTrue(queue.contains("foo1") && queue.contains("foo3"));
+ verify(queue).remove("foo2");
+ }
- // do not specify the value to delete (null)
+ @Test
+ public void removeValue() {
template.sendBody("direct:removevalue", null);
- assertEquals(1, queue.size());
-
- assertTrue(queue.contains("foo3"));
-
- queue.clear();
+ verify(queue).remove();
}
@Test
public void poll() throws InterruptedException {
- queue.put("foo");
- assertEquals(1, queue.size());
-
- template.sendBody("direct:poll", null);
-
- assertFalse(queue.contains("foo"));
- assertEquals(0, queue.size());
-
- queue.clear();
+ when(queue.poll()).thenReturn("foo");
+ String answer = template.requestBody("direct:poll", null, String.class);
+ verify(queue).poll();
+ assertEquals("foo", answer);
}
@Test
public void peek() throws InterruptedException {
- queue.put("foo");
- assertEquals(1, queue.size());
-
- template.sendBody("direct:peek", null);
-
- assertEquals(1, queue.size());
- assertTrue(queue.contains("foo"));
-
- queue.clear();
+ when(queue.peek()).thenReturn("foo");
+ String answer = template.requestBody("direct:peek", null, String.class);
+ verify(queue).peek();
+ assertEquals("foo", answer);
}
@Override