paulo-alves-flttr opened a new issue, #17920:
URL: https://github.com/apache/druid/issues/17920

   I have an druid extension project that adds new user defined function to 
Druid SQL, but I have been facing some problems when implementing tests. I have 
used [this][1] example as reference but it is broken, since *configureGuice* 
method no longer exists as Druid 32.
   
   
     [1]: 
https://github.com/implydata/druid-example-extension/blob/master/src/test/java/io/imply/druid/example/calcite/aggregation/ExampleSumSqlAggregationTest.java
   
   I have tried the following by reading the source code from Druid:
   ```
   @ComponentSupplier(MyComponentSupplier.class)
   public class CustomSqlAggregatorTest extends BaseCalciteQueryTest {
   
       @Test
       public void testCustomAggSql() {
           cannotVectorize();
           testBuilder()
                   .sql("select CUSTOM_AGG(m1) from foo")
                   .expectedQueries(
                           List.of(
                                   Druids.newTimeseriesQueryBuilder()
                                           .dataSource(CalciteTests.DATASOURCE1)
                                           
.intervals(querySegmentSpec(Filtration.eternity()))
                                           .granularity(Granularities.ALL)
                                           
.aggregators(aggregators(getAggFactory()))
                                           .context(QUERY_CONTEXT_DEFAULT)
                                           .build()
                           )
                   )
                   .expectedResults(ImmutableList.of(new Object[]{21.0F}))
                   .run();
       }
       ...
   }
   ```
   But I get the following error:
   ```
   Caused by: java.lang.NullPointerException: Cannot read field 
"componentSupplier" because "config" is null
        at 
org.apache.druid.sql.calcite.SqlTestFrameworkConfig$ConfigurationInstance.<init>(SqlTestFrameworkConfig.java:378)
        at 
org.apache.druid.sql.calcite.SqlTestFrameworkConfig$SqlTestFrameworkConfigStore.getConfigurationInstance(SqlTestFrameworkConfig.java:253)
        at 
org.apache.druid.sql.calcite.SqlTestFrameworkConfig$Rule.get(SqlTestFrameworkConfig.java:344)
        at 
org.apache.druid.sql.calcite.BaseCalciteQueryTest.queryFramework(BaseCalciteQueryTest.java:535)
        ... 34 more
   
   ```
   My component supplier code looks like the following:
   ```
   public class MyComponentSupplier extends 
SqlTestFramework.StandardComponentSupplier {
       public MyComponentSupplier(TempDirProducer tempDirProducer) {
           super(tempDirProducer);
       }
   
       @Override
       public DruidModule getCoreModule() {
           return DruidModuleCollection.of(
                   super.getCoreModule(),
                   new MyExtensionModule()
           );
       }
   }
   ```
   
   Any suggestions?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to