use of com.hazelcast.simulator.protocol.Promise in project hazelcast-simulator by hazelcast.
the class TestManagerTest method test_startPhase_whenPreviousPhaseStillRunning.
@Test
public void test_startPhase_whenPreviousPhaseStillRunning() throws Exception {
TestCase testCase = new TestCase("foo").setProperty("threadCount", 1).setProperty("class", SuccessTest.class);
manager.createTest(new CreateTestOperation(testCase));
final TestContainer container = manager.getContainers().iterator().next();
// do the setup first (needed)
StubPromise setupPromise = new StubPromise();
manager.startTestPhase(new StartPhaseOperation(SETUP, "foo"), setupPromise);
setupPromise.assertCompletesEventually();
// then start with the run phase
manager.startTestPhase(new StartPhaseOperation(RUN, "foo"), mock(Promise.class));
awaitRunning(container);
// and while the run phase is running, we'll try to do a tear down
StubPromise promise = new StubPromise();
manager.startTestPhase(new StartPhaseOperation(LOCAL_TEARDOWN, "foo"), promise);
promise.assertCompletesEventually();
assertTrue(promise.getAnswer() instanceof IllegalStateException);
}
Aggregations