60 lines
2.7 KiB
Java
60 lines
2.7 KiB
Java
package com.isu.gaswellwatch;
|
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
import com.isu.gaswellwatch.modbus.data.listener.DynamicRabbitListener;
|
|
import jakarta.annotation.Resource;
|
|
import org.junit.jupiter.api.Assertions;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.mockito.Mockito;
|
|
import org.springframework.amqp.core.Message;
|
|
import org.springframework.amqp.core.MessageProperties;
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.test.context.ActiveProfiles;
|
|
|
|
import java.util.Map;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.locks.LockSupport;
|
|
|
|
/**
|
|
* @author <a href="mailto:shilong.wang@alpha-ess.com">王仕龙</a>
|
|
* 2025/2/20 21:13
|
|
*/
|
|
@SpringBootTest
|
|
@ActiveProfiles("test")
|
|
public class MIWrpsDecodeTest {
|
|
|
|
private String message10301 = "564D2E53352E31352E34315831/50002/10301/1740200010000/1740200016203/01032C0004000000FB32330017030220251C290113800020C93FDE08B73FFE5AD5405D78EE406A000042C80E004844D8C3";
|
|
private String message10302 = "564D2E53352E31352E34315831/50002/10302/1740197640001/1740197646124/01038E00000CE9000100010A8C00FA028A0064D5CB2D353531342D583100310000000000000000000000000000000000000000000000000000000041C800010007001900020000070800000000D960FFFEFEFE2300FEFEFFFEEEFF00C41000000E08000007580000022000001C2000001C0000A000BAFEE770002002580000A000FEFE0000000000006B0000000000000046D5";
|
|
|
|
@Resource(name = "stringRedisTemplate")
|
|
protected RedisTemplate redisTemplate;
|
|
@Resource
|
|
private DynamicRabbitListener dynamicRabbitListener;
|
|
|
|
@Test
|
|
public void testWrpsDecode() {
|
|
Message testMessage10301 = Mockito.mock(Message.class);
|
|
Message testMessage10302 = Mockito.mock(Message.class);
|
|
MessageProperties testMessageProperties = Mockito.mock(MessageProperties.class);
|
|
Mockito.doReturn(this.message10301.getBytes()).when(testMessage10301).getBody();
|
|
Mockito.doReturn(this.message10302.getBytes()).when(testMessage10302).getBody();
|
|
Mockito.doReturn(testMessageProperties).when(testMessage10301).getMessageProperties();
|
|
Mockito.doReturn(testMessageProperties).when(testMessage10302).getMessageProperties();
|
|
Mockito.doReturn("/modbus/collect/0").when(testMessageProperties).getConsumerQueue();
|
|
|
|
Assertions.assertDoesNotThrow(() -> this.dynamicRabbitListener.getComposeListener().onMessage(testMessage10301));
|
|
// Assertions.assertDoesNotThrow(() -> this.dynamicRabbitListener.getComposeListener().onMessage(testMessage10302));
|
|
|
|
LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2));
|
|
|
|
Map<String, Object> row = this.redisTemplate.opsForHash().entries("data:device:50002");
|
|
|
|
System.out.println(JSONUtil.toJsonStr(row));
|
|
|
|
}
|
|
|
|
}
|
|
|