From 1ccfe928f761cad6dee65841bc7190fe160e4c6f Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Sun, 4 Oct 2020 11:28:03 -0400 Subject: [PATCH] Add a test to make sure that we don't double-insert messages with the same GUID. --- .../textsecuregcm/storage/MessagesCacheTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagesCacheTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagesCacheTest.java index 96df6cd13..8c691aa0a 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagesCacheTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagesCacheTest.java @@ -72,6 +72,17 @@ public class MessagesCacheTest extends AbstractRedisClusterTest { assertTrue(messagesCache.insert(messageGuid, DESTINATION_UUID, DESTINATION_DEVICE_ID, generateRandomMessage(messageGuid, sealedSender)) > 0); } + @Test + public void testDoubleInsertGuid() { + final UUID duplicateGuid = UUID.randomUUID(); + final MessageProtos.Envelope duplicateMessage = generateRandomMessage(duplicateGuid, false); + + final long firstId = messagesCache.insert(duplicateGuid, DESTINATION_UUID, DESTINATION_DEVICE_ID, duplicateMessage); + final long secondId = messagesCache.insert(duplicateGuid, DESTINATION_UUID, DESTINATION_DEVICE_ID, duplicateMessage); + + assertEquals(firstId, secondId); + } + @Test public void testRepairMetadata() { final int distinctUuidCount = 17;