package com.rayo.server.test;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.TimeUnit;
import com.voxeo.logging.Loggerf;
import com.voxeo.moho.State;
import com.voxeo.moho.event.CallCompleteEvent;
import com.voxeo.moho.event.Observer;
public class IntegrationTestObserver implements Observer {
private static final Loggerf log = Loggerf.getLogger(IntegrationTestObserver.class);
public static enum TestResult { COMPLETE, FAILED };
private ArrayBlockingQueue<TestResult> results = new ArrayBlockingQueue<IntegrationTestObserver.TestResult>(1);
@State
public void onCallComplete(CallCompleteEvent cce) {
results.add(TestResult.COMPLETE);
}
public TestResult waitForResult() {
try {
return results.poll(10, TimeUnit.SECONDS);
} catch (InterruptedException e) {
log.error(e.getMessage(),e);
return null;
}
}
}