mirror of
https://github.com/oxen-io/session-android.git
synced 2025-12-16 02:01:55 +00:00
Rename GV2 "version" to "revision".
This commit is contained in:
committed by
Greyson Parrelli
parent
c634c24afb
commit
a99c0d438e
@@ -12,7 +12,7 @@ public final class DecryptedGroupHistoryEntry {
|
||||
private final DecryptedGroupChange change;
|
||||
|
||||
DecryptedGroupHistoryEntry(DecryptedGroup group, DecryptedGroupChange change) {
|
||||
if (group.getVersion() != change.getVersion()) {
|
||||
if (group.getRevision() != change.getRevision()) {
|
||||
throw new AssertionError();
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ public final class DecryptedGroupUtil {
|
||||
if (removed) {
|
||||
return builder.clearMembers()
|
||||
.addAllMembers(decryptedMembers)
|
||||
.setVersion(revision)
|
||||
.setRevision(revision)
|
||||
.build();
|
||||
} else {
|
||||
return group;
|
||||
@@ -181,7 +181,7 @@ public final class DecryptedGroupUtil {
|
||||
public static DecryptedGroup apply(DecryptedGroup group, DecryptedGroupChange change)
|
||||
throws NotAbleToApplyChangeException
|
||||
{
|
||||
if (change.getVersion() != group.getVersion() + 1) {
|
||||
if (change.getRevision() != group.getRevision() + 1) {
|
||||
throw new NotAbleToApplyChangeException();
|
||||
}
|
||||
|
||||
@@ -266,7 +266,7 @@ public final class DecryptedGroupUtil {
|
||||
.build());
|
||||
}
|
||||
|
||||
return builder.setVersion(change.getVersion()).build();
|
||||
return builder.setRevision(change.getRevision()).build();
|
||||
}
|
||||
|
||||
private static int indexOfUuid(List<DecryptedMember> memberList, ByteString uuid) {
|
||||
|
||||
@@ -103,7 +103,7 @@ public final class GroupsV2Api {
|
||||
DecryptedGroup decryptedGroup = groupOperations.decryptGroup(change.getGroupState());
|
||||
DecryptedGroupChange decryptedChange = groupOperations.decryptChange(change.getGroupChange(), false);
|
||||
|
||||
if (decryptedChange.getVersion() != decryptedGroup.getVersion()) {
|
||||
if (decryptedChange.getRevision() != decryptedGroup.getRevision()) {
|
||||
throw new InvalidGroupStateException();
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ public final class GroupsV2Operations {
|
||||
final GroupOperations groupOperations = forGroup(groupSecretParams);
|
||||
|
||||
Group.Builder group = Group.newBuilder()
|
||||
.setVersion(0)
|
||||
.setRevision(0)
|
||||
.setPublicKey(ByteString.copyFrom(groupSecretParams.getPublicParams().serialize()))
|
||||
.setTitle(groupOperations.encryptTitle(title))
|
||||
.setDisappearingMessagesTimer(groupOperations.encryptTimer(0))
|
||||
@@ -281,7 +281,7 @@ public final class GroupsV2Operations {
|
||||
.setTitle(decryptTitle(group.getTitle()))
|
||||
.setAvatar(group.getAvatar())
|
||||
.setAccessControl(group.getAccessControl())
|
||||
.setVersion(group.getVersion())
|
||||
.setRevision(group.getRevision())
|
||||
.addAllMembers(decryptedMembers)
|
||||
.addAllPendingMembers(decryptedPendingMembers)
|
||||
.setDisappearingMessagesTimer(DecryptedTimer.newBuilder().setDuration(decryptDisappearingMessagesTimer(group.getDisappearingMessagesTimer())))
|
||||
@@ -322,12 +322,12 @@ public final class GroupsV2Operations {
|
||||
}
|
||||
|
||||
// Field 2
|
||||
builder.setVersion(actions.getVersion());
|
||||
builder.setRevision(actions.getRevision());
|
||||
|
||||
// Field 3
|
||||
for (GroupChange.Actions.AddMemberAction addMemberAction : actions.getAddMembersList()) {
|
||||
try {
|
||||
builder.addNewMembers(decryptMember(addMemberAction.getAdded()).setJoinedAtVersion(actions.getVersion()));
|
||||
builder.addNewMembers(decryptMember(addMemberAction.getAdded()).setJoinedAtRevision(actions.getRevision()));
|
||||
} catch (InvalidInputException e) {
|
||||
throw new InvalidGroupStateException(e);
|
||||
}
|
||||
@@ -354,7 +354,7 @@ public final class GroupsV2Operations {
|
||||
UUID uuid = decryptUuid(ByteString.copyFrom(presentation.getUuidCiphertext().serialize()));
|
||||
builder.addModifiedProfileKeys(DecryptedMember.newBuilder()
|
||||
.setRole(Member.Role.UNKNOWN)
|
||||
.setJoinedAtVersion(-1)
|
||||
.setJoinedAtRevision(-1)
|
||||
.setUuid(UuidUtil.toByteString(uuid))
|
||||
.setProfileKey(ByteString.copyFrom(decryptProfileKey(ByteString.copyFrom(presentation.getProfileKeyCiphertext().serialize()), uuid).serialize())));
|
||||
} catch (InvalidInputException e) {
|
||||
@@ -398,7 +398,7 @@ public final class GroupsV2Operations {
|
||||
UUID uuid = clientZkGroupCipher.decryptUuid(profileKeyCredentialPresentation.getUuidCiphertext());
|
||||
ProfileKey profileKey = clientZkGroupCipher.decryptProfileKey(profileKeyCredentialPresentation.getProfileKeyCiphertext(), uuid);
|
||||
builder.addPromotePendingMembers(DecryptedMember.newBuilder()
|
||||
.setJoinedAtVersion(-1)
|
||||
.setJoinedAtRevision(-1)
|
||||
.setRole(Member.Role.DEFAULT)
|
||||
.setUuid(UuidUtil.toByteString(uuid))
|
||||
.setProfileKey(ByteString.copyFrom(profileKey.serialize())));
|
||||
@@ -441,7 +441,7 @@ public final class GroupsV2Operations {
|
||||
|
||||
return DecryptedMember.newBuilder()
|
||||
.setUuid(UuidUtil.toByteString(uuid))
|
||||
.setJoinedAtVersion(member.getJoinedAtVersion())
|
||||
.setJoinedAtRevision(member.getJoinedAtRevision())
|
||||
.setProfileKey(decryptProfileKeyToByteString(member.getProfileKey(), uuid))
|
||||
.setRole(member.getRole());
|
||||
} else {
|
||||
@@ -451,7 +451,7 @@ public final class GroupsV2Operations {
|
||||
|
||||
return DecryptedMember.newBuilder()
|
||||
.setUuid(UuidUtil.toByteString(uuid))
|
||||
.setJoinedAtVersion(member.getJoinedAtVersion())
|
||||
.setJoinedAtRevision(member.getJoinedAtRevision())
|
||||
.setProfileKey(ByteString.copyFrom(profileKey.serialize()))
|
||||
.setRole(member.getRole());
|
||||
}
|
||||
|
||||
@@ -13,10 +13,10 @@ import "Groups.proto";
|
||||
// Decrypted version of Member
|
||||
// Keep field numbers in step
|
||||
message DecryptedMember {
|
||||
bytes uuid = 1;
|
||||
Member.Role role = 2;
|
||||
bytes profileKey = 3;
|
||||
uint32 joinedAtVersion = 5;
|
||||
bytes uuid = 1;
|
||||
Member.Role role = 2;
|
||||
bytes profileKey = 3;
|
||||
uint32 joinedAtRevision = 5;
|
||||
}
|
||||
|
||||
message DecryptedPendingMember {
|
||||
@@ -44,7 +44,7 @@ message DecryptedGroup {
|
||||
string avatar = 3;
|
||||
DecryptedTimer disappearingMessagesTimer = 4;
|
||||
AccessControl accessControl = 5;
|
||||
uint32 version = 6;
|
||||
uint32 revision = 6;
|
||||
repeated DecryptedMember members = 7;
|
||||
repeated DecryptedPendingMember pendingMembers = 8;
|
||||
}
|
||||
@@ -53,7 +53,7 @@ message DecryptedGroup {
|
||||
// Keep field numbers in step
|
||||
message DecryptedGroupChange {
|
||||
bytes editor = 1;
|
||||
uint32 version = 2;
|
||||
uint32 revision = 2;
|
||||
repeated DecryptedMember newMembers = 3;
|
||||
repeated bytes deleteMembers = 4;
|
||||
repeated DecryptedModifyMemberRole modifyMemberRoles = 5;
|
||||
|
||||
@@ -25,11 +25,11 @@ message Member {
|
||||
ADMINISTRATOR = 2;
|
||||
}
|
||||
|
||||
bytes userId = 1;
|
||||
Role role = 2;
|
||||
bytes profileKey = 3;
|
||||
bytes presentation = 4;
|
||||
uint32 joinedAtVersion = 5;
|
||||
bytes userId = 1;
|
||||
Role role = 2;
|
||||
bytes profileKey = 3;
|
||||
bytes presentation = 4;
|
||||
uint32 joinedAtRevision = 5;
|
||||
}
|
||||
|
||||
message PendingMember {
|
||||
@@ -56,7 +56,7 @@ message Group {
|
||||
string avatar = 3;
|
||||
bytes disappearingMessagesTimer = 4;
|
||||
AccessControl accessControl = 5;
|
||||
uint32 version = 6;
|
||||
uint32 revision = 6;
|
||||
repeated Member members = 7;
|
||||
repeated PendingMember pendingMembers = 8;
|
||||
}
|
||||
@@ -115,7 +115,7 @@ message GroupChange {
|
||||
}
|
||||
|
||||
bytes sourceUuid = 1;
|
||||
uint32 version = 2;
|
||||
uint32 revision = 2;
|
||||
repeated AddMemberAction addMembers = 3;
|
||||
repeated DeleteMemberAction deleteMembers = 4;
|
||||
repeated ModifyMemberRoleAction modifyMemberRoles = 5;
|
||||
|
||||
@@ -27,15 +27,15 @@ import static org.whispersystems.signalservice.api.groupsv2.ProtoTestUtils.withP
|
||||
public final class DecryptedGroupUtil_apply_Test {
|
||||
|
||||
@Test
|
||||
public void apply_version() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
public void apply_revision() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(9)
|
||||
.setRevision(9)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.build());
|
||||
|
||||
assertEquals(10, newGroup.getVersion());
|
||||
assertEquals(10, newGroup.getRevision());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -44,16 +44,16 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2 = member(UUID.randomUUID());
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.addMembers(member1)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addNewMembers(member2)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2)
|
||||
.build(),
|
||||
@@ -66,17 +66,17 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2 = member(UUID.randomUUID());
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(13)
|
||||
.setRevision(13)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addDeleteMembers(member1.getUuid())
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addMembers(member2)
|
||||
.build(),
|
||||
newGroup);
|
||||
@@ -88,18 +88,18 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2 = member(UUID.randomUUID());
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(13)
|
||||
.setRevision(13)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addDeleteMembers(member1.getUuid())
|
||||
.addDeleteMembers(member2.getUuid())
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.build(),
|
||||
newGroup);
|
||||
}
|
||||
@@ -110,11 +110,11 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2 = member(UUID.randomUUID());
|
||||
|
||||
DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(13)
|
||||
.setRevision(13)
|
||||
.addMembers(member1)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addDeleteMembers(member2.getUuid())
|
||||
.build());
|
||||
}
|
||||
@@ -125,18 +125,18 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2 = admin(UUID.randomUUID());
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(13)
|
||||
.setRevision(13)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addModifyMemberRoles(DecryptedModifyMemberRole.newBuilder().setUuid(member1.getUuid()).setRole(Member.Role.ADMINISTRATOR))
|
||||
.addModifyMemberRoles(DecryptedModifyMemberRole.newBuilder().setUuid(member2.getUuid()).setRole(Member.Role.DEFAULT))
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addMembers(asAdmin(member1))
|
||||
.addMembers(asMember(member2))
|
||||
.build(),
|
||||
@@ -153,17 +153,17 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2b = withProfileKey(member2a, profileKey2b);
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(13)
|
||||
.setRevision(13)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2a)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addModifiedProfileKeys(member2b)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(14)
|
||||
.setRevision(14)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2b)
|
||||
.build(),
|
||||
@@ -176,16 +176,16 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedPendingMember pending = pendingMember(UUID.randomUUID());
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.addMembers(member1)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addNewPendingMembers(pending)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addMembers(member1)
|
||||
.addPendingMembers(pending)
|
||||
.build(),
|
||||
@@ -199,19 +199,19 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedPendingMember pending = pendingMember(pendingUuid);
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.addMembers(member1)
|
||||
.addPendingMembers(pending)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addDeletePendingMembers(DecryptedPendingMemberRemoval.newBuilder()
|
||||
.setUuidCipherText(ProtoTestUtils.encrypt(pendingUuid))
|
||||
.build())
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addMembers(member1)
|
||||
.build(),
|
||||
newGroup);
|
||||
@@ -226,17 +226,17 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2 = member(pending2Uuid, profileKey2);
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.addMembers(member1)
|
||||
.addPendingMembers(pending2)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addPromotePendingMembers(member2)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2)
|
||||
.build(),
|
||||
@@ -252,17 +252,17 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
DecryptedMember member2 = withProfileKey(admin(pending2Uuid), profileKey2);
|
||||
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.addMembers(member1)
|
||||
.addPendingMembers(pending2)
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addPromotePendingMembers(member2)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.addMembers(member1)
|
||||
.addMembers(member2)
|
||||
.build(),
|
||||
@@ -272,16 +272,16 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
@Test
|
||||
public void title() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.setTitle("Old title")
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setNewTitle(DecryptedString.newBuilder().setValue("New title").build())
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setTitle("New title")
|
||||
.build(),
|
||||
newGroup);
|
||||
@@ -290,16 +290,16 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
@Test
|
||||
public void avatar() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.setAvatar("https://cnd/oldavatar")
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setNewAvatar(DecryptedString.newBuilder().setValue("https://cnd/newavatar").build())
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setAvatar("https://cnd/newavatar")
|
||||
.build(),
|
||||
newGroup);
|
||||
@@ -308,16 +308,16 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
@Test
|
||||
public void timer() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.setDisappearingMessagesTimer(DecryptedTimer.newBuilder().setDuration(100))
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setNewTimer(DecryptedTimer.newBuilder().setDuration(2000))
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setDisappearingMessagesTimer(DecryptedTimer.newBuilder().setDuration(2000))
|
||||
.build(),
|
||||
newGroup);
|
||||
@@ -326,19 +326,19 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
@Test
|
||||
public void attribute_access() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.setAccessControl(AccessControl.newBuilder()
|
||||
.setAttributes(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
.setMembers(AccessControl.AccessRequired.MEMBER)
|
||||
.build())
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setNewAttributeAccess(AccessControl.AccessRequired.MEMBER)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setAccessControl(AccessControl.newBuilder()
|
||||
.setAttributes(AccessControl.AccessRequired.MEMBER)
|
||||
.setMembers(AccessControl.AccessRequired.MEMBER)
|
||||
@@ -350,19 +350,19 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
@Test
|
||||
public void membership_access() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.setAccessControl(AccessControl.newBuilder()
|
||||
.setAttributes(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
.setMembers(AccessControl.AccessRequired.MEMBER)
|
||||
.build())
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setNewMemberAccess(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setAccessControl(AccessControl.newBuilder()
|
||||
.setAttributes(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
.setMembers(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
@@ -374,20 +374,20 @@ public final class DecryptedGroupUtil_apply_Test {
|
||||
@Test
|
||||
public void change_both_access_levels() throws DecryptedGroupUtil.NotAbleToApplyChangeException {
|
||||
DecryptedGroup newGroup = DecryptedGroupUtil.apply(DecryptedGroup.newBuilder()
|
||||
.setVersion(10)
|
||||
.setRevision(10)
|
||||
.setAccessControl(AccessControl.newBuilder()
|
||||
.setAttributes(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
.setMembers(AccessControl.AccessRequired.MEMBER)
|
||||
.build())
|
||||
.build(),
|
||||
DecryptedGroupChange.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setNewAttributeAccess(AccessControl.AccessRequired.MEMBER)
|
||||
.setNewMemberAccess(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
.build());
|
||||
|
||||
assertEquals(DecryptedGroup.newBuilder()
|
||||
.setVersion(11)
|
||||
.setRevision(11)
|
||||
.setAccessControl(AccessControl.newBuilder()
|
||||
.setAttributes(AccessControl.AccessRequired.MEMBER)
|
||||
.setMembers(AccessControl.AccessRequired.ADMINISTRATOR)
|
||||
|
||||
Reference in New Issue
Block a user