use of com.yahoo.bullet.parsing.Aggregation in project bullet-core by yahoo.
the class QuerierTest method testRawQueriesWithoutWindowsThatAreClosedAreNotTimeBased.
@Test
public void testRawQueriesWithoutWindowsThatAreClosedAreNotTimeBased() {
BulletConfig config = new BulletConfig();
config.set(BulletConfig.RAW_AGGREGATION_MAX_SIZE, 10);
config.validate();
Query query = new Query();
Aggregation aggregation = new Aggregation();
aggregation.setType(Aggregation.Type.RAW);
query.setAggregation(aggregation);
query.configure(config);
Querier querier = make(Querier.Mode.ALL, query, config);
Assert.assertFalse(querier.isClosed());
Assert.assertFalse(querier.shouldBuffer());
Assert.assertEquals(querier.getWindow().getClass(), Basic.class);
querier.consume(RecordBox.get().getRecord());
Assert.assertFalse(querier.isClosed());
Assert.assertFalse(querier.shouldBuffer());
IntStream.range(0, 9).forEach(i -> querier.consume(RecordBox.get().getRecord()));
Assert.assertTrue(querier.isClosed());
Assert.assertFalse(querier.shouldBuffer());
}
use of com.yahoo.bullet.parsing.Aggregation in project bullet-core by yahoo.
the class WindowingOperationsTest method testNotForcingRawToReactive.
@Test
public void testNotForcingRawToReactive() {
BulletConfig config = new BulletConfig();
Query query = new Query();
Window window = WindowUtils.makeWindow(Window.Unit.TIME, 1000, Window.Unit.ALL, null);
window.configure(config);
query.setWindow(window);
Aggregation aggregation = new Aggregation();
aggregation.setType(Aggregation.Type.RAW);
query.setAggregation(aggregation);
Assert.assertEquals(WindowingOperations.findScheme(query, null, config).getClass(), AdditiveTumbling.class);
}
use of com.yahoo.bullet.parsing.Aggregation in project bullet-core by yahoo.
the class AggregationOperationsTest method testDistinctStrategy.
@Test
public void testDistinctStrategy() {
Aggregation aggregation = new Aggregation();
BulletConfig config = new BulletConfig();
aggregation.setType(Aggregation.Type.GROUP);
aggregation.setFields(singletonMap("field", "foo"));
aggregation.configure(config);
Assert.assertEquals(AggregationOperations.findStrategy(aggregation, config).getClass(), GroupBy.class);
}
use of com.yahoo.bullet.parsing.Aggregation in project bullet-core by yahoo.
the class AggregationOperationsTest method testGroupAllStrategy.
@Test
public void testGroupAllStrategy() {
Aggregation aggregation = new Aggregation();
BulletConfig config = new BulletConfig();
aggregation.setType(Aggregation.Type.GROUP);
aggregation.setAttributes(singletonMap(GroupOperation.OPERATIONS, singletonList(singletonMap(GroupOperation.OPERATION_TYPE, GroupOperation.GroupOperationType.COUNT.getName()))));
aggregation.configure(config);
Assert.assertEquals(AggregationOperations.findStrategy(aggregation, config).getClass(), GroupAll.class);
}
use of com.yahoo.bullet.parsing.Aggregation in project bullet-core by yahoo.
the class AggregationOperationsTest method testRawStrategy.
@Test
public void testRawStrategy() {
Aggregation aggregation = new Aggregation();
BulletConfig config = new BulletConfig();
aggregation.configure(config);
Assert.assertEquals(AggregationOperations.findStrategy(aggregation, config).getClass(), Raw.class);
}
Aggregations