You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by th...@apache.org on 2017/01/18 05:14:12 UTC
hive git commit: HIVE-15550 : fix arglist logging in schematool - add
missing test file
Repository: hive
Updated Branches:
refs/heads/master a6bba80e1 -> 8ff096548
HIVE-15550 : fix arglist logging in schematool - add missing test file
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/8ff09654
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/8ff09654
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/8ff09654
Branch: refs/heads/master
Commit: 8ff096548d0f94f9abb5361cce9539e71613e5d8
Parents: a6bba80
Author: Anishek Agarwal <an...@gmail.com>
Authored: Tue Jan 17 21:13:55 2017 -0800
Committer: Thejas M Nair <th...@hortonworks.com>
Committed: Tue Jan 17 21:14:01 2017 -0800
----------------------------------------------------------------------
.../apache/hive/beeline/TestHiveSchemaTool.java | 73 ++++++++++++++++++++
1 file changed, 73 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/8ff09654/beeline/src/test/org/apache/hive/beeline/TestHiveSchemaTool.java
----------------------------------------------------------------------
diff --git a/beeline/src/test/org/apache/hive/beeline/TestHiveSchemaTool.java b/beeline/src/test/org/apache/hive/beeline/TestHiveSchemaTool.java
new file mode 100644
index 0000000..8d386da
--- /dev/null
+++ b/beeline/src/test/org/apache/hive/beeline/TestHiveSchemaTool.java
@@ -0,0 +1,73 @@
+package org.apache.hive.beeline;
+
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Matchers.same;
+import static org.mockito.Mockito.when;
+import static org.powermock.api.mockito.PowerMockito.mockStatic;
+import static org.powermock.api.mockito.PowerMockito.verifyStatic;
+
+@RunWith(PowerMockRunner.class)
+@PowerMockIgnore("javax.management.*")
+@PrepareForTest({ HiveSchemaHelper.class, HiveSchemaTool.CommandBuilder.class })
+public class TestHiveSchemaTool {
+
+ String scriptFile = System.getProperty("java.io.tmpdir") + File.separator + "someScript.sql";
+ @Mock
+ private HiveConf hiveConf;
+ private HiveSchemaTool.CommandBuilder builder;
+ private String pasword = "reallySimplePassword";
+
+ @Before
+ public void setup() throws IOException {
+ mockStatic(HiveSchemaHelper.class);
+ when(HiveSchemaHelper
+ .getValidConfVar(eq(HiveConf.ConfVars.METASTORECONNECTURLKEY), same(hiveConf)))
+ .thenReturn("someURL");
+ when(HiveSchemaHelper
+ .getValidConfVar(eq(HiveConf.ConfVars.METASTORE_CONNECTION_DRIVER), same(hiveConf)))
+ .thenReturn("someDriver");
+
+ File file = new File(scriptFile);
+ if (!file.exists()) {
+ file.createNewFile();
+ }
+ builder = new HiveSchemaTool.CommandBuilder(hiveConf, "testUser", pasword, scriptFile);
+ }
+
+ @After
+ public void globalAssert() throws IOException {
+ verifyStatic();
+ HiveSchemaHelper.getValidConfVar(eq(HiveConf.ConfVars.METASTORECONNECTURLKEY), same(hiveConf));
+ HiveSchemaHelper
+ .getValidConfVar(eq(HiveConf.ConfVars.METASTORE_CONNECTION_DRIVER), same(hiveConf));
+
+ new File(scriptFile).delete();
+ }
+
+ @Test
+ public void shouldReturnStrippedPassword() throws IOException {
+ assertFalse(builder.buildToLog().contains(pasword));
+ }
+
+ @Test
+ public void shouldReturnActualPassword() throws IOException {
+ String[] strings = builder.buildToRun();
+ assertTrue(Arrays.asList(strings).contains(pasword));
+ }
+}
\ No newline at end of file