use of io.nuls.message.bus.manager.DispatchManager in project nuls by nuls-io.
the class MessageBusServiceImplTest method subscribeMessage.
/**
* 验证订阅后的返回值
* 验证订阅后handlerMap中的值
* 验证订阅后messageHandlerMapping中的值
* Validate the subscription's return value
* Verify the value of the handlerMap & messageHandlerMapping after subscribing
*/
@Test
public void subscribeMessage() throws Exception {
subscribe();
assertNotNull(handlerId);
Field field = messageBusService.getClass().getDeclaredField("processorManager");
field.setAccessible(true);
DispatchManager processorManager = (DispatchManager) field.get(messageBusService);
// 验证订阅后handlerMap中的值
Class processorManagerClass = processorManager.getClass();
Field handlerMapField = processorManagerClass.getDeclaredField("handlerMap");
handlerMapField.setAccessible(true);
Map<String, NulsMessageHandler> handlerMap = (Map<String, NulsMessageHandler>) handlerMapField.get(processorManager);
assertNotNull(handlerMap.get(handlerId));
assertEquals(handlerMap.get(handlerId), messageHandler);
// 验证订阅后messageHandlerMapping中的值
Field messageHandlerMappingField = processorManagerClass.getDeclaredField("messageHandlerMapping");
messageHandlerMappingField.setAccessible(true);
Map<Class, Set<String>> messageHandlerMapping = (Map<Class, Set<String>>) messageHandlerMappingField.get(processorManager);
assertNotNull(messageHandlerMapping.get(block));
assertTrue(messageHandlerMapping.get(block).contains(handlerId));
}
use of io.nuls.message.bus.manager.DispatchManager in project nuls by nuls-io.
the class MessageBusServiceImplTest method unsubscribeMessage.
/**
* 验证取消订阅后handlerMap中的值
* Verify the value in handlerMap after unsubscribing
* @throws Exception
*/
@Test
public void unsubscribeMessage() throws Exception {
messageBusService.unsubscribeMessage(handlerId);
Field field = messageBusService.getClass().getDeclaredField("processorManager");
field.setAccessible(true);
DispatchManager processorManager = (DispatchManager) field.get(messageBusService);
// 验证取消订阅后handlerMap中的值
Class processorManagerClass = processorManager.getClass();
Field handlerMapField = processorManagerClass.getDeclaredField("handlerMap");
handlerMapField.setAccessible(true);
Map<String, NulsMessageHandler> handlerMap = (Map<String, NulsMessageHandler>) handlerMapField.get(processorManager);
assertNull(handlerMap.get(handlerId));
}
Aggregations