use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.
the class LocalQueryExecutorTest method getRunningQueryIds_serviceNotStarted.
@Test(expected = IllegalStateException.class)
public void getRunningQueryIds_serviceNotStarted() throws Exception {
final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), mock(KafkaStreamsFactory.class));
executor.getRunningQueryIds();
}
use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.
the class LocalQueryExecutorTest method stopQuery_queryNotRunning.
@Test
public void stopQuery_queryNotRunning() throws Exception {
// Start an executor.
final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), mock(KafkaStreamsFactory.class));
executor.startAndWait();
try {
// Try to stop a query that was never stareted.
executor.stopQuery(UUID.randomUUID());
} finally {
executor.stopAndWait();
}
}
use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.
the class LocalQueryExecutorTest method stopAll.
@Test
public void stopAll() throws Exception {
// Test values.
final String ryaInstance1 = "rya1";
final StreamsQuery query1 = new StreamsQuery(UUID.randomUUID(), "SELECT * WHERE { ?a ?b ?c. }", true, false);
final String ryaInstance2 = "rya2";
final StreamsQuery query2 = new StreamsQuery(UUID.randomUUID(), "SELECT * WHERE { ?a ?b ?c. }", true, false);
// Mock the streams factory so that we can tell if the stop function is invoked by the executor.
final KafkaStreamsFactory jobFactory = mock(KafkaStreamsFactory.class);
final KafkaStreams queryJob1 = mock(KafkaStreams.class);
when(jobFactory.make(eq(ryaInstance1), eq(query1))).thenReturn(queryJob1);
final KafkaStreams queryJob2 = mock(KafkaStreams.class);
when(jobFactory.make(eq(ryaInstance2), eq(query2))).thenReturn(queryJob2);
// Start the executor that will be tested.
final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), jobFactory);
executor.startAndWait();
try {
// Tell the executor to start the queries.
executor.startQuery(ryaInstance1, query1);
executor.startQuery(ryaInstance2, query2);
// Verify both are running.
verify(queryJob1).start();
verify(queryJob2).start();
// Tell the executor to stop queries running under rya2.
executor.stopAll(ryaInstance2);
// Show the first query is still running, but the second isn't.
verify(queryJob1, never()).close();
verify(queryJob2).close();
} finally {
executor.stopAndWait();
}
}
use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.
the class LocalQueryExecutorTest method startQuery.
@Test
public void startQuery() throws Exception {
// Test values.
final String ryaInstance = "rya";
final StreamsQuery query = new StreamsQuery(UUID.randomUUID(), "SELECT * WHERE { ?a ?b ?c. }", true, false);
// Mock the streams factory so that we can tell if the start function is invoked by the executor.
final KafkaStreamsFactory jobFactory = mock(KafkaStreamsFactory.class);
final KafkaStreams queryJob = mock(KafkaStreams.class);
when(jobFactory.make(eq(ryaInstance), eq(query))).thenReturn(queryJob);
// Start the executor that will be tested.
final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), jobFactory);
executor.startAndWait();
try {
// Tell the executor to start the query.
executor.startQuery(ryaInstance, query);
// Show a job was started for that query's ID.
verify(queryJob).start();
} finally {
executor.stopAndWait();
}
}
use of org.apache.rya.streams.querymanager.QueryExecutor in project incubator-rya by apache.
the class LocalQueryExecutorTest method stopQuery_serviceNotStarted.
@Test(expected = IllegalStateException.class)
public void stopQuery_serviceNotStarted() throws Exception {
final QueryExecutor executor = new LocalQueryExecutor(mock(CreateKafkaTopic.class), mock(KafkaStreamsFactory.class));
executor.stopQuery(UUID.randomUUID());
}
Aggregations