Author: ningjiang
Date: Fri Dec 10 01:55:20 2010
New Revision: 1044194
URL: http://svn.apache.org/viewvc?rev=1044194&view=rev
Log:
CAMEL-3421 Added more test into camel-irc
Added:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
(with props)
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
(with props)
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
(with props)
Added:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java?rev=1044194&view=auto
==============================================================================
---
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
(added)
+++
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
Fri Dec 10 01:55:20 2010
@@ -0,0 +1,81 @@
+/**
+ * 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.irc;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.camel.Processor;
+import org.junit.Before;
+import org.junit.Test;
+import org.schwering.irc.lib.IRCConnection;
+import org.schwering.irc.lib.IRCEventAdapter;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class IrcConsumerTest {
+
+ private IRCConnection connection;
+ private Processor processor;
+ private IrcEndpoint endpoint;
+ private IrcConfiguration configuration;
+ private IrcConsumer consumer;
+ private IRCEventAdapter listener;
+
+ @Before
+ public void doSetup() {
+ connection = mock(IRCConnection.class);
+ endpoint = mock(IrcEndpoint.class);
+ processor = mock(Processor.class);
+ configuration = mock(IrcConfiguration.class);
+ listener = mock(IRCEventAdapter.class);
+
+ List<String> channels = new ArrayList<String>();
+ List<String> keys = new ArrayList<String>();
+
+ channels.add("chan1");
+ channels.add("chan2");
+
+ keys.add("");
+ keys.add("chan2key");
+
+ when(configuration.getChannels()).thenReturn(channels);
+
+ when(endpoint.getConfiguration()).thenReturn(configuration);
+
+ consumer = new IrcConsumer(endpoint, processor, connection);
+ consumer.setListener(listener);
+ }
+
+ @Test
+ public void doStopTest() throws Exception {
+ consumer.doStop();
+ verify(connection).doPart("chan1");
+ verify(connection).doPart("chan2");
+ verify(connection).removeIRCEventListener(listener);
+ }
+
+ @Test
+ public void doStartTest() throws Exception {
+ consumer.doStart();
+
+ verify(connection).addIRCEventListener(listener);
+ verify(endpoint).joinChannels();
+ }
+}
Propchange:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConsumerTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java?rev=1044194&view=auto
==============================================================================
---
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
(added)
+++
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
Fri Dec 10 01:55:20 2010
@@ -0,0 +1,100 @@
+/**
+ * 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.irc;
+
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.schwering.irc.lib.IRCConnection;
+import org.schwering.irc.lib.IRCEventAdapter;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class IrcEndpointTest {
+
+ private IrcComponent component;
+ private IrcConfiguration configuration;
+ private IRCConnection connection;
+ private IrcEndpoint endpoint;
+
+ @Before
+ public void doSetup() {
+ component = mock(IrcComponent.class);
+ configuration = mock(IrcConfiguration.class);
+ connection = mock(IRCConnection.class);
+
+ List<String> channels = new ArrayList<String>();
+ Dictionary<String, String> keys = new Hashtable<String, String>();
+
+ channels.add("chan1");
+ channels.add("chan2");
+
+ keys.put("chan1", "");
+ keys.put("chan2", "chan2key");
+
+ when(configuration.getChannels()).thenReturn(channels);
+ when(configuration.getKey("chan1")).thenReturn("");
+ when(configuration.getKey("chan2")).thenReturn("chan2key");
+
+
+ when(component.getIRCConnection(configuration)).thenReturn(connection);
+
+
+ endpoint = new IrcEndpoint("foo", component, configuration);
+ }
+
+ @Test
+ public void doJoinChannelTestNoKey() throws Exception {
+ endpoint.joinChannel("chan1");
+ verify(connection).doJoin("chan1");
+ }
+
+ @Test
+ public void doJoinChannelTestKey() throws Exception {
+ endpoint.joinChannel("chan2");
+ verify(connection).doJoin("chan2", "chan2key");
+ }
+
+ @Test
+ public void doJoinChannels() throws Exception {
+ endpoint.joinChannels();
+ verify(connection).doJoin("chan1");
+ verify(connection).doJoin("chan2", "chan2key");
+ }
+
+
+ @Test
+ public void doHandleIrcErrorNickInUse() throws Exception {
+ when(connection.getNick()).thenReturn("nick");
+
+ endpoint.handleIrcError(IRCEventAdapter.ERR_NICKNAMEINUSE, "foo");
+
+ verify(connection).doNick("nick-");
+
+ when(connection.getNick()).thenReturn("nick---");
+
+ // confirm doNick was not called
+ verify(connection, never()).doNick("foo");
+ }
+}
Propchange:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java?rev=1044194&view=auto
==============================================================================
---
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
(added)
+++
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
Fri Dec 10 01:55:20 2010
@@ -0,0 +1,123 @@
+/**
+ * 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.irc;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.Processor;
+import org.apache.camel.RuntimeCamelException;
+import org.junit.Before;
+import org.junit.Test;
+import org.schwering.irc.lib.IRCConnection;
+import org.schwering.irc.lib.IRCEventAdapter;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class IrcProducerTest {
+
+ private IRCConnection connection;
+ private Processor processor;
+ private IrcEndpoint endpoint;
+ private IrcConfiguration configuration;
+ private IrcProducer producer;
+ private IRCEventAdapter listener;
+ private Exchange exchange;
+ private Message message;
+
+ @Before
+ public void doSetup() {
+ connection = mock(IRCConnection.class);
+ endpoint = mock(IrcEndpoint.class);
+ processor = mock(Processor.class);
+ configuration = mock(IrcConfiguration.class);
+ listener = mock(IRCEventAdapter.class);
+ exchange = mock(Exchange.class);
+ message = mock(Message.class);
+
+ List<String> channels = new ArrayList<String>();
+ List<String> keys = new ArrayList<String>();
+
+ channels.add("chan1");
+ channels.add("chan2");
+
+ keys.add("");
+ keys.add("chan2key");
+
+ when(configuration.getChannels()).thenReturn(channels);
+
+ when(endpoint.getConfiguration()).thenReturn(configuration);
+
+ producer = new IrcProducer(endpoint, connection);
+ producer.setListener(listener);
+ }
+
+ @Test
+ public void doStopTest() throws Exception {
+ producer.doStop();
+ verify(connection).doPart("chan1");
+ verify(connection).doPart("chan2");
+ verify(connection).removeIRCEventListener(listener);
+ }
+
+ @Test
+ public void doStartTest() throws Exception {
+ producer.doStart();
+
+ verify(connection).addIRCEventListener(listener);
+ verify(endpoint).joinChannels();
+ }
+
+ @Test
+ public void processTest() throws Exception {
+
+ when(connection.isConnected()).thenReturn(true);
+ when(exchange.getIn()).thenReturn(message);
+ when(message.getBody(String.class)).thenReturn("PART foo");
+ when(message.getHeader(IrcConstants.IRC_TARGET,
String.class)).thenReturn("bottest");
+
+ producer.process(exchange);
+ verify(connection).send("PART foo");
+
+ when(message.getBody(String.class)).thenReturn("foo");
+
+ producer.process(exchange);
+ verify(connection).doPrivmsg("bottest", "foo");
+
+ when(message.getHeader(IrcConstants.IRC_TARGET,
String.class)).thenReturn(null);
+
+ producer.process(exchange);
+ verify(connection).doPrivmsg("chan1", "foo");
+ verify(connection).doPrivmsg("chan2", "foo");
+ }
+
+ @Test (expected = RuntimeCamelException.class)
+ public void processTestException() throws Exception {
+
+ when(exchange.getIn()).thenReturn(message);
+ when(message.getBody(String.class)).thenReturn("PART foo");
+ when(message.getHeader(IrcConstants.IRC_TARGET,
String.class)).thenReturn("bottest");
+
+ when(connection.isConnected()).thenReturn(false);
+
+ producer.process(exchange);
+ }
+}
Propchange:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date