mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
Address mailbox pairing backend review feedback
This commit is contained in:
@@ -51,8 +51,8 @@ public abstract class MailboxPairingState {
|
||||
}
|
||||
}
|
||||
|
||||
public static class AssertionError extends MailboxPairingState {
|
||||
public AssertionError(String qrCodePayload) {
|
||||
public static class UnexpectedError extends MailboxPairingState {
|
||||
public UnexpectedError(String qrCodePayload) {
|
||||
super(qrCodePayload);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,30 +98,28 @@ class MailboxPairingTaskImpl implements MailboxPairingTask {
|
||||
} catch (IOException e) {
|
||||
onMailboxError(e, new MailboxPairingState.ConnectionError(payload));
|
||||
} catch (ApiException | DbException e) {
|
||||
onMailboxError(e, new MailboxPairingState.AssertionError(payload));
|
||||
onMailboxError(e, new MailboxPairingState.UnexpectedError(payload));
|
||||
}
|
||||
}
|
||||
|
||||
private void pairMailbox() throws IOException, ApiException, DbException {
|
||||
MailboxProperties mailboxProperties = decodeQrCodePayload(payload);
|
||||
synchronized (lock) {
|
||||
this.state = new MailboxPairingState.Pairing(payload);
|
||||
notifyObservers();
|
||||
}
|
||||
setState(new MailboxPairingState.Pairing(payload));
|
||||
MailboxAuthToken ownerToken = api.setup(mailboxProperties);
|
||||
MailboxProperties ownerProperties = new MailboxProperties(
|
||||
mailboxProperties.getBaseUrl(), ownerToken, true);
|
||||
db.transaction(false, txn -> mailboxSettingsManager
|
||||
.setOwnMailboxProperties(txn, ownerProperties));
|
||||
synchronized (lock) {
|
||||
this.state = new MailboxPairingState.Paired();
|
||||
notifyObservers();
|
||||
}
|
||||
setState(new MailboxPairingState.Paired());
|
||||
// TODO already do mailboxSettingsManager.setOwnMailboxStatus() ?
|
||||
}
|
||||
|
||||
private void onMailboxError(Exception e, MailboxPairingState state) {
|
||||
logException(LOG, WARNING, e);
|
||||
setState(state);
|
||||
}
|
||||
|
||||
private void setState(MailboxPairingState state) {
|
||||
synchronized (lock) {
|
||||
this.state = state;
|
||||
notifyObservers();
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.briarproject.bramble.plugin.file;
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.bramble.api.plugin.file.RemovableDriveTask;
|
||||
|
||||
@Deprecated // We can simply remove tasks when they finish
|
||||
@NotNullByDefault
|
||||
interface RemovableDriveTaskRegistry {
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ public class MailboxPairingTaskImplTest extends BrambleMockTestCase {
|
||||
new MailboxPairingTaskFactoryImpl(executor, db, crypto, api,
|
||||
mailboxSettingsManager);
|
||||
|
||||
private final String onion = getRandomString(64);
|
||||
private final String onion = getRandomString(56);
|
||||
private final byte[] onionBytes = getRandomBytes(32);
|
||||
private final String onionAddress = "http://" + onion + ".onion";
|
||||
private final MailboxAuthToken setupToken =
|
||||
@@ -73,8 +73,8 @@ public class MailboxPairingTaskImplTest extends BrambleMockTestCase {
|
||||
assertTrue(state instanceof MailboxPairingState.InvalidQrCode)
|
||||
);
|
||||
|
||||
MailboxPairingTask task2 =
|
||||
factory.createPairingTask(getRandomString(65));
|
||||
String goodLength = "00" + getRandomString(63);
|
||||
MailboxPairingTask task2 = factory.createPairingTask(goodLength);
|
||||
task2.run();
|
||||
task2.addObserver(state ->
|
||||
assertTrue(state instanceof MailboxPairingState.InvalidQrCode)
|
||||
@@ -123,7 +123,7 @@ public class MailboxPairingTaskImplTest extends BrambleMockTestCase {
|
||||
@Test
|
||||
public void testMailboxApiException() throws Exception {
|
||||
testApiException(new MailboxApi.ApiException(),
|
||||
MailboxPairingState.AssertionError.class);
|
||||
MailboxPairingState.UnexpectedError.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -165,7 +165,7 @@ public class MailboxPairingTaskImplTest extends BrambleMockTestCase {
|
||||
MailboxPairingTask task = factory.createPairingTask(validPayload);
|
||||
task.run();
|
||||
task.addObserver(state -> assertEquals(state.getClass(),
|
||||
MailboxPairingState.AssertionError.class));
|
||||
MailboxPairingState.UnexpectedError.class));
|
||||
}
|
||||
|
||||
private String getValidPayload() {
|
||||
|
||||
Reference in New Issue
Block a user