Store destination UUIDs when persisting messages to DynamoDB
This commit is contained in:
parent
394f58f6cc
commit
c5f261305d
|
@ -86,7 +86,8 @@ public class MessagesDynamoDb extends AbstractDynamoDbStore {
|
||||||
.put(LOCAL_INDEX_MESSAGE_UUID_KEY_SORT, convertLocalIndexMessageUuidSortKey(messageUuid))
|
.put(LOCAL_INDEX_MESSAGE_UUID_KEY_SORT, convertLocalIndexMessageUuidSortKey(messageUuid))
|
||||||
.put(KEY_TYPE, AttributeValues.fromInt(message.getType().getNumber()))
|
.put(KEY_TYPE, AttributeValues.fromInt(message.getType().getNumber()))
|
||||||
.put(KEY_TIMESTAMP, AttributeValues.fromLong(message.getTimestamp()))
|
.put(KEY_TIMESTAMP, AttributeValues.fromLong(message.getTimestamp()))
|
||||||
.put(KEY_TTL, AttributeValues.fromLong(getTtlForMessage(message)));
|
.put(KEY_TTL, AttributeValues.fromLong(getTtlForMessage(message)))
|
||||||
|
.put(KEY_DESTINATION_UUID, AttributeValues.fromUUID(UUID.fromString(message.getDestinationUuid())));
|
||||||
if (message.hasRelay() && message.getRelay().length() > 0) {
|
if (message.hasRelay() && message.getRelay().length() > 0) {
|
||||||
item.put(KEY_RELAY, AttributeValues.fromString(message.getRelay()));
|
item.put(KEY_RELAY, AttributeValues.fromString(message.getRelay()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -154,6 +154,7 @@ class MessagePersisterIntegrationTest {
|
||||||
.setTimestamp(AttributeValues.getLong(item, "TS", -1))
|
.setTimestamp(AttributeValues.getLong(item, "TS", -1))
|
||||||
.setServerTimestamp(extractServerTimestamp(AttributeValues.getByteArray(item, "S", null)))
|
.setServerTimestamp(extractServerTimestamp(AttributeValues.getByteArray(item, "S", null)))
|
||||||
.setContent(ByteString.copyFrom(AttributeValues.getByteArray(item, "C", null)))
|
.setContent(ByteString.copyFrom(AttributeValues.getByteArray(item, "C", null)))
|
||||||
|
.setDestinationUuid(AttributeValues.getUUID(item, "DU", null).toString())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,6 +175,7 @@ class MessagePersisterIntegrationTest {
|
||||||
.setContent(ByteString.copyFromUtf8(RandomStringUtils.randomAlphanumeric(256)))
|
.setContent(ByteString.copyFromUtf8(RandomStringUtils.randomAlphanumeric(256)))
|
||||||
.setType(MessageProtos.Envelope.Type.CIPHERTEXT)
|
.setType(MessageProtos.Envelope.Type.CIPHERTEXT)
|
||||||
.setServerGuid(messageGuid.toString())
|
.setServerGuid(messageGuid.toString())
|
||||||
|
.setDestinationUuid(UUID.randomUUID().toString())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,17 +248,18 @@ class WebSocketConnectionIntegrationTest {
|
||||||
|
|
||||||
assertTrue(expectedMessages.containsAll(sentMessages));
|
assertTrue(expectedMessages.containsAll(sentMessages));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private MessageProtos.Envelope generateRandomMessage(final UUID messageGuid) {
|
private MessageProtos.Envelope generateRandomMessage(final UUID messageGuid) {
|
||||||
final long timestamp = serialTimestamp++;
|
final long timestamp = serialTimestamp++;
|
||||||
|
|
||||||
return MessageProtos.Envelope.newBuilder()
|
return MessageProtos.Envelope.newBuilder()
|
||||||
.setTimestamp(timestamp)
|
.setTimestamp(timestamp)
|
||||||
.setServerTimestamp(timestamp)
|
.setServerTimestamp(timestamp)
|
||||||
.setContent(ByteString.copyFromUtf8(RandomStringUtils.randomAlphanumeric(256)))
|
.setContent(ByteString.copyFromUtf8(RandomStringUtils.randomAlphanumeric(256)))
|
||||||
.setType(MessageProtos.Envelope.Type.CIPHERTEXT)
|
.setType(MessageProtos.Envelope.Type.CIPHERTEXT)
|
||||||
.setServerGuid(messageGuid.toString())
|
.setServerGuid(messageGuid.toString())
|
||||||
.build();
|
.setDestinationUuid(UUID.randomUUID().toString())
|
||||||
}
|
.build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue