Author: dkulp
Date: Tue May 8 01:11:31 2012
New Revision: 1335319
URL: http://svn.apache.org/viewvc?rev=1335319&view=rev
Log:
Use JDK proxies to mock the things so it will build on Java7
Removed:
camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/StatusMock.java
camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterMock.java
camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/mocks/TwitterStreamMock.java
Modified:
camel/trunk/components/camel-twitter/pom.xml
camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchEventTest.java
Modified: camel/trunk/components/camel-twitter/pom.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/pom.xml?rev=1335319&r1=1335318&r2=1335319&view=diff
==============================================================================
--- camel/trunk/components/camel-twitter/pom.xml (original)
+++ camel/trunk/components/camel-twitter/pom.xml Tue May 8 01:11:31 2012
@@ -66,6 +66,12 @@
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
Modified:
camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchEventTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchEventTest.java?rev=1335319&r1=1335318&r2=1335319&view=diff
==============================================================================
---
camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchEventTest.java
(original)
+++
camel/trunk/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/SearchEventTest.java
Tue May 8 01:11:31 2012
@@ -16,25 +16,37 @@
*/
package org.apache.camel.component.twitter;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+
import org.apache.camel.EndpointInject;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.twitter.mocks.TwitterStreamMock;
import org.apache.camel.impl.JndiRegistry;
import org.junit.Test;
+import twitter4j.Status;
+import twitter4j.StatusListener;
+import twitter4j.TwitterStream;
+
public class SearchEventTest extends CamelTwitterTestSupport {
@EndpointInject(uri = "mock:result")
protected MockEndpoint resultEndpoint;
- private TwitterStreamMock twitterStream;
+ private TwitterStream twitterStream;
+ private StatusListener listener;
@Test
public void testSearchTimeline() throws Exception {
resultEndpoint.expectedMinimumMessageCount(1);
+ Status status =
(Status)Proxy.newProxyInstance(getClass().getClassLoader(),
+ new Class[]
{Status.class},
+ new
TwitterHandler());
- twitterStream.updateStatus("#cameltest tweet");
+ listener.onStatus(status);
+ //"#cameltest tweet");
resultEndpoint.assertIsSatisfied();
}
@@ -49,9 +61,29 @@ public class SearchEventTest extends Cam
@Override
protected JndiRegistry createRegistry() throws Exception {
- twitterStream = new TwitterStreamMock();
+ twitterStream =
(TwitterStream)Proxy.newProxyInstance(getClass().getClassLoader(),
+ new Class[]
{TwitterStream.class},
+ new TwitterHandler());
JndiRegistry registry = super.createRegistry();
registry.bind("twitterStream", twitterStream);
return registry;
}
+
+ public class TwitterHandler implements InvocationHandler {
+ public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
+ //mock some methods
+ if ("addListener".equals(method.getName())) {
+ listener = (StatusListener)args[0];
+ } else if ("toString".equals(method.getName())) {
+ return this.toString();
+ } else if ("getText".equals(method.getName())) {
+ return "#cameltest tweet";
+ } else if ("getUser".equals(method.getName())) {
+ return Proxy.newProxyInstance(getClass().getClassLoader(),
+ new Class[]
{twitter4j.User.class},
+ new TwitterHandler());
+ }
+ return null;
+ }
+ }
}