vdiravka commented on a change in pull request #1460: DRILL-6732: Queries are 
runnable on disable plugins
URL: https://github.com/apache/drill/pull/1460#discussion_r216296993
 
 

 ##########
 File path: 
exec/java-exec/src/test/java/org/apache/drill/exec/store/store/TestDisablePlugin.java
 ##########
 @@ -0,0 +1,56 @@
+package org.apache.drill.exec.store.store;
+
+import org.apache.drill.categories.SqlTest;
+import org.apache.drill.common.exceptions.UserRemoteException;
+import org.apache.drill.exec.store.StoragePluginRegistry;
+import org.apache.drill.exec.store.dfs.FileSystemConfig;
+import org.apache.drill.test.BaseTestQuery;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.rules.ExpectedException;
+
+import java.nio.file.Paths;
+
+import static 
org.apache.drill.exec.util.StoragePluginTestUtils.DFS_PLUGIN_NAME;
+import static org.apache.drill.exec.util.StoragePluginTestUtils.DFS_TMP_SCHEMA;
+import static org.apache.drill.exec.util.StoragePluginTestUtils.TMP_SCHEMA;
+import static org.hamcrest.CoreMatchers.containsString;
+
+@Category(SqlTest.class)
+public class TestDisablePlugin extends BaseTestQuery {
+  private static final String tmp_table = "tmp_plugin_test";
+
+  @Rule
+  public ExpectedException thrown = ExpectedException.none();
+
+  @BeforeClass
+  public static void setUp() throws Exception {
+    StoragePluginRegistry pluginRegistry = getDrillbitContext().getStorage();
+    FileSystemConfig pluginConfig = (FileSystemConfig) 
pluginRegistry.getPlugin(DFS_PLUGIN_NAME).getConfig();
+    pluginConfig.setEnabled(false);
+    
dirTestWatcher.makeSubDir(Paths.get(pluginConfig.getWorkspaces().get(TMP_SCHEMA).getLocation(),
 tmp_table));
+    pluginRegistry.createOrUpdate(DFS_PLUGIN_NAME, pluginConfig, true);
+  }
+
+  @AfterClass
+  public static void restore() throws Exception {
+    StoragePluginRegistry pluginRegistry = getDrillbitContext().getStorage();
+    FileSystemConfig pluginConfig = (FileSystemConfig) 
pluginRegistry.getPlugin(DFS_PLUGIN_NAME).getConfig();
+    pluginConfig.setEnabled(true);
+    pluginRegistry.createOrUpdate(DFS_PLUGIN_NAME, pluginConfig, true);
+  }
+
+  @Test
+  public void testDisablePluginQuery() throws Exception {
+    expectUserRemoteExceptionWithMessage(String.format("VALIDATION ERROR: 
Schema [[%s, %s]] is not valid with respect to either root schema or current 
default schema", DFS_PLUGIN_NAME, TMP_SCHEMA));
+    test("select * from %s.%s", DFS_TMP_SCHEMA, tmp_table);
+  }
+
+  private void expectUserRemoteExceptionWithMessage(String message) {
 
 Review comment:
   Move `String.format` to this helper method.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to