Protocol Buffers will be used for the wire protocol. As a quick test it's now used to serialize transport details when creating an invitation.

This commit is contained in:
akwizgran
2011-07-07 22:10:02 +01:00
parent 7fb589075d
commit 4deb52478d
11 changed files with 1212 additions and 17 deletions

View File

@@ -3,10 +3,13 @@ package net.sf.briar.invitation;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import junit.framework.TestCase;
import net.sf.briar.TestUtils;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.invitation.InvitationCallback;
import net.sf.briar.api.invitation.InvitationParameters;
@@ -33,13 +36,15 @@ public class InvitationWorkerTest extends TestCase {
context.mock(InvitationCallback.class);
final InvitationParameters params =
context.mock(InvitationParameters.class);
final DatabaseComponent database =
context.mock(DatabaseComponent.class);
context.checking(new Expectations() {{
oneOf(params).getChosenLocation();
will(returnValue(nonExistent));
oneOf(callback).notFound(nonExistent);
}});
new InvitationWorker(callback, params).run();
new InvitationWorker(callback, params, database).run();
context.assertIsSatisfied();
File[] children = testDir.listFiles();
@@ -57,13 +62,15 @@ public class InvitationWorkerTest extends TestCase {
context.mock(InvitationCallback.class);
final InvitationParameters params =
context.mock(InvitationParameters.class);
final DatabaseComponent database =
context.mock(DatabaseComponent.class);
context.checking(new Expectations() {{
oneOf(params).getChosenLocation();
will(returnValue(exists));
oneOf(callback).notDirectory(exists);
}});
new InvitationWorker(callback, params).run();
new InvitationWorker(callback, params, database).run();
context.assertIsSatisfied();
File[] children = testDir.listFiles();
@@ -73,27 +80,27 @@ public class InvitationWorkerTest extends TestCase {
}
@Test
public void testCreatesExe() throws IOException {
public void testCreatesExe() throws IOException, DbException {
testInstallerCreation(true, false);
}
@Test
public void testCreatesJar() throws IOException {
public void testCreatesJar() throws IOException, DbException {
testInstallerCreation(false, true);
}
@Test
public void testCreatesBoth() throws IOException {
public void testCreatesBoth() throws IOException, DbException {
testInstallerCreation(true, true);
}
@Test
public void testCreatesNeither() throws IOException {
public void testCreatesNeither() throws IOException, DbException {
testInstallerCreation(false, false);
}
private void testInstallerCreation(final boolean createExe,
final boolean createJar) throws IOException {
final boolean createJar) throws IOException, DbException {
final File setup = new File(testDir, "setup.dat");
TestUtils.createFile(setup, "foo bar baz");
final File invitation = new File(testDir, "invitation.dat");
@@ -112,6 +119,8 @@ public class InvitationWorkerTest extends TestCase {
context.mock(InvitationCallback.class);
final InvitationParameters params =
context.mock(InvitationParameters.class);
final DatabaseComponent database =
context.mock(DatabaseComponent.class);
context.checking(new Expectations() {{
oneOf(params).getChosenLocation();
will(returnValue(testDir));
@@ -120,6 +129,8 @@ public class InvitationWorkerTest extends TestCase {
oneOf(params).getPassword();
will(returnValue(new char[] {'x', 'y', 'z', 'z', 'y'}));
oneOf(callback).encryptingFile(invitation);
oneOf(database).getTransports();
will(returnValue(Collections.singletonMap("foo", "bar")));
oneOf(params).shouldCreateExe();
will(returnValue(createExe));
oneOf(params).shouldCreateJar();
@@ -137,7 +148,7 @@ public class InvitationWorkerTest extends TestCase {
oneOf(callback).created(expectedFiles);
}});
new InvitationWorker(callback, params).run();
new InvitationWorker(callback, params, database).run();
assertTrue(invitation.exists());
assertEquals(createExe, exe.exists());