You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by da...@apache.org on 2009/04/16 12:04:25 UTC
svn commit: r765553 - in
/cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src:
main/java/org/apache/cxf/dosgi/discovery/zookeeper/
test/java/org/apache/cxf/dosgi/discovery/zookeeper/
Author: davidb
Date: Thu Apr 16 10:04:25 2009
New Revision: 765553
URL: http://svn.apache.org/viewvc?rev=765553&view=rev
Log:
Test for the Discovery Bean class.
Modified:
cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/main/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBean.java
cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DataMonitorTest.java
cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBeanTest.java
cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/FindInZooKeeperCustomizerTest.java
Modified: cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/main/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBean.java
URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/main/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBean.java?rev=765553&r1=765552&r2=765553&view=diff
==============================================================================
--- cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/main/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBean.java (original)
+++ cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/main/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBean.java Thu Apr 16 10:04:25 2009
@@ -18,6 +18,8 @@
*/
package org.apache.cxf.dosgi.discovery.zookeeper;
+import java.io.IOException;
+
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
@@ -32,11 +34,10 @@
public class DiscoveryBean implements BundleContextAware, InitializingBean, DisposableBean, Watcher {
private BundleContext bundleContext;
private DiscoveryServiceImpl discoveryService;
- private ZooKeeper zooKeeper;
- private FindInZooKeeperCustomizer finderCustomizer;
- private ServiceTracker lookupTracker;
- private ServiceTracker publicationTracker;
+ ServiceTracker lookupTracker;
+ ServiceTracker publicationTracker;
+ ZooKeeper zooKeeper;
public void setBundleContext(BundleContext bc) {
bundleContext = bc;
@@ -49,18 +50,21 @@
public void afterPropertiesSet() throws Exception {
String hostPort = discoveryService.getZooKeeperHost() + ":" +
discoveryService.getZooKeeperPort();
- zooKeeper = new ZooKeeper(hostPort, discoveryService.getZooKeeperTimeout(), this);
+ zooKeeper = createZooKeeper(hostPort);
publicationTracker = new ServiceTracker(bundleContext, ServicePublication.class.getName(),
new PublishToZooKeeperCustomizer(bundleContext, zooKeeper));
publicationTracker.open();
- finderCustomizer = new FindInZooKeeperCustomizer(bundleContext, zooKeeper);
lookupTracker = new ServiceTracker(bundleContext, DiscoveredServiceTracker.class.getName(),
- finderCustomizer);
+ new FindInZooKeeperCustomizer(bundleContext, zooKeeper));
lookupTracker.open();
}
+ ZooKeeper createZooKeeper(String hostPort) throws IOException {
+ return new ZooKeeper(hostPort, discoveryService.getZooKeeperTimeout(), this);
+ }
+
public void destroy() throws Exception {
lookupTracker.close();
publicationTracker.close();
Modified: cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DataMonitorTest.java
URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DataMonitorTest.java?rev=765553&r1=765552&r2=765553&view=diff
==============================================================================
--- cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DataMonitorTest.java (original)
+++ cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DataMonitorTest.java Thu Apr 16 10:04:25 2009
@@ -28,7 +28,6 @@
import junit.framework.TestCase;
-import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.AsyncCallback.StatCallback;
import org.apache.zookeeper.KeeperException.Code;
Modified: cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBeanTest.java
URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBeanTest.java?rev=765553&r1=765552&r2=765553&view=diff
==============================================================================
--- cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBeanTest.java (original)
+++ cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/DiscoveryBeanTest.java Thu Apr 16 10:04:25 2009
@@ -18,8 +18,84 @@
*/
package org.apache.cxf.dosgi.discovery.zookeeper;
+import java.io.IOException;
+
import junit.framework.TestCase;
+import org.apache.zookeeper.ZooKeeper;
+import org.easymock.classextension.EasyMock;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.discovery.DiscoveredServiceTracker;
+import org.osgi.service.discovery.ServicePublication;
+import org.osgi.util.tracker.ServiceTracker;
+
public class DiscoveryBeanTest extends TestCase {
- public void testTodo() {}
+ public void testDiscoveryBean() throws Exception {
+ final StringBuilder sb = new StringBuilder();
+ DiscoveryBean db = new DiscoveryBean() {
+ @Override
+ ZooKeeper createZooKeeper(String hostPort) throws IOException {
+ sb.append(hostPort);
+ ZooKeeper zk = EasyMock.createMock(ZooKeeper.class);
+ EasyMock.replay(zk);
+ return zk;
+ }
+ };
+
+ DiscoveryServiceImpl ds = new DiscoveryServiceImpl();
+ ds.setZooKeeperHost("myhost.mymachine.mytld");
+ ds.setZooKeeperPort(1234);
+ db.setDiscoveryServiceBean(ds);
+
+ BundleContext bc = EasyMock.createMock(BundleContext.class);
+ expectServiceTrackerCalls(bc, ServicePublication.class.getName());
+ expectServiceTrackerCalls(bc, DiscoveredServiceTracker.class.getName());
+ EasyMock.replay(bc);
+ db.setBundleContext(bc);
+
+ assertNull("Precondition failed", db.lookupTracker);
+ assertNull("Precondition failed", db.publicationTracker);
+ db.afterPropertiesSet();
+ assertNotNull(db.lookupTracker);
+ assertNotNull(db.publicationTracker);
+ EasyMock.verify(bc);
+
+ EasyMock.verify(db.zooKeeper);
+ EasyMock.reset(db.zooKeeper);
+ db.zooKeeper.close();
+ EasyMock.expectLastCall();
+ EasyMock.replay(db.zooKeeper);
+
+ ServiceTracker st1 = EasyMock.createMock(ServiceTracker.class);
+ st1.close();
+ EasyMock.expectLastCall();
+ EasyMock.replay(st1);
+ ServiceTracker st2 = EasyMock.createMock(ServiceTracker.class);
+ st2.close();
+ EasyMock.expectLastCall();
+ EasyMock.replay(st2);
+
+ db.lookupTracker = st1;
+ db.publicationTracker = st2;
+
+ db.destroy();
+ }
+
+ private void expectServiceTrackerCalls(BundleContext bc, String objectClass)
+ throws InvalidSyntaxException {
+ Filter filter = EasyMock.createNiceMock(Filter.class);
+ EasyMock.replay(filter);
+
+ EasyMock.expect(bc.createFilter("(objectClass=" + objectClass + ")"))
+ .andReturn(filter).anyTimes();
+ bc.addServiceListener((ServiceListener) EasyMock.anyObject(),
+ EasyMock.eq("(objectClass=" + objectClass + ")"));
+ EasyMock.expectLastCall().anyTimes();
+ EasyMock.expect(bc.getServiceReferences(objectClass, null))
+ .andReturn(new ServiceReference [0]).anyTimes();
+ }
}
Modified: cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/FindInZooKeeperCustomizerTest.java
URL: http://svn.apache.org/viewvc/cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/FindInZooKeeperCustomizerTest.java?rev=765553&r1=765552&r2=765553&view=diff
==============================================================================
--- cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/FindInZooKeeperCustomizerTest.java (original)
+++ cxf/dosgi/trunk/discovery/distributed/cxf-discovery/src/test/java/org/apache/cxf/dosgi/discovery/zookeeper/FindInZooKeeperCustomizerTest.java Thu Apr 16 10:04:25 2009
@@ -19,7 +19,6 @@
package org.apache.cxf.dosgi.discovery.zookeeper;
import java.util.Collections;
-import java.util.Map;
import junit.framework.TestCase;