diff --git a/briar-tests/.classpath b/briar-tests/.classpath index b9e40f98d..ac0eb6392 100644 --- a/briar-tests/.classpath +++ b/briar-tests/.classpath @@ -13,5 +13,6 @@ + diff --git a/briar-tests/src/net/sf/briar/plugins/modem/HangupClientTest.java b/briar-tests/src/net/sf/briar/plugins/modem/HangupClientTest.java new file mode 100644 index 000000000..433ebcd72 --- /dev/null +++ b/briar-tests/src/net/sf/briar/plugins/modem/HangupClientTest.java @@ -0,0 +1,42 @@ +package net.sf.briar.plugins.modem; + +import static java.util.logging.Level.INFO; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.logging.Logger; + +public class HangupClientTest { + + public static void main(String[] args) throws Exception { + if(args.length != 2) { + System.err.println("Please specify the server's phone number " + + " and the serial port"); + System.exit(1); + } + String number = args[0]; + String portName = args[1]; + Logger.getLogger("net.sf.briar").setLevel(INFO); + ExecutorService executor = Executors.newCachedThreadPool(); + Modem.Callback callback = new Modem.Callback() { + public void incomingCallConnected() { + System.err.println("Unexpected incoming call"); + System.exit(1); + } + }; + try { + Modem modem = new ModemImpl(executor, callback, portName); + modem.start(); + System.out.println("Dialling"); + if(modem.dial(number)) { + System.out.println("Connected"); + Thread.sleep(10 * 1000); + } else { + System.out.println("Did not connect"); + } + modem.stop(); + } finally { + executor.shutdown(); + } + } +} diff --git a/briar-tests/src/net/sf/briar/plugins/modem/HangupServerTest.java b/briar-tests/src/net/sf/briar/plugins/modem/HangupServerTest.java new file mode 100644 index 000000000..c1ed015cc --- /dev/null +++ b/briar-tests/src/net/sf/briar/plugins/modem/HangupServerTest.java @@ -0,0 +1,43 @@ +package net.sf.briar.plugins.modem; + +import static java.util.concurrent.TimeUnit.SECONDS; +import static java.util.logging.Level.INFO; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.logging.Logger; + +public class HangupServerTest { + + public static void main(String[] args) throws Exception { + if(args.length != 1) { + System.err.println("Please specify the serial port"); + System.exit(1); + } + String portName = args[0]; + Logger.getLogger("net.sf.briar").setLevel(INFO); + ExecutorService executor = Executors.newCachedThreadPool(); + final CountDownLatch latch = new CountDownLatch(1); + Modem.Callback callback = new Modem.Callback() { + public void incomingCallConnected() { + System.out.println("Connected"); + latch.countDown(); + } + }; + try { + final Modem modem = new ModemImpl(executor, callback, portName); + modem.start(); + System.out.println("Waiting for incoming call"); + if(latch.await(60, SECONDS)) { + System.out.println("Hanging up"); + modem.hangUp(); + } else { + System.out.println("Did not connect"); + } + modem.stop(); + } finally { + executor.shutdown(); + } + } +} diff --git a/briar-tests/src/net/sf/briar/plugins/modem/ModemClientTest.java b/briar-tests/src/net/sf/briar/plugins/modem/ModemClientTest.java index 2d3bd7784..f50407936 100644 --- a/briar-tests/src/net/sf/briar/plugins/modem/ModemClientTest.java +++ b/briar-tests/src/net/sf/briar/plugins/modem/ModemClientTest.java @@ -44,5 +44,4 @@ public class ModemClientTest extends DuplexClientTest { executor.shutdown(); } } - }