Search in sources :

Example 1 with Group

use of com.twitter.common.zookeeper.Group in project commons by twitter.

the class ServerSetImplTest method testUnwatchOnException.

@Test
public void testUnwatchOnException() throws Exception {
    IMocksControl control = createControl();
    ZooKeeperClient zkClient = control.createMock(ZooKeeperClient.class);
    Watcher onExpirationWatcher = control.createMock(Watcher.class);
    expect(zkClient.registerExpirationHandler(anyObject(Command.class))).andReturn(onExpirationWatcher);
    expect(zkClient.get()).andThrow(new InterruptedException());
    expect(zkClient.unregister(onExpirationWatcher)).andReturn(true);
    control.replay();
    Group group = new Group(zkClient, ZooDefs.Ids.OPEN_ACL_UNSAFE, "/blabla");
    ServerSetImpl serverset = new ServerSetImpl(zkClient, group);
    try {
        serverset.watch(new DynamicHostSet.HostChangeMonitor<ServiceInstance>() {

            @Override
            public void onChange(ImmutableSet<ServiceInstance> hostSet) {
            }
        });
        fail("Expected MonitorException");
    } catch (DynamicHostSet.MonitorException e) {
    // expected
    }
    control.verify();
}
Also used : Group(com.twitter.common.zookeeper.Group) Watcher(org.apache.zookeeper.Watcher) ServiceInstance(com.twitter.thrift.ServiceInstance) DynamicHostSet(com.twitter.common.net.pool.DynamicHostSet) IMocksControl(org.easymock.IMocksControl) ZooKeeperClient(com.twitter.common.zookeeper.ZooKeeperClient) Command(com.twitter.common.base.Command) Override(java.lang.Override) BaseZooKeeperTest(com.twitter.common.zookeeper.testing.BaseZooKeeperTest) Test(org.junit.Test)

Aggregations

Command (com.twitter.common.base.Command)1 DynamicHostSet (com.twitter.common.net.pool.DynamicHostSet)1 Group (com.twitter.common.zookeeper.Group)1 ZooKeeperClient (com.twitter.common.zookeeper.ZooKeeperClient)1 BaseZooKeeperTest (com.twitter.common.zookeeper.testing.BaseZooKeeperTest)1 ServiceInstance (com.twitter.thrift.ServiceInstance)1 Override (java.lang.Override)1 Watcher (org.apache.zookeeper.Watcher)1 IMocksControl (org.easymock.IMocksControl)1 Test (org.junit.Test)1