package com.jointhegrid.ironcount; import com.jointhegrid.ironcount.manager.Workload; import com.jointhegrid.ironcount.manager.WorkloadManager; import java.util.HashMap; import java.util.Properties; import kafka.javaapi.producer.ProducerData; import org.junit.Assert; import org.junit.Test; public class HandlerExceptionIntegrationTest extends IronIntegrationTest { @Test public void disableWorkload() { Workload w = new Workload(); w.active = true; w.consumerGroup = "group1"; w.maxWorkers = 4; w.messageHandlerName = "com.jointhegrid.ironcount.HeartAttachHandler"; w.name = "testworkload"; w.properties = new HashMap<String, String>(); w.topic = topic; w.zkConnect = "localhost:8888"; Properties p = new Properties(); p.put(WorkloadManager.ZK_SERVER_LIST, "localhost:8888"); HeartAttachHandler h = new HeartAttachHandler(); WorkloadManager m = new WorkloadManager(p); m.init(); WorkloadManager m2 = new WorkloadManager(p); m2.init(); producer.send(new ProducerData<Integer, String>(topic, "1")); producer.send(new ProducerData<Integer, String>(topic, "2")); m.applyWorkload(w); try { Thread.sleep(8000); } catch (InterruptedException ex) { } Assert.assertEquals(1, m.getWorkerThreads().size()); Assert.assertEquals(1, m2.getWorkerThreads().size()); producer.send(new ProducerData<Integer, String>(topic, "3")); producer.send(new ProducerData<Integer, String>(topic, "4")); producer.send(new ProducerData<Integer, String>(topic, "5")); producer.send(new ProducerData<Integer, String>(topic, "6")); producer.send(new ProducerData<Integer, String>(topic, "7")); producer.send(new ProducerData<Integer, String>(topic, "8")); producer.send(new ProducerData<Integer, String>(topic, "9")); producer.send(new ProducerData<Integer, String>(topic, "10")); producer.send(new ProducerData<Integer, String>(topic, "11")); try { Thread.sleep(12000); } catch (InterruptedException ex) { } Assert.assertEquals(11, h.messageCount.get()); } }