DebugMqttSubscriberTest.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.hfln.device.application.mqtt;
  2. import cn.hfln.framework.mqtt.template.MqttTemplate;
  3. import com.hfln.device.application.service.DebugConfigService;
  4. import com.hfln.device.domain.debug.DebugConfig;
  5. import org.junit.jupiter.api.BeforeEach;
  6. import org.junit.jupiter.api.Test;
  7. import org.mockito.InjectMocks;
  8. import org.mockito.Mock;
  9. import org.mockito.MockitoAnnotations;
  10. import static org.mockito.Mockito.*;
  11. class DebugMqttSubscriberTest {
  12. @Mock
  13. private DebugConfigService debugConfigService;
  14. @Mock
  15. private MqttTemplate mqttTemplate;
  16. @InjectMocks
  17. private DebugMqttSubscriber debugMqttSubscriber;
  18. @BeforeEach
  19. void setUp() {
  20. MockitoAnnotations.initMocks(this);
  21. }
  22. @Test
  23. void testHandleSetDebugParam() {
  24. String topic = "/dev/123/set_debug_param";
  25. String payload = "{\"param\":1}";
  26. doNothing().when(debugConfigService).updateDebugConfig(anyString(), anyMap());
  27. debugMqttSubscriber.handleSetDebugParam(topic, payload);
  28. verify(mqttTemplate, times(1)).send(contains("/das/123/debug_param"), eq(payload));
  29. }
  30. @Test
  31. void testHandleGetDebugParam() {
  32. String topic = "/dev/123/get_debug_param";
  33. DebugConfig config = mock(DebugConfig.class);
  34. when(debugConfigService.getDebugConfig(anyString())).thenReturn(config);
  35. when(config.getParams()).thenReturn(java.util.Collections.singletonMap("k", "v"));
  36. debugMqttSubscriber.handleGetDebugParam(topic);
  37. verify(mqttTemplate, times(1)).send(contains("/das/123/debug_param"), anyString());
  38. }
  39. }