@Test
public void logicalWorkflowExecutorFactoryTest() throws Exception {

    LogicalWorkFlowCreator logWorkFlowCreator = new LogicalWorkFlowCreator(CATALOG, TABLE, CLUSTER_NAME);
    LogicalWorkflow logicalWorkflow = logWorkFlowCreator.addColumnName(COLUMN_1).build();
    ProjectParsed logWorkflowData = new ProjectParsed((Project) logicalWorkflow.getInitialSteps().get(0),
                    new MongoLogicalWorkflowValidator());
    LogicalWorkflowExecutor lwExecutor = LogicalWorkflowExecutorFactory.getLogicalWorkflowExecutor(logWorkflowData);
    assertTrue("The aggregation should not be required without groupBy statements",
                    lwExecutor instanceof BasicLogicalWorkflowExecutor);
    logWorkFlowCreator.addGroupBy(COLUMN_1);
    logicalWorkflow = logWorkFlowCreator.build();
    logWorkflowData = new ProjectParsed((Project) logicalWorkflow.getInitialSteps().get(0),
                    new MongoLogicalWorkflowValidator());
    lwExecutor = LogicalWorkflowExecutorFactory.getLogicalWorkflowExecutor(logWorkflowData);
    assertTrue("The aggregation should be required with groupBy statements",
                    lwExecutor instanceof AggregationLogicalWorkflowExecutor);
}