You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2017/08/17 14:30:11 UTC

[19/27] karaf git commit: Avoid using commons io. Allow to specify replacement function

Avoid using commons io. Allow to specify replacement function


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

Branch: refs/heads/model_features
Commit: fd74396648a0bb42ba2d01c5bed1c6c7bbef1694
Parents: 0853a35
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Wed Aug 16 14:16:53 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Wed Aug 16 14:16:53 2017 +0200

----------------------------------------------------------------------
 jaas/modules/pom.xml                            |  5 ---
 .../modules/ldap/GSSAPILdapLoginModuleTest.java | 35 ++++----------------
 .../karaf/jaas/modules/ldap/LdapCacheTest.java  |  4 ++-
 .../modules/ldap/LdapCaseInsensitiveDNTest.java |  4 ++-
 .../jaas/modules/ldap/LdapLoginModuleTest.java  |  9 +++--
 .../ldap/LdapLoginModuleWithEscapesTest.java    |  5 ++-
 .../jaas/modules/ldap/LdapPropsUpdater.java     | 35 ++++++++------------
 .../ldap/LdapSpecialCharsInPasswordTest.java    |  5 ++-
 8 files changed, 40 insertions(+), 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/pom.xml
----------------------------------------------------------------------
diff --git a/jaas/modules/pom.xml b/jaas/modules/pom.xml
index b6be3d8..8038102 100644
--- a/jaas/modules/pom.xml
+++ b/jaas/modules/pom.xml
@@ -91,11 +91,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.directory.server</groupId>
             <artifactId>apacheds-core-integ</artifactId>
             <version>${directory-version}</version>

http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/GSSAPILdapLoginModuleTest.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/GSSAPILdapLoginModuleTest.java b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/GSSAPILdapLoginModuleTest.java
index b664bc3..9d049d8 100644
--- a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/GSSAPILdapLoginModuleTest.java
+++ b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/GSSAPILdapLoginModuleTest.java
@@ -14,13 +14,12 @@
  */
 package org.apache.karaf.jaas.modules.ldap;
 
+import static org.apache.karaf.jaas.modules.ldap.LdapPropsUpdater.ldapProps;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.security.Principal;
 import java.util.Collections;
@@ -30,7 +29,6 @@ import javax.security.auth.kerberos.KerberosPrincipal;
 import javax.security.auth.kerberos.KerberosTicket;
 import javax.security.auth.login.LoginException;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.directory.api.ldap.model.constants.SupportedSaslMechanisms;
 import org.apache.directory.api.ldap.model.entry.DefaultEntry;
 import org.apache.directory.api.ldap.model.entry.Entry;
@@ -131,8 +129,6 @@ import org.junit.runner.RunWith;
 })
 public class GSSAPILdapLoginModuleTest extends KarafKerberosITest {
 
-    private static boolean loginConfigUpdated;
-
     @Before
     public void setUp() throws Exception {
         super.setUp();
@@ -153,32 +149,13 @@ public class GSSAPILdapLoginModuleTest extends KarafKerberosITest {
 
         System.setProperty("java.security.auth.login.config", config.toString());
 
-        updatePort();
+        ldapProps("org/apache/karaf/jaas/modules/ldap/gssapi.ldap.properties",
+                  GSSAPILdapLoginModuleTest::replacePortAndAddress);
     }
 
-    public void updatePort() throws Exception {
-        if (!loginConfigUpdated) {
-            String basedir = System.getProperty("basedir");
-            if (basedir == null) {
-                basedir = new File(".").getCanonicalPath();
-            }
-
-            // Read in ldap.properties and substitute in the correct port
-            File f = new File(basedir + "/src/test/resources/org/apache/karaf/jaas/modules/ldap/gssapi.ldap.properties");
-
-            FileInputStream inputStream = new FileInputStream(f);
-            String content = IOUtils.toString(inputStream, "UTF-8");
-            inputStream.close();
-            content = content.replaceAll("portno", "" + getLdapServer().getPort());
-            content = content.replaceAll("address", KerberosTestUtils.getHostName());
-
-            File f2 = new File(basedir + "/target/test-classes/org/apache/karaf/jaas/modules/ldap/gssapi.ldap.properties");
-            FileOutputStream outputStream = new FileOutputStream(f2);
-            IOUtils.write(content, outputStream, "UTF-8");
-            outputStream.close();
-            loginConfigUpdated = true;
-        }
-
+    public static String replacePortAndAddress(String line) {
+        return line.replaceAll("portno", "" + getLdapServer().getPort())
+            .replaceAll("address", KerberosTestUtils.getHostName());
     }
 
     @After

http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCacheTest.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCacheTest.java b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCacheTest.java
index b9d252d..b018545 100644
--- a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCacheTest.java
+++ b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCacheTest.java
@@ -16,6 +16,7 @@
 package org.apache.karaf.jaas.modules.ldap;
 
 import static org.apache.karaf.jaas.modules.PrincipalHelper.names;
+import static org.apache.karaf.jaas.modules.ldap.LdapPropsUpdater.ldapProps;
 import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
@@ -60,7 +61,8 @@ public class LdapCacheTest extends AbstractLdapTestUnit {
 
     @Before
     public void updatePort() throws Exception {
-        LdapPropsUpdater.updatePort("org/apache/karaf/jaas/modules/ldap/ldap.properties", getLdapServer().getPort());
+        ldapProps("org/apache/karaf/jaas/modules/ldap/ldap.properties", 
+                  LdapLoginModuleTest::replacePort);
     }
 
     @After

http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCaseInsensitiveDNTest.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCaseInsensitiveDNTest.java b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCaseInsensitiveDNTest.java
index 8e3a56e..85ebb1d 100644
--- a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCaseInsensitiveDNTest.java
+++ b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapCaseInsensitiveDNTest.java
@@ -16,6 +16,7 @@
 package org.apache.karaf.jaas.modules.ldap;
 
 import static org.apache.karaf.jaas.modules.PrincipalHelper.names;
+import static org.apache.karaf.jaas.modules.ldap.LdapPropsUpdater.ldapProps;
 import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
@@ -52,7 +53,8 @@ public class LdapCaseInsensitiveDNTest extends LdapLoginModuleTest {
     @Before
     @Override
     public void updatePort() throws Exception {
-        LdapPropsUpdater.updatePort("org/apache/karaf/jaas/modules/ldap/ldapCaseInsensitiveDN.properties", getLdapServer().getPort());
+        ldapProps("org/apache/karaf/jaas/modules/ldap/ldapCaseInsensitiveDN.properties", 
+                  LdapLoginModuleTest::replacePort);
     }
     
     @Test

http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleTest.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleTest.java b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleTest.java
index 847dcf3..f164672 100644
--- a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleTest.java
+++ b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleTest.java
@@ -43,6 +43,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.apache.karaf.jaas.modules.PrincipalHelper.names;
+import static org.apache.karaf.jaas.modules.ldap.LdapPropsUpdater.ldapProps;
 import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -58,10 +59,14 @@ public class LdapLoginModuleTest extends AbstractLdapTestUnit {
 
     @Before
     public void updatePort() throws Exception {
-        LdapPropsUpdater.updatePort("org/apache/karaf/jaas/modules/ldap/ldap.properties", getLdapServer().getPort());
+        ldapProps("org/apache/karaf/jaas/modules/ldap/ldap.properties",
+                                   LdapLoginModuleTest::replacePort);
     }
 
-            
+    public static String replacePort(String line) {
+        return line.replaceAll("portno", "" + getLdapServer().getPort());
+    }
+    
     @After
     public void tearDown() {
         LDAPCache.clear();

http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleWithEscapesTest.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleWithEscapesTest.java b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleWithEscapesTest.java
index c05a39a..eb6f35a 100644
--- a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleWithEscapesTest.java
+++ b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapLoginModuleWithEscapesTest.java
@@ -15,6 +15,8 @@
  */
 package org.apache.karaf.jaas.modules.ldap;
 
+import static org.apache.karaf.jaas.modules.ldap.LdapPropsUpdater.ldapProps;
+
 import org.apache.directory.server.annotations.CreateLdapServer;
 import org.apache.directory.server.annotations.CreateTransport;
 import org.apache.directory.server.core.annotations.ApplyLdifFiles;
@@ -36,6 +38,7 @@ public class LdapLoginModuleWithEscapesTest extends LdapLoginModuleTest {
     @Before
     @Override
     public void updatePort() throws Exception {
-        LdapPropsUpdater.updatePort("org/apache/karaf/jaas/modules/ldap/ldap.properties", getLdapServer().getPort());
+        ldapProps("org/apache/karaf/jaas/modules/ldap/ldap.properties", 
+                  LdapLoginModuleTest::replacePort);
     }
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapPropsUpdater.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapPropsUpdater.java b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapPropsUpdater.java
index 54c4a90..8bf9059 100644
--- a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapPropsUpdater.java
+++ b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapPropsUpdater.java
@@ -16,39 +16,30 @@
 package org.apache.karaf.jaas.modules.ldap;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
 import java.io.IOException;
-
-import org.apache.commons.io.IOUtils;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 public class LdapPropsUpdater {
 
     private LdapPropsUpdater() {
     }
 
-    public static void updatePort(String propsPath, int port) throws IOException {
+    public static void ldapProps(String propsPath, Function<String, String> mapFunction) throws IOException {
         String basedir = System.getProperty("basedir");
         if (basedir == null) {
             basedir = new File(".").getCanonicalPath();
         }
-
-        // Read in ldap.properties and substitute in the correct port
-        String content = readProperties(basedir + "/src/test/resources/" + propsPath);
-        content = content.replaceAll("portno", "" + port);
-        writeProperties(basedir + "/target/test-classes/" + propsPath, content);
-    }
-    
-    private static String readProperties(String path) throws FileNotFoundException, IOException {
-        try (FileInputStream inputStream = new FileInputStream(new File(path))) {;
-            return IOUtils.toString(inputStream, "UTF-8");
-        }
+        Path inPath = new File(basedir + "/src/test/resources/" + propsPath).toPath();
+        List<String> lines = Files.lines(inPath, Charset.forName("UTF-8"))
+            .map(mapFunction)
+            .collect(Collectors.toList());
+        Path outPath = new File(basedir + "/target/test-classes/" + propsPath).toPath();
+        Files.write(outPath, lines, Charset.forName("UTF-8"));
     }
 
-    private static void writeProperties(String path, String content) throws FileNotFoundException, IOException {
-        try (FileOutputStream outputStream = new FileOutputStream(new File(path))) {
-            IOUtils.write(content, outputStream, "UTF-8");
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/fd743966/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapSpecialCharsInPasswordTest.java
----------------------------------------------------------------------
diff --git a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapSpecialCharsInPasswordTest.java b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapSpecialCharsInPasswordTest.java
index f188cc2..38bc391 100644
--- a/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapSpecialCharsInPasswordTest.java
+++ b/jaas/modules/src/test/java/org/apache/karaf/jaas/modules/ldap/LdapSpecialCharsInPasswordTest.java
@@ -15,6 +15,8 @@
  */
 package org.apache.karaf.jaas.modules.ldap;
 
+import static org.apache.karaf.jaas.modules.ldap.LdapPropsUpdater.ldapProps;
+
 import java.io.File;
 import java.io.IOException;
 
@@ -49,7 +51,8 @@ public class LdapSpecialCharsInPasswordTest extends LdapLoginModuleTest {
     @Before
     @Override
     public void updatePort() throws Exception {
-        LdapPropsUpdater.updatePort("org/apache/karaf/jaas/modules/ldap/ldap_special_char_in_password.properties", getLdapServer().getPort());
+        ldapProps("org/apache/karaf/jaas/modules/ldap/ldap_special_char_in_password.properties", 
+                  LdapLoginModuleTest::replacePort);
     }
 
     protected Properties ldapLoginModuleOptions() throws IOException {