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 <[email protected]>
Authored: Wed Mar 4 22:02:15 2015 -0500
Committer: sneethiraj <[email protected]>
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 ;
+               
+       }
+
+  
 }

Reply via email to