@AfterMethod public void tearDown() { // 删除mainStem节点 String path = StagePathUtils.getPipeline(pipelineId) + "/" + ArbitrateConstants.NODE_MAINSTEM; zookeeper.delete(path); nodeEvent.destory(one.getId()); // 关闭pipeline pipelineEvent.destory(channelId, pipelineId); channelEvent.destory(channelId); }
@BeforeClass public void init() { // 初始化节点 // mock 配置信息数据 local.setStatus(NodeStatus.START); Mockit.setUpMock( ArbitrateConfigUtils.class, new Object() { @SuppressWarnings("unused") @Mock public Channel getChannelByChannelId(Long channelId) { Channel channel = new Channel(); channel.setId(channelId); Pipeline pipeline = new Pipeline(); pipeline.setId(pipelineId); pipeline.setSelectNodes(Arrays.asList(local)); pipeline.setExtractNodes(Arrays.asList(local)); pipeline.setLoadNodes(Arrays.asList(local)); channel.setPipelines(Arrays.asList(pipeline)); return channel; } @SuppressWarnings("unused") @Mock public Channel getChannel(Long pipelineId) { Channel channel = new Channel(); channel.setId(channelId); Pipeline pipeline = new Pipeline(); pipeline.setId(pipelineId); pipeline.setSelectNodes(Arrays.asList(local)); pipeline.setExtractNodes(Arrays.asList(local)); pipeline.setLoadNodes(Arrays.asList(local)); channel.setPipelines(Arrays.asList(pipeline)); return channel; } @SuppressWarnings("unused") @Mock public Pipeline getPipeline(Long pipelineId) { Pipeline pipeline = new Pipeline(); pipeline.setSelectNodes(Arrays.asList(local)); pipeline.setExtractNodes(Arrays.asList(local)); pipeline.setLoadNodes(Arrays.asList(local)); return pipeline; } @SuppressWarnings("unused") @Mock public Pipeline getOppositePipeline(Long pipelineId) { return null; // 没有反向同步 } @SuppressWarnings("unused") @Mock public Long getCurrentNid() { return nid; } @SuppressWarnings("unused") @Mock public int getParallelism(Long pipelineId) { return 3; // 并行度 } }); Mockit.setUpMock( ArbitrateCommmunicationClient.class, new Object() { @SuppressWarnings("unused") @Mock public Object callManager(final Event event) { // do nothing return null; } @SuppressWarnings("unused") @Mock public void callManager(final Event event, final Callback callback) { // do nothing } }); zookeeper = getZookeeper(); local.setId(nid); nodeEvent = new NodeArbitrateEvent(); channelEvent = new ChannelArbitrateEvent(); pipelineEvent = new PipelineArbitrateEvent(); pipelinePath = StagePathUtils.getPipeline(channelId, pipelineId); processPath = StagePathUtils.getProcessRoot(channelId, pipelineId); channelEvent.init(channelId); pipelineEvent.init(channelId, pipelineId); channelEvent.start(channelId); String path = pipelinePath + "/" + ArbitrateConstants.NODE_MAINSTEM; MainStemEventData eventData = new MainStemEventData(); eventData.setStatus(MainStemEventData.Status.OVERTAKE); eventData.setNid(nid); byte[] bytes = JsonUtils.marshalToByte(eventData); // 初始化的数据对象 zookeeper.create(path, bytes, CreateMode.EPHEMERAL); }