You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sn...@apache.org on 2015/03/05 04:02:25 UTC

incubator-ranger git commit: RANGER-234: modification to UT - to work with recent changes in Hadoop Common

Repository: incubator-ranger
Updated Branches:
  refs/heads/master 9ee9b2c14 -> b8d94100f


RANGER-234: modification to UT  - to work with recent changes in Hadoop Common


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/b8d94100
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/b8d94100
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/b8d94100

Branch: refs/heads/master
Commit: b8d94100f160810808378db216710192d35ae7ac
Parents: 9ee9b2c
Author: sneethiraj <sn...@apache.org>
Authored: Wed Mar 4 22:02:15 2015 -0500
Committer: sneethiraj <sn...@apache.org>
Committed: Wed Mar 4 22:02:15 2015 -0500

----------------------------------------------------------------------
 .../credentialapi/TestCredentialReader.java     | 40 +++++++++++++++++--
 .../ranger/credentialapi/Testbuildks.java       | 41 +++++++++++++++++++-
 2 files changed, 77 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b8d94100/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/TestCredentialReader.java
----------------------------------------------------------------------
diff --git a/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/TestCredentialReader.java b/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/TestCredentialReader.java
index fac8148..8dc64a7 100644
--- a/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/TestCredentialReader.java
+++ b/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/TestCredentialReader.java
@@ -21,9 +21,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
+import java.lang.reflect.Field;
 
-import org.apache.ranger.credentialapi.CredentialReader;
-import org.apache.ranger.credentialapi.buildks;
+import org.apache.hadoop.security.alias.CredentialShell;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,12 +44,46 @@ public class TestCredentialReader {
     assertEquals( "PassworD123", password);
     assertTrue(password,"PassworD123".equals(password));
     //delete after use
-    String[] argsdeleteCommand = {"delete", "TestCredential2", "-provider", "jceks://file@/" + keystoreFile};
+    
+    String[] argsdeleteCommand = null ;
+    
+    if (isCredentialShellInteractiveEnabled()) {
+    	argsdeleteCommand = new String[] {"delete", "TestCredential2", "-f", "-provider", "jceks://file@/" + keystoreFile};
+    }
+    else {
+    	argsdeleteCommand = new String[] {"delete", "TestCredential2", "-provider", "jceks://file@/" + keystoreFile};
+    }
+    
 	buildks buildksOBJ=new buildks();
 	buildksOBJ.deleteCredential(argsdeleteCommand);
     
   }
   
+	private static boolean isCredentialShellInteractiveEnabled() {
+		boolean ret = false ;
+		
+		String fieldName = "interactive" ;
+		
+		CredentialShell cs = new CredentialShell() ;
+		
+		try {
+			Field interactiveField = cs.getClass().getDeclaredField(fieldName) ;
+			
+			if (interactiveField != null) {
+				interactiveField.setAccessible(true);
+				ret = interactiveField.getBoolean(cs) ;
+				System.out.println("FOUND value of [" + fieldName + "] field in the Class [" + cs.getClass().getName() + "] = [" + ret + "]") ;
+			}
+		} catch (Throwable e) {
+			System.out.println("Unable to find the value of [" + fieldName + "] field in the Class [" + cs.getClass().getName() + "]. Skiping -f option") ;
+			e.printStackTrace();
+			ret = false;
+		}
+		
+		return ret ;
+		
+	}
+  
   
  
   

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b8d94100/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/Testbuildks.java
----------------------------------------------------------------------
diff --git a/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/Testbuildks.java b/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/Testbuildks.java
index d01f842..f336186 100644
--- a/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/Testbuildks.java
+++ b/credentialbuilder/src/test/java/org/apache/ranger/credentialapi/Testbuildks.java
@@ -21,7 +21,9 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
+import java.lang.reflect.Field;
 
+import org.apache.hadoop.security.alias.CredentialShell;
 import org.apache.ranger.credentialapi.buildks;
 import org.junit.Test;
 
@@ -45,8 +47,18 @@ public class Testbuildks {
     assertEquals("PassworD123", pw);
     assertTrue(pw.equals("PassworD123"));
     boolean getCredentialPassed = pw.equals("PassworD123");
+
+    String[] argsDeleteCommand = null ;
+    
+    if (isCredentialShellInteractiveEnabled()) {
+        argsDeleteCommand = new String[] {"delete", "TestCredential1", "-f", "-provider", "jceks://file@/" +keystoreFile };
+    	
+    }
+    else {
+        argsDeleteCommand = new String[] {"delete", "TestCredential1", "-provider", "jceks://file@/" +keystoreFile };
+    	
+    }
     
-    String[] argsDeleteCommand = {"delete", "TestCredential1", "-provider", "jceks://file@/" +keystoreFile };
     int rc3=buildksOBJ.deleteCredential(argsDeleteCommand);
     assertEquals(0, rc3);
     assertTrue(rc3==0);
@@ -78,4 +90,31 @@ public class Testbuildks {
 	  tTestbuildks.testBuildKSsuccess();
   }*/  
   
+  
+	private static boolean isCredentialShellInteractiveEnabled() {
+		boolean ret = false ;
+		
+		String fieldName = "interactive" ;
+		
+		CredentialShell cs = new CredentialShell() ;
+		
+		try {
+			Field interactiveField = cs.getClass().getDeclaredField(fieldName) ;
+			
+			if (interactiveField != null) {
+				interactiveField.setAccessible(true);
+				ret = interactiveField.getBoolean(cs) ;
+				System.out.println("FOUND value of [" + fieldName + "] field in the Class [" + cs.getClass().getName() + "] = [" + ret + "]") ;
+			}
+		} catch (Throwable e) {
+			System.out.println("Unable to find the value of [" + fieldName + "] field in the Class [" + cs.getClass().getName() + "]. Skiping -f option") ;
+			e.printStackTrace();
+			ret = false;
+		}
+		
+		return ret ;
+		
+	}
+
+  
 }