Fix unit tests around quote deduping.

This commit is contained in:
Greyson Parrelli
2025-09-05 16:56:52 -04:00
parent a6c215801b
commit 7d16e857d4

View File

@@ -47,6 +47,8 @@ class AttachmentTableTest_deduping {
val DATA_A_HASH = byteArrayOf(1, 1, 1) val DATA_A_HASH = byteArrayOf(1, 1, 1)
val DATA_B = byteArrayOf(7, 8, 9) val DATA_B = byteArrayOf(7, 8, 9)
val DATA_C_JPEG = Base64.decode("/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wgARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAWAQEBAQAAAAAAAAAAAAAAAAAABgf/2gAMAwEAAhADEAAAAY/ZpAAf/8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQABBQIf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwIf/8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQABPyEf/9oADAMBAAIAAwAAABBtv//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEAAT8QH//Z")
} }
@Before @Before
@@ -483,38 +485,27 @@ class AttachmentTableTest_deduping {
fun quotes() { fun quotes() {
// Basic quote deduping // Basic quote deduping
test { test {
val id1 = insertWithData(DATA_A) val targetAttachment1 = insertWithData(DATA_C_JPEG)
val id2 = insertQuote(id1) val quoteAttachment1 = insertQuote(targetAttachment1)
val quoteAttachment2 = insertQuote(targetAttachment1)
assertDataFilesAreTheSame(id1, id2) assertDataFilesAreTheSame(quoteAttachment1, quoteAttachment2)
assertDataHashStartMatches(id1, id2) assertDataHashStartMatches(quoteAttachment1, quoteAttachment2)
} }
// Making sure remote fields carry // Making sure remote fields carry
test { test {
val id1 = insertWithData(DATA_A) val targetAttachment1 = insertWithData(DATA_C_JPEG)
val id2 = insertQuote(id1) val quoteAttachment1 = insertQuote(targetAttachment1)
upload(id1) upload(quoteAttachment1)
assertDataFilesAreTheSame(id1, id2) val quoteAttachment2 = insertQuote(targetAttachment1)
assertDataHashStartMatches(id1, id2)
assertDataHashEndMatches(id1, id2)
assertRemoteFieldsMatch(id1, id2)
assertArchiveFieldsMatch(id1, id2)
}
// Making sure things work for quotes of videos, which have trickier transform properties assertDataFilesAreTheSame(quoteAttachment1, quoteAttachment2)
test { assertDataHashStartMatches(quoteAttachment1, quoteAttachment2)
val id1 = insertWithData(DATA_A, transformProperties = TransformProperties.forVideoTrim(1, 2)) assertDataHashEndMatches(quoteAttachment1, quoteAttachment2)
compress(id1, DATA_A_COMPRESSED) assertRemoteFieldsMatch(quoteAttachment1, quoteAttachment2)
upload(id1) assertArchiveFieldsMatch(quoteAttachment1, quoteAttachment2)
val id2 = insertQuote(id1)
assertDataFilesAreTheSame(id1, id2)
assertDataHashEndMatches(id1, id2)
assertRemoteFieldsMatch(id1, id2)
assertArchiveFieldsMatch(id1, id2)
} }
} }