mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-14 11:49:04 +01:00
Moved defunct invitation and installer code to sandpit repo.
This commit is contained in:
@@ -24,7 +24,6 @@
|
||||
<test name='net.sf.briar.db.DatabaseCleanerImplTest'/>
|
||||
<test name='net.sf.briar.db.DatabaseComponentImplTest'/>
|
||||
<test name='net.sf.briar.i18n.I18nTest'/>
|
||||
<test name='net.sf.briar.invitation.InvitationWorkerTest'/>
|
||||
<test name='net.sf.briar.lifecycle.ShutdownManagerImplTest'/>
|
||||
<test name='net.sf.briar.lifecycle.WindowsShutdownManagerImplTest'/>
|
||||
<test name='net.sf.briar.plugins.PluginManagerImplTest'/>
|
||||
@@ -47,7 +46,6 @@
|
||||
<test name='net.sf.briar.protocol.simplex.SimplexConnectionReadWriteTest'/>
|
||||
<test name='net.sf.briar.serial.ReaderImplTest'/>
|
||||
<test name='net.sf.briar.serial.WriterImplTest'/>
|
||||
<test name='net.sf.briar.setup.SetupWorkerTest'/>
|
||||
<test name='net.sf.briar.transport.ConnectionReaderImplTest'/>
|
||||
<test name='net.sf.briar.transport.ConnectionRecogniserImplTest'/>
|
||||
<test name='net.sf.briar.transport.ConnectionRegistryImplTest'/>
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
package net.sf.briar.invitation;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import net.sf.briar.BriarTestCase;
|
||||
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;
|
||||
import net.sf.briar.api.protocol.Transport;
|
||||
import net.sf.briar.api.protocol.TransportId;
|
||||
import net.sf.briar.api.protocol.TransportIndex;
|
||||
import net.sf.briar.api.serial.Writer;
|
||||
import net.sf.briar.api.serial.WriterFactory;
|
||||
|
||||
import org.jmock.Expectations;
|
||||
import org.jmock.Mockery;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
public class InvitationWorkerTest extends BriarTestCase {
|
||||
|
||||
private final File testDir = TestUtils.getTestDirectory();
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
testDir.mkdirs();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHaltsIfDestinationDoesNotExist() {
|
||||
final File nonExistent = new File(testDir, "does.not.exist");
|
||||
Mockery context = new Mockery();
|
||||
final InvitationCallback callback =
|
||||
context.mock(InvitationCallback.class);
|
||||
final InvitationParameters params =
|
||||
context.mock(InvitationParameters.class);
|
||||
final DatabaseComponent database =
|
||||
context.mock(DatabaseComponent.class);
|
||||
final WriterFactory writerFactory = context.mock(WriterFactory.class);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(params).getChosenLocation();
|
||||
will(returnValue(nonExistent));
|
||||
oneOf(callback).notFound(nonExistent);
|
||||
}});
|
||||
|
||||
new InvitationWorker(callback, params, database, writerFactory).run();
|
||||
|
||||
context.assertIsSatisfied();
|
||||
File[] children = testDir.listFiles();
|
||||
assertNotNull(children);
|
||||
assertEquals(0, children.length);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHaltsIfDestinationIsNotADirectory() throws IOException {
|
||||
final File exists = new File(testDir, "exists");
|
||||
TestUtils.createFile(exists, "foo");
|
||||
assertFalse(exists.isDirectory());
|
||||
Mockery context = new Mockery();
|
||||
final InvitationCallback callback =
|
||||
context.mock(InvitationCallback.class);
|
||||
final InvitationParameters params =
|
||||
context.mock(InvitationParameters.class);
|
||||
final DatabaseComponent database =
|
||||
context.mock(DatabaseComponent.class);
|
||||
final WriterFactory writerFactory = context.mock(WriterFactory.class);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(params).getChosenLocation();
|
||||
will(returnValue(exists));
|
||||
oneOf(callback).notDirectory(exists);
|
||||
}});
|
||||
|
||||
new InvitationWorker(callback, params, database, writerFactory).run();
|
||||
|
||||
context.assertIsSatisfied();
|
||||
File[] children = testDir.listFiles();
|
||||
assertNotNull(children);
|
||||
assertEquals(1, children.length);
|
||||
assertEquals(exists, children[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreatesExe() throws IOException, DbException {
|
||||
testInstallerCreation(true, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreatesJar() throws IOException, DbException {
|
||||
testInstallerCreation(false, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreatesBoth() throws IOException, DbException {
|
||||
testInstallerCreation(true, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreatesNeither() throws IOException, DbException {
|
||||
testInstallerCreation(false, false);
|
||||
}
|
||||
|
||||
private void testInstallerCreation(final boolean createExe,
|
||||
final boolean createJar) throws IOException, DbException {
|
||||
TransportId transportId = new TransportId(TestUtils.getRandomId());
|
||||
TransportIndex transportIndex = new TransportIndex(13);
|
||||
Transport transport = new Transport(transportId, transportIndex,
|
||||
Collections.singletonMap("foo", "bar"));
|
||||
final Collection<Transport> transports =
|
||||
Collections.singletonList(transport);
|
||||
final File setup = new File(testDir, "setup.dat");
|
||||
TestUtils.createFile(setup, "foo bar baz");
|
||||
final File invitation = new File(testDir, "invitation.dat");
|
||||
final File exe = new File(testDir, "briar.exe");
|
||||
final File jar = new File(testDir, "briar.jar");
|
||||
assertTrue(setup.exists());
|
||||
assertFalse(invitation.exists());
|
||||
assertFalse(exe.exists());
|
||||
assertFalse(jar.exists());
|
||||
final List<File> expectedFiles = new ArrayList<File>();
|
||||
expectedFiles.add(invitation);
|
||||
if(createExe) expectedFiles.add(exe);
|
||||
if(createJar) expectedFiles.add(jar);
|
||||
Mockery context = new Mockery();
|
||||
final InvitationCallback callback =
|
||||
context.mock(InvitationCallback.class);
|
||||
final InvitationParameters params =
|
||||
context.mock(InvitationParameters.class);
|
||||
final DatabaseComponent database =
|
||||
context.mock(DatabaseComponent.class);
|
||||
final WriterFactory writerFactory = context.mock(WriterFactory.class);
|
||||
final Writer writer = context.mock(Writer.class);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(params).getChosenLocation();
|
||||
will(returnValue(testDir));
|
||||
allowing(callback).isCancelled();
|
||||
will(returnValue(false));
|
||||
oneOf(params).getPassword();
|
||||
will(returnValue(new char[] {'x', 'y', 'z', 'z', 'y'}));
|
||||
oneOf(callback).encryptingFile(invitation);
|
||||
oneOf(database).getLocalTransports();
|
||||
will(returnValue(transports));
|
||||
oneOf(writerFactory).createWriter(with(any(OutputStream.class)));
|
||||
will(returnValue(writer));
|
||||
oneOf(writer).writeList(transports);
|
||||
oneOf(params).shouldCreateExe();
|
||||
will(returnValue(createExe));
|
||||
oneOf(params).shouldCreateJar();
|
||||
will(returnValue(createJar));
|
||||
if(createExe) {
|
||||
oneOf(params).getSetupDat();
|
||||
will(returnValue(setup));
|
||||
oneOf(callback).copyingFile(exe);
|
||||
}
|
||||
if(createJar) {
|
||||
oneOf(params).getSetupDat();
|
||||
will(returnValue(setup));
|
||||
oneOf(callback).copyingFile(jar);
|
||||
}
|
||||
oneOf(callback).created(expectedFiles);
|
||||
}});
|
||||
|
||||
new InvitationWorker(callback, params, database, writerFactory).run();
|
||||
|
||||
assertTrue(invitation.exists());
|
||||
assertEquals(createExe, exe.exists());
|
||||
assertEquals(createJar, jar.exists());
|
||||
if(createExe) assertEquals(exe.length(), setup.length());
|
||||
if(createJar) assertEquals(jar.length(), setup.length());
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
TestUtils.deleteTestDirectory(testDir);
|
||||
}
|
||||
}
|
||||
@@ -1,171 +0,0 @@
|
||||
package net.sf.briar.setup;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
import net.sf.briar.BriarTestCase;
|
||||
import net.sf.briar.TestUtils;
|
||||
import net.sf.briar.api.i18n.I18n;
|
||||
import net.sf.briar.api.setup.SetupCallback;
|
||||
import net.sf.briar.api.setup.SetupParameters;
|
||||
import net.sf.briar.util.ZipUtils;
|
||||
|
||||
import org.jmock.Expectations;
|
||||
import org.jmock.Mockery;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
public class SetupWorkerTest extends BriarTestCase {
|
||||
|
||||
private static final int HEADER_SIZE = 1234;
|
||||
|
||||
private final File testDir = TestUtils.getTestDirectory();
|
||||
private final File jar = new File(testDir, "test.jar");
|
||||
|
||||
@Before
|
||||
public void setUp() throws IOException {
|
||||
testDir.mkdirs();
|
||||
jar.createNewFile();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHaltsIfNotRunningFromJar() {
|
||||
Mockery context = new Mockery();
|
||||
final SetupCallback callback = context.mock(SetupCallback.class);
|
||||
SetupParameters params = context.mock(SetupParameters.class);
|
||||
I18n i18n = context.mock(I18n.class);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(callback).error("Not running from jar");
|
||||
}});
|
||||
|
||||
new SetupWorker(callback, params, i18n, testDir).run();
|
||||
|
||||
context.assertIsSatisfied();
|
||||
File[] children = testDir.listFiles();
|
||||
assertNotNull(children);
|
||||
assertEquals(1, children.length);
|
||||
assertEquals(jar, children[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHaltsIfDestinationDoesNotExist() {
|
||||
final File nonExistent = new File(testDir, "does.not.exist");
|
||||
Mockery context = new Mockery();
|
||||
final SetupCallback callback = context.mock(SetupCallback.class);
|
||||
final SetupParameters params = context.mock(SetupParameters.class);
|
||||
I18n i18n = context.mock(I18n.class);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(params).getChosenLocation();
|
||||
will(returnValue(nonExistent));
|
||||
oneOf(callback).notFound(nonExistent);
|
||||
}});
|
||||
|
||||
new SetupWorker(callback, params, i18n, jar).run();
|
||||
|
||||
context.assertIsSatisfied();
|
||||
File[] children = testDir.listFiles();
|
||||
assertNotNull(children);
|
||||
assertEquals(1, children.length);
|
||||
assertEquals(jar, children[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHaltsIfDestinationIsNotADirectory() {
|
||||
Mockery context = new Mockery();
|
||||
final SetupCallback callback = context.mock(SetupCallback.class);
|
||||
final SetupParameters params = context.mock(SetupParameters.class);
|
||||
I18n i18n = context.mock(I18n.class);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(params).getChosenLocation();
|
||||
will(returnValue(jar));
|
||||
oneOf(callback).notDirectory(jar);
|
||||
}});
|
||||
|
||||
new SetupWorker(callback, params, i18n, jar).run();
|
||||
|
||||
context.assertIsSatisfied();
|
||||
File[] children = testDir.listFiles();
|
||||
assertNotNull(children);
|
||||
assertEquals(1, children.length);
|
||||
assertEquals(jar, children[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreatesExpectedFiles() throws IOException {
|
||||
final File setupDat = new File(testDir, "Briar/Data/setup.dat");
|
||||
final File jreFoo = new File(testDir, "Briar/Data/jre/foo");
|
||||
final File fooJar = new File(testDir, "Briar/Data/foo.jar");
|
||||
final File fooTtf = new File(testDir, "Briar/Data/foo.ttf");
|
||||
final File fooXyz = new File(testDir, "Briar/Data/foo.xyz");
|
||||
createJar();
|
||||
|
||||
Mockery context = new Mockery();
|
||||
final SetupCallback callback = context.mock(SetupCallback.class);
|
||||
final SetupParameters params = context.mock(SetupParameters.class);
|
||||
final I18n i18n = context.mock(I18n.class);
|
||||
context.checking(new Expectations() {{
|
||||
oneOf(params).getChosenLocation();
|
||||
will(returnValue(testDir));
|
||||
allowing(callback).isCancelled();
|
||||
will(returnValue(false));
|
||||
oneOf(callback).copyingFile(setupDat);
|
||||
oneOf(params).getExeHeaderSize();
|
||||
will(returnValue((long) HEADER_SIZE));
|
||||
oneOf(callback).extractingFile(jreFoo);
|
||||
oneOf(callback).extractingFile(fooJar);
|
||||
oneOf(callback).extractingFile(fooTtf);
|
||||
oneOf(i18n).saveLocale(new File(testDir, "Briar"));
|
||||
oneOf(callback).installed(new File(testDir, "Briar"));
|
||||
}});
|
||||
|
||||
new SetupWorker(callback, params, i18n, jar).run();
|
||||
|
||||
context.assertIsSatisfied();
|
||||
assertTrue(setupDat.exists());
|
||||
assertTrue(setupDat.isFile());
|
||||
assertEquals(jar.length(), setupDat.length());
|
||||
assertTrue(jreFoo.exists());
|
||||
assertTrue(jreFoo.isFile());
|
||||
assertEquals("one one one".length(), jreFoo.length());
|
||||
assertTrue(fooJar.exists());
|
||||
assertTrue(fooJar.isFile());
|
||||
assertEquals("two two two".length(), fooJar.length());
|
||||
assertTrue(fooTtf.exists());
|
||||
assertTrue(fooTtf.isFile());
|
||||
assertEquals("three three three".length(), fooTtf.length());
|
||||
assertFalse(fooXyz.exists());
|
||||
assertTrue(new File(testDir, "Briar/run-windows.vbs").exists());
|
||||
assertTrue(new File(testDir, "Briar/run-mac.command").exists());
|
||||
assertTrue(new File(testDir, "Briar/run-linux.sh").exists());
|
||||
}
|
||||
|
||||
private void createJar() throws IOException {
|
||||
FileOutputStream out = new FileOutputStream(jar);
|
||||
byte[] header = new byte[HEADER_SIZE];
|
||||
out.write(header);
|
||||
ZipOutputStream zip = new ZipOutputStream(out);
|
||||
File temp = new File(testDir, "temp");
|
||||
TestUtils.createFile(temp, "one one one");
|
||||
ZipUtils.copyToZip("jre/foo", temp, zip);
|
||||
temp.delete();
|
||||
TestUtils.createFile(temp, "two two two");
|
||||
ZipUtils.copyToZip("foo.jar", temp, zip);
|
||||
temp.delete();
|
||||
TestUtils.createFile(temp, "three three three");
|
||||
ZipUtils.copyToZip("foo.ttf", temp, zip);
|
||||
temp.delete();
|
||||
TestUtils.createFile(temp, "four four four");
|
||||
ZipUtils.copyToZip("foo.xyz", temp, zip);
|
||||
temp.delete();
|
||||
zip.flush();
|
||||
zip.close();
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
TestUtils.deleteTestDirectory(testDir);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user