Search in sources :

Example 1 with Controller

use of com.datatorrent.bufferserver.support.Controller in project apex-core by apache.

the class ServerTest method testPurgeAll.

@Test(dependsOnMethods = { "testPurgeSome" })
@SuppressWarnings("SleepWhileInLoop")
public void testPurgeAll() throws InterruptedException {
    bsc = new Controller("MyController");
    eventloopClient.connect(address, bsc);
    bsc.purge(null, "MyPublisher", 0x7afebabe00000001L);
    for (int i = 0; i < spinCount; i++) {
        Thread.sleep(10);
        if (bsc.data != null) {
            break;
        }
    }
    eventloopClient.disconnect(bsc);
    assertNotNull(bsc.data);
    bss = new Subscriber("MyPublisher");
    eventloopClient.connect(address, bss);
    bss.activate(null, "BufferServerOutput/BufferServerSubscriber", "MyPublisher", 0, null, 0L, 0);
    for (int i = 0; i < spinCount; i++) {
        Thread.sleep(10);
        if (!bss.resetPayloads.isEmpty()) {
            break;
        }
    }
    Thread.sleep(10);
    eventloopClient.disconnect(bss);
    assertEquals(bss.tupleCount.get(), 1);
}
Also used : Subscriber(com.datatorrent.bufferserver.support.Subscriber) Controller(com.datatorrent.bufferserver.support.Controller) Test(org.testng.annotations.Test)

Example 2 with Controller

use of com.datatorrent.bufferserver.support.Controller in project apex-core by apache.

the class ServerTest method testPurgeNonExistent.

@Test(dependsOnMethods = { "testATonOfData" })
@SuppressWarnings("SleepWhileInLoop")
public void testPurgeNonExistent() throws InterruptedException {
    bsc = new Controller("MyController");
    eventloopClient.connect(address, bsc);
    bsc.purge(null, "MyPublisher", 0);
    for (int i = 0; i < spinCount; i++) {
        Thread.sleep(10);
        if (bsc.data != null) {
            break;
        }
    }
    eventloopClient.disconnect(bsc);
    assertNotNull(bsc.data);
    bss = new Subscriber("MyPublisher");
    eventloopClient.connect(address, bss);
    bss.activate(null, "BufferServerOutput/BufferServerSubscriber", "MyPublisher", 0, null, 0L, 0);
    for (int i = 0; i < spinCount; i++) {
        Thread.sleep(10);
        if (bss.tupleCount.get() == 205) {
            break;
        }
    }
    Thread.sleep(10);
    eventloopClient.disconnect(bss);
    assertEquals(bss.tupleCount.get(), 205);
}
Also used : Subscriber(com.datatorrent.bufferserver.support.Subscriber) Controller(com.datatorrent.bufferserver.support.Controller) Test(org.testng.annotations.Test)

Example 3 with Controller

use of com.datatorrent.bufferserver.support.Controller in project apex-core by apache.

the class DiskStorageTest method setupServerAndClients.

@BeforeClass
public static void setupServerAndClients() throws Exception {
    eventloopServer = DefaultEventLoop.createEventLoop("server");
    eventloopServer.start();
    eventloopClient = DefaultEventLoop.createEventLoop("client");
    eventloopClient.start();
    instance = new Server(eventloopServer, 0, 1024, 8);
    instance.setSpoolStorage(new DiskStorage());
    address = instance.run();
    assertFalse(address.isUnresolved());
    bsp = new Publisher("MyPublisher");
    eventloopClient.connect(address, bsp);
    bss = new Subscriber("MySubscriber");
    eventloopClient.connect(address, bss);
    bsc = new Controller("MyPublisher");
    eventloopClient.connect(address, bsc);
}
Also used : Server(com.datatorrent.bufferserver.server.Server) Subscriber(com.datatorrent.bufferserver.support.Subscriber) Publisher(com.datatorrent.bufferserver.support.Publisher) Controller(com.datatorrent.bufferserver.support.Controller) BeforeClass(org.testng.annotations.BeforeClass)

Example 4 with Controller

use of com.datatorrent.bufferserver.support.Controller in project apex-core by apache.

the class ServerTest method testReset.

@Test(dependsOnMethods = { "testRepublishLowerWindow" })
@SuppressWarnings("SleepWhileInLoop")
public void testReset() throws InterruptedException {
    bsc = new Controller("MyController");
    eventloopClient.connect(address, bsc);
    bsc.reset(null, "MyPublisher", 0x7afebabe00000001L);
    for (int i = 0; i < spinCount * 2; i++) {
        Thread.sleep(10);
        if (bsc.data != null) {
            break;
        }
    }
    eventloopClient.disconnect(bsc);
    assertNotNull(bsc.data);
    bss = new Subscriber("MySubscriber");
    eventloopClient.connect(address, bss);
    bss.activate(null, "BufferServerOutput/BufferServerSubscriber", "MyPublisher", 0, null, 0L, 0);
    for (int i = 0; i < spinCount; i++) {
        Thread.sleep(10);
        if (bss.tupleCount.get() > 0) {
            break;
        }
    }
    eventloopClient.disconnect(bss);
    assertEquals(bss.tupleCount.get(), 0);
}
Also used : Subscriber(com.datatorrent.bufferserver.support.Subscriber) Controller(com.datatorrent.bufferserver.support.Controller) Test(org.testng.annotations.Test)

Example 5 with Controller

use of com.datatorrent.bufferserver.support.Controller in project apex-core by apache.

the class ServerTest method testPurgeSome.

@Test(dependsOnMethods = { "testPurgeNonExistent" })
@SuppressWarnings("SleepWhileInLoop")
public void testPurgeSome() throws InterruptedException {
    bsc = new Controller("MyController");
    eventloopClient.connect(address, bsc);
    bsc.purge(null, "MyPublisher", 0x7afebabe00000000L);
    for (int i = 0; i < spinCount; i++) {
        Thread.sleep(10);
        if (bsc.data != null) {
            break;
        }
    }
    eventloopClient.disconnect(bsc);
    assertNotNull(bsc.data);
    bss = new Subscriber("MyPublisher");
    eventloopClient.connect(address, bss);
    bss.activate(null, "BufferServerOutput/BufferServerSubscriber", "MyPublisher", 0, null, 0L, 0);
    for (int i = 0; i < spinCount; i++) {
        Thread.sleep(10);
        if (bss.tupleCount.get() == 103) {
            break;
        }
    }
    eventloopClient.disconnect(bss);
    assertEquals(bss.tupleCount.get(), 103);
}
Also used : Subscriber(com.datatorrent.bufferserver.support.Subscriber) Controller(com.datatorrent.bufferserver.support.Controller) Test(org.testng.annotations.Test)

Aggregations

Controller (com.datatorrent.bufferserver.support.Controller)5 Subscriber (com.datatorrent.bufferserver.support.Subscriber)5 Test (org.testng.annotations.Test)4 Server (com.datatorrent.bufferserver.server.Server)1 Publisher (com.datatorrent.bufferserver.support.Publisher)1 BeforeClass (org.testng.annotations.BeforeClass)1