Copilot commented on code in PR #10974:
URL: https://github.com/apache/rocketmq/pull/10974#discussion_r3870176893


##########
store/src/test/java/org/apache/rocketmq/store/timer/TimerMessageStoreTest.java:
##########
@@ -179,6 +179,30 @@ private static PutMessageResult 
transformTimerMessage(TimerMessageStore timerMes
         return null;
     }
 
+    @Test
+    public void testConvertMessagePropertiesStringMatchesProperties() throws 
Exception {
+        final TimerMessageStore timerMessageStore = 
createTimerMessageStore(null, true);
+
+        MessageExtBrokerInner msgExt = buildMessage(3000, 
"TimerTest_testConvertMessage", false);
+        MessageAccessor.putProperty(msgExt, MessageConst.PROPERTY_REAL_TOPIC, 
msgExt.getTopic());
+        MessageAccessor.putProperty(msgExt, 
MessageConst.PROPERTY_REAL_QUEUE_ID, "0");
+        
msgExt.setPropertiesString(MessageDecoder.messageProperties2String(msgExt.getProperties()));
+        msgExt.setTopic(TimerMessageStore.TIMER_TOPIC);
+
+        // delivered message: internal properties are cleared from both the 
map and the wire data
+        MessageExtBrokerInner delivered = 
timerMessageStore.convertMessage(msgExt, false);
+        assertEquals("TimerTest_testConvertMessage", delivered.getTopic());
+        
assertFalse(delivered.getPropertiesString().contains(MessageConst.PROPERTY_REAL_TOPIC));
+        
assertFalse(delivered.getPropertiesString().contains(MessageConst.PROPERTY_REAL_QUEUE_ID));
+        
assertEquals(MessageDecoder.messageProperties2String(delivered.getProperties()),
 delivered.getPropertiesString());
+
+        // rolled message: keeps REAL_TOPIC and stays consistent between the 
map and the wire data
+        MessageExtBrokerInner rolled = 
timerMessageStore.convertMessage(msgExt, true);
+        assertEquals(TimerMessageStore.TIMER_TOPIC, rolled.getTopic());
+        
assertTrue(rolled.getPropertiesString().contains(MessageConst.PROPERTY_REAL_TOPIC));
+        
assertEquals(MessageDecoder.messageProperties2String(rolled.getProperties()), 
rolled.getPropertiesString());

Review Comment:
   The test comment says the rolled message keeps both REAL_TOPIC and 
REAL_QUEUE_ID, but the assertions only verify REAL_TOPIC. Adding an assertion 
for REAL_QUEUE_ID would make this regression test fully cover the stated 
behavior.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to