Search in sources :

Example 1 with ConnectionStub

use of com.notnoop.apns.internal.QueuedApnsServiceTest.ConnectionStub in project java-apns by notnoop.

the class QueuedApnsServiceTCTest method doNotBlock.

@Test
public void doNotBlock() {
    final int delay = 10000;
    ConnectionStub connection = spy(new ConnectionStub(delay, 2));
    QueuedApnsService queued = new QueuedApnsService(new ApnsServiceImpl(connection, null));
    queued.start();
    long time1 = System.currentTimeMillis();
    queued.push(notification);
    queued.push(notification);
    long time2 = System.currentTimeMillis();
    assertTrue("queued.push() blocks", (time2 - time1) < delay);
    connection.interrupt();
    connection.semaphore.acquireUninterruptibly();
    verify(connection, times(2)).sendMessage(notification);
    queued.stop();
}
Also used : ConnectionStub(com.notnoop.apns.internal.QueuedApnsServiceTest.ConnectionStub) Test(org.junit.Test)

Example 2 with ConnectionStub

use of com.notnoop.apns.internal.QueuedApnsServiceTest.ConnectionStub in project java-apns by notnoop.

the class QueuedApnsServiceTCTest method pushEventually.

@Test
public void pushEventually() {
    ConnectionStub connection = spy(new ConnectionStub(0, 1));
    ApnsService service = newService(connection, null);
    service.push(notification);
    connection.semaphore.acquireUninterruptibly();
    verify(connection, times(1)).sendMessage(notification);
}
Also used : ConnectionStub(com.notnoop.apns.internal.QueuedApnsServiceTest.ConnectionStub) ApnsService(com.notnoop.apns.ApnsService) Test(org.junit.Test)

Aggregations

ConnectionStub (com.notnoop.apns.internal.QueuedApnsServiceTest.ConnectionStub)2 Test (org.junit.Test)2 ApnsService (com.notnoop.apns.ApnsService)1