Introduce more sharing states

This commit is contained in:
Torsten Grote
2023-01-16 14:44:13 -03:00
parent c5fb1416bd
commit 429bbe1275
10 changed files with 80 additions and 32 deletions

View File

@@ -29,7 +29,7 @@ import javax.annotation.Nullable;
import static java.util.Collections.emptySet;
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITED;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITE_RECEIVED;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHAREABLE;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHARING;
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
@@ -322,7 +322,7 @@ public class GroupInvitationIntegrationTest
sendInvitation(c0.getClock().currentTimeMillis(), null);
// invitation is not allowed before the first hasn't been answered
assertEquals(INVITED, groupInvitationManager0
assertEquals(INVITE_RECEIVED, groupInvitationManager0
.getSharingStatus(contact1From0, privateGroup.getId()));
// deliver invitation and response
@@ -740,7 +740,7 @@ public class GroupInvitationIntegrationTest
addDefaultContacts();
// creator can still not invite again
assertEquals(INVITED, groupInvitationManager0
assertEquals(SHARING, groupInvitationManager0
.getSharingStatus(contact1From0, privateGroup.getId()));
// finally invitee can remove group without issues

View File

@@ -25,6 +25,7 @@ import org.briarproject.bramble.test.DbExpectations;
import org.briarproject.bramble.test.TestUtils;
import org.briarproject.briar.api.client.MessageTracker;
import org.briarproject.briar.api.client.SessionId;
import org.briarproject.briar.api.client.ProtocolStateException;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.privategroup.PrivateGroup;
import org.briarproject.briar.api.privategroup.PrivateGroupFactory;
@@ -62,7 +63,8 @@ import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.GROU
import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.MAX_GROUP_NAME_LENGTH;
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.CLIENT_ID;
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.MAJOR_VERSION;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITED;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.ERROR;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITE_RECEIVED;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHAREABLE;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHARING;
import static org.briarproject.briar.privategroup.invitation.MessageType.ABORT;
@@ -880,15 +882,20 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
@Test
public void testIsNotInvitationAllowed() throws Exception {
expectIsInvitationAllowed(CreatorState.DISSOLVED);
assertEquals(INVITED, groupInvitationManager
.getSharingStatus(contact, privateGroup.getId()));
try {
groupInvitationManager
.getSharingStatus(contact, privateGroup.getId());
fail();
} catch (ProtocolStateException e) {
// expected
}
expectIsInvitationAllowed(CreatorState.ERROR);
assertEquals(INVITED, groupInvitationManager
assertEquals(ERROR, groupInvitationManager
.getSharingStatus(contact, privateGroup.getId()));
expectIsInvitationAllowed(CreatorState.INVITED);
assertEquals(INVITED, groupInvitationManager
assertEquals(INVITE_RECEIVED, groupInvitationManager
.getSharingStatus(contact, privateGroup.getId()));
expectIsInvitationAllowed(CreatorState.JOINED);
@@ -896,7 +903,7 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
.getSharingStatus(contact, privateGroup.getId()));
expectIsInvitationAllowed(CreatorState.LEFT);
assertEquals(INVITED, groupInvitationManager
assertEquals(SHARING, groupInvitationManager
.getSharingStatus(contact, privateGroup.getId()));
}

View File

@@ -13,6 +13,7 @@ import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.test.TestDatabaseConfigModule;
import org.briarproject.briar.api.client.ProtocolStateException;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.conversation.ConversationResponse;
import org.briarproject.briar.api.conversation.DeletionResult;
@@ -43,11 +44,11 @@ import javax.annotation.Nullable;
import static java.util.Collections.emptySet;
import static junit.framework.Assert.assertNotNull;
import static junit.framework.TestCase.fail;
import static org.briarproject.bramble.util.StringUtils.getRandomString;
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
import static org.briarproject.briar.api.forum.ForumSharingManager.CLIENT_ID;
import static org.briarproject.briar.api.forum.ForumSharingManager.MAJOR_VERSION;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITED;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHAREABLE;
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHARING;
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
@@ -349,8 +350,12 @@ public class ForumSharingIntegrationTest
assertEquals(SHAREABLE, forumSharingManager0
.getSharingStatus(forum.getId(), contact1From0));
// invitee that left can not yet share again
assertEquals(INVITED, forumSharingManager1
.getSharingStatus(forum.getId(), contact0From1));
try {
forumSharingManager1.getSharingStatus(forum.getId(), contact0From1);
fail();
} catch (ProtocolStateException e) {
// expected
}
// sharer responds with leave message
sync0To1(1, true);