mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-24 03:35:58 +00:00
Migrate away from placeholder revision to support exporting pending approval groups.
This commit is contained in:
committed by
Alex Hart
parent
dc8e93a9d3
commit
5ce5326721
@@ -121,9 +121,10 @@ class GroupStateTestData(private val masterKey: GroupMasterKey, private val grou
|
||||
pendingMembers: List<DecryptedPendingMember> = emptyList(),
|
||||
requestingMembers: List<DecryptedRequestingMember> = emptyList(),
|
||||
inviteLinkPassword: ByteArray = ByteArray(0),
|
||||
disappearingMessageTimer: DecryptedTimer = DecryptedTimer()
|
||||
disappearingMessageTimer: DecryptedTimer = DecryptedTimer(),
|
||||
isPlaceholderGroup: Boolean = false
|
||||
) {
|
||||
localState = decryptedGroup(revision, title, avatar, description, accessControl, members, pendingMembers, requestingMembers, inviteLinkPassword, disappearingMessageTimer)
|
||||
localState = decryptedGroup(revision, title, avatar, description, accessControl, members, pendingMembers, requestingMembers, inviteLinkPassword, disappearingMessageTimer, isPlaceholderGroup)
|
||||
groupRecord = groupRecord(masterKey, localState!!, active = active)
|
||||
}
|
||||
|
||||
@@ -209,7 +210,8 @@ fun decryptedGroup(
|
||||
pendingMembers: List<DecryptedPendingMember> = emptyList(),
|
||||
requestingMembers: List<DecryptedRequestingMember> = emptyList(),
|
||||
inviteLinkPassword: ByteArray = ByteArray(0),
|
||||
disappearingMessageTimer: DecryptedTimer = DecryptedTimer()
|
||||
disappearingMessageTimer: DecryptedTimer = DecryptedTimer(),
|
||||
isPlaceholderGroup: Boolean = false
|
||||
): DecryptedGroup {
|
||||
return DecryptedGroup(
|
||||
accessControl = accessControl,
|
||||
@@ -222,6 +224,7 @@ fun decryptedGroup(
|
||||
revision = revision,
|
||||
members = members,
|
||||
pendingMembers = pendingMembers,
|
||||
requestingMembers = requestingMembers
|
||||
requestingMembers = requestingMembers,
|
||||
isPlaceholderGroup = isPlaceholderGroup
|
||||
)
|
||||
}
|
||||
|
||||
@@ -543,7 +543,8 @@ class GroupStatePatcherTest {
|
||||
@Test
|
||||
fun no_repair_change_is_posted_if_the_local_state_is_a_placeholder() {
|
||||
val currentState = DecryptedGroup.Builder()
|
||||
.revision(GroupStatePatcher.PLACEHOLDER_REVISION)
|
||||
.revision(0)
|
||||
.isPlaceholderGroup(true)
|
||||
.title("Incorrect group title, Revision " + 6)
|
||||
.build()
|
||||
val log6 = serverLogEntry(6)
|
||||
@@ -574,7 +575,8 @@ class GroupStatePatcherTest {
|
||||
.aciBytes(ServiceId.ACI.from(UUID.randomUUID()).toByteString())
|
||||
.build()
|
||||
val currentState = DecryptedGroup.Builder()
|
||||
.revision(GroupStatePatcher.PLACEHOLDER_REVISION)
|
||||
.revision(0)
|
||||
.isPlaceholderGroup(true)
|
||||
.title("Group Revision " + 8)
|
||||
.members(listOf(newMember))
|
||||
.build()
|
||||
@@ -684,7 +686,8 @@ class GroupStatePatcherTest {
|
||||
.aciBytes(ServiceId.ACI.from(UUID.randomUUID()).toByteString())
|
||||
.build()
|
||||
val currentState = DecryptedGroup.Builder()
|
||||
.revision(GroupStatePatcher.PLACEHOLDER_REVISION)
|
||||
.revision(0)
|
||||
.isPlaceholderGroup(true)
|
||||
.title("Incorrect group title")
|
||||
.avatar("Incorrect group avatar")
|
||||
.members(listOf(newMember))
|
||||
|
||||
@@ -662,9 +662,10 @@ class GroupsV2StateProcessorTest {
|
||||
fun `when request to join group is approved, with no group changes after approved, then update from server to revision we were added`() {
|
||||
given {
|
||||
localState(
|
||||
revision = GroupsV2StateProcessor.PLACEHOLDER_REVISION,
|
||||
revision = 0,
|
||||
title = "Beam me up",
|
||||
requestingMembers = listOf(requestingMember(selfAci))
|
||||
requestingMembers = listOf(requestingMember(selfAci)),
|
||||
isPlaceholderGroup = true
|
||||
)
|
||||
|
||||
changeSet {
|
||||
@@ -703,9 +704,10 @@ class GroupsV2StateProcessorTest {
|
||||
fun `when request to join group is approved, with group changes occurring after approved, then update from server to revision we were added, and then schedule pulling additional changes later`() {
|
||||
given {
|
||||
localState(
|
||||
revision = GroupsV2StateProcessor.PLACEHOLDER_REVISION,
|
||||
revision = 0,
|
||||
title = "Beam me up",
|
||||
requestingMembers = listOf(requestingMember(selfAci))
|
||||
requestingMembers = listOf(requestingMember(selfAci)),
|
||||
isPlaceholderGroup = true
|
||||
)
|
||||
changeSet {
|
||||
changeLog(3) {
|
||||
|
||||
Reference in New Issue
Block a user