Search in sources :

Example 1 with MockPayload

use of io.bitsquare.p2p.mocks.MockPayload in project bitsquare by bitsquare.

the class TorNetworkNodeTest method testTorNodeAfterBothReady.

//@Test
public void testTorNodeAfterBothReady() throws InterruptedException, IOException {
    latch = new CountDownLatch(2);
    int port = 9001;
    TorNetworkNode node1 = new TorNetworkNode(port, new File("torNode_" + port));
    node1.start(new SetupListener() {

        @Override
        public void onTorNodeReady() {
            log.debug("onReadyForSendingMessages");
        }

        @Override
        public void onHiddenServicePublished() {
            log.debug("onReadyForReceivingMessages");
            latch.countDown();
        }

        @Override
        public void onSetupFailed(Throwable throwable) {
        }
    });
    int port2 = 9002;
    TorNetworkNode node2 = new TorNetworkNode(port2, new File("torNode_" + port));
    node2.start(new SetupListener() {

        @Override
        public void onTorNodeReady() {
            log.debug("onReadyForSendingMessages");
        }

        @Override
        public void onHiddenServicePublished() {
            log.debug("onReadyForReceivingMessages");
            latch.countDown();
        }

        @Override
        public void onSetupFailed(Throwable throwable) {
        }
    });
    latch.await();
    latch = new CountDownLatch(2);
    node2.addMessageListener(new MessageListener() {

        @Override
        public void onMessage(Message message, Connection connection) {
            log.debug("onMessage node2 " + message);
            latch.countDown();
        }
    });
    SettableFuture<Connection> future = node1.sendMessage(node2.getNodeAddress(), new MockPayload("msg1"));
    Futures.addCallback(future, new FutureCallback<Connection>() {

        @Override
        public void onSuccess(Connection connection) {
            log.debug("onSuccess ");
            latch.countDown();
        }

        @Override
        public void onFailure(@NotNull Throwable throwable) {
            log.debug("onFailure ");
        }
    });
    latch.await();
    latch = new CountDownLatch(2);
    node1.shutDown(() -> {
        latch.countDown();
    });
    node2.shutDown(() -> {
        latch.countDown();
    });
    latch.await();
}
Also used : Message(io.bitsquare.p2p.Message) CountDownLatch(java.util.concurrent.CountDownLatch) MockPayload(io.bitsquare.p2p.mocks.MockPayload) File(java.io.File)

Example 2 with MockPayload

use of io.bitsquare.p2p.mocks.MockPayload in project bitsquare by bitsquare.

the class TorNetworkNodeTest method testTorNodeBeforeSecondReady.

@Test
public void testTorNodeBeforeSecondReady() throws InterruptedException, IOException {
    latch = new CountDownLatch(1);
    int port = 9001;
    TorNetworkNode node1 = new TorNetworkNode(port, new File("torNode_" + port));
    node1.start(new SetupListener() {

        @Override
        public void onTorNodeReady() {
            log.debug("onReadyForSendingMessages");
        }

        @Override
        public void onHiddenServicePublished() {
            log.debug("onReadyForReceivingMessages");
            latch.countDown();
        }

        @Override
        public void onSetupFailed(Throwable throwable) {
        }
    });
    latch.await();
    latch = new CountDownLatch(1);
    int port2 = 9002;
    TorNetworkNode node2 = new TorNetworkNode(port2, new File("torNode_" + port2));
    node2.start(new SetupListener() {

        @Override
        public void onTorNodeReady() {
            log.debug("onReadyForSendingMessages");
            latch.countDown();
        }

        @Override
        public void onHiddenServicePublished() {
            log.debug("onReadyForReceivingMessages");
        }

        @Override
        public void onSetupFailed(Throwable throwable) {
        }
    });
    latch.await();
    latch = new CountDownLatch(2);
    node1.addMessageListener(new MessageListener() {

        @Override
        public void onMessage(Message message, Connection connection) {
            log.debug("onMessage node1 " + message);
            latch.countDown();
        }
    });
    SettableFuture<Connection> future = node2.sendMessage(node1.getNodeAddress(), new MockPayload("msg1"));
    Futures.addCallback(future, new FutureCallback<Connection>() {

        @Override
        public void onSuccess(Connection connection) {
            log.debug("onSuccess ");
            latch.countDown();
        }

        @Override
        public void onFailure(@NotNull Throwable throwable) {
            log.debug("onFailure ");
        }
    });
    latch.await();
    latch = new CountDownLatch(2);
    node1.shutDown(() -> {
        latch.countDown();
    });
    node2.shutDown(() -> {
        latch.countDown();
    });
    latch.await();
}
Also used : Message(io.bitsquare.p2p.Message) CountDownLatch(java.util.concurrent.CountDownLatch) MockPayload(io.bitsquare.p2p.mocks.MockPayload) File(java.io.File) Test(org.junit.Test)

Aggregations

Message (io.bitsquare.p2p.Message)2 MockPayload (io.bitsquare.p2p.mocks.MockPayload)2 File (java.io.File)2 CountDownLatch (java.util.concurrent.CountDownLatch)2 Test (org.junit.Test)1