Skip to content

Commit

Permalink
[BugFix] mock LocalClusterState settings in QueryPlanner base class (o…
Browse files Browse the repository at this point in the history
  • Loading branch information
zhongnansu authored Apr 29, 2020
1 parent 78d4158 commit 6525dca
Showing 1 changed file with 10 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@
import com.alibaba.druid.sql.parser.SQLExprParser;
import com.alibaba.druid.sql.parser.Token;
import com.amazon.opendistroforelasticsearch.sql.domain.JoinSelect;
import com.amazon.opendistroforelasticsearch.sql.esdomain.LocalClusterState;
import com.amazon.opendistroforelasticsearch.sql.exception.SqlParseException;
import com.amazon.opendistroforelasticsearch.sql.parser.ElasticSqlExprParser;
import com.amazon.opendistroforelasticsearch.sql.parser.SqlParser;
import com.amazon.opendistroforelasticsearch.sql.plugin.SqlSettings;
import com.amazon.opendistroforelasticsearch.sql.query.QueryAction;
import com.amazon.opendistroforelasticsearch.sql.query.SqlElasticRequestBuilder;
import com.amazon.opendistroforelasticsearch.sql.query.join.ESJoinQueryActionFactory;
Expand Down Expand Up @@ -61,11 +63,13 @@
import java.util.Arrays;
import java.util.List;

import static java.util.Collections.emptyList;
import static org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory.newConfigurationBuilder;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;

/**
Expand Down Expand Up @@ -110,6 +114,12 @@ public static void initLogger() {
public void init() {
MockitoAnnotations.initMocks(this);

SqlSettings settings = spy(new SqlSettings());
// Force return empty list to avoid ClusterSettings be invoked which is a final class and hard to mock.
// In this case, default value in Setting will be returned all the time.
doReturn(emptyList()).when(settings).getSettings();
LocalClusterState.state().setSqlSettings(settings);

ActionFuture mockFuture = mock(ActionFuture.class);
when(client.execute(any(), any())).thenReturn(mockFuture);

Expand Down

0 comments on commit 6525dca

Please sign in to comment.