Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1045#discussion_r162511432 --- Diff: exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java --- @@ -84,28 +82,17 @@ protected void testSqlPlan(String sqlCommands) throws Exception { systemOptions.init(); @SuppressWarnings("resource") final UserSession userSession = UserSession.Builder.newBuilder().withOptionManager(systemOptions).build(); - final SessionOptionManager sessionOptions = (SessionOptionManager) userSession.getOptions(); + final SessionOptionManager sessionOptions = userSession.getOptions(); final QueryOptionManager queryOptions = new QueryOptionManager(sessionOptions); final ExecutionControls executionControls = new ExecutionControls(queryOptions, DrillbitEndpoint.getDefaultInstance()); - new NonStrictExpectations() { - { - dbContext.getMetrics(); - result = new MetricRegistry(); - dbContext.getAllocator(); - result = allocator; - dbContext.getConfig(); - result = config; - dbContext.getOptionManager(); - result = systemOptions; - dbContext.getStoreProvider(); - result = provider; - dbContext.getClasspathScan(); - result = scanResult; - dbContext.getLpPersistence(); - result = logicalPlanPersistence; - } - }; + when(dbContext.getMetrics()).thenReturn(new MetricRegistry()); + when(dbContext.getAllocator()).thenReturn(allocator); + when(dbContext.getConfig()).thenReturn(config); + when(dbContext.getOptionManager()).thenReturn(systemOptions); + when(dbContext.getStoreProvider()).thenReturn(provider); + when(dbContext.getClasspathScan()).thenReturn(scanResult); + when(dbContext.getLpPersistence()).thenReturn(logicalPlanPersistence); --- End diff -- I completely agree with this in the long term. Since this code deals with the QueryContext I did not dive into creating an interface for the QueryContext and a Mock implementation of the interface. I want to limit the scope of this PR since it is already quite large, but I have created a follow up ticket to handle the mocking of the QueryContext correctly https://issues.apache.org/jira/browse/DRILL-6097 . As an additional note, the only reason why this code was changed was to take a step towards removing JMockit which does not play nice with Eclipse as you have noticed. Removing JMockit and replacing it with Mockito was the easiest thing to do at this point. Once this change goes in we can revisit the QueryContext in DRILL-6097.
---