diff --git a/kubernetes-client-api/pom.xml b/kubernetes-client-api/pom.xml
index 0b52740ad65..e6b6ca02702 100644
--- a/kubernetes-client-api/pom.xml
+++ b/kubernetes-client-api/pom.xml
@@ -231,10 +231,6 @@
org.awaitility
awaitility
-
- org.junit-pioneer
- junit-pioneer
-
diff --git a/kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/Config.java b/kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/Config.java
index 0ebe9d8e35c..9fe713de125 100644
--- a/kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/Config.java
+++ b/kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/Config.java
@@ -58,6 +58,7 @@
import java.util.Map;
import java.util.Optional;
import java.util.function.Predicate;
+import java.util.function.UnaryOperator;
import java.util.stream.Collectors;
@JsonInclude(JsonInclude.Include.NON_NULL)
@@ -868,7 +869,7 @@ private static boolean tryNamespaceFromPath(Config config) {
}
private static String getHomeDir() {
- return getHomeDir(Config::isDirectoryAndExists);
+ return getHomeDir(Config::isDirectoryAndExists, Config::getSystemEnvVariable);
}
private static boolean isDirectoryAndExists(String filePath) {
@@ -876,22 +877,26 @@ private static boolean isDirectoryAndExists(String filePath) {
return f.exists() && f.isDirectory();
}
- protected static String getHomeDir(Predicate directoryExists) {
- String home = System.getenv("HOME");
+ private static String getSystemEnvVariable(String envVariableName) {
+ return System.getenv(envVariableName);
+ }
+
+ protected static String getHomeDir(Predicate directoryExists, UnaryOperator getEnvVar) {
+ String home = getEnvVar.apply("HOME");
if (home != null && !home.isEmpty() && directoryExists.test(home)) {
return home;
}
String osName = System.getProperty("os.name").toLowerCase(Locale.ROOT);
if (osName.startsWith("win")) {
- String homeDrive = System.getenv("HOMEDRIVE");
- String homePath = System.getenv("HOMEPATH");
+ String homeDrive = getEnvVar.apply("HOMEDRIVE");
+ String homePath = getEnvVar.apply("HOMEPATH");
if (homeDrive != null && !homeDrive.isEmpty() && homePath != null && !homePath.isEmpty()) {
String homeDir = homeDrive + homePath;
if (directoryExists.test(homeDir)) {
return homeDir;
}
}
- String userProfile = System.getenv("USERPROFILE");
+ String userProfile = getEnvVar.apply("USERPROFILE");
if (userProfile != null && !userProfile.isEmpty() && directoryExists.test(userProfile)) {
return userProfile;
}
diff --git a/kubernetes-client-api/src/test/java/io/fabric8/kubernetes/client/ConfigTest.java b/kubernetes-client-api/src/test/java/io/fabric8/kubernetes/client/ConfigTest.java
index 17a23c2280d..221594bc860 100644
--- a/kubernetes-client-api/src/test/java/io/fabric8/kubernetes/client/ConfigTest.java
+++ b/kubernetes-client-api/src/test/java/io/fabric8/kubernetes/client/ConfigTest.java
@@ -26,9 +26,6 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
-import org.junitpioneer.jupiter.ClearEnvironmentVariable;
-import org.junitpioneer.jupiter.SetEnvironmentVariable;
-import org.junitpioneer.jupiter.SetSystemProperty;
import java.io.File;
import java.io.IOException;
@@ -674,51 +671,89 @@ private String getTestPathValue(File commandFolder) {
}
@Test
- @SetSystemProperty(key = "os.name", value = "Windows")
- @SetEnvironmentVariable(key = "HOMEDRIVE", value = "C:\\Users\\")
- @SetEnvironmentVariable(key = "HOMEPATH", value = "user")
- @SetEnvironmentVariable(key = "USERPROFILE", value = "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\")
- @ClearEnvironmentVariable(key = "HOME")
void getHomeDir_shouldUseHomedriveHomepathOnWindows_WhenHomeEnvVariableIsNotSet() {
- assertEquals("C:\\Users\\user", Config.getHomeDir(f -> true));
+ String osNamePropToRestore = System.getProperty("os.name");
+ try {
+
+ System.setProperty("os.name", "Windows");
+
+ Map envVars = new HashMap();
+ envVars.put("HOMEDRIVE", "C:\\Users\\");
+ envVars.put("HOMEPATH", "user");
+ envVars.put("USERPROFILE", "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\");
+
+ assertEquals("C:\\Users\\user", Config.getHomeDir(f -> true, envVars::get));
+
+ } finally {
+ System.setProperty("os.name", osNamePropToRestore);
+ }
}
@Test
- @SetSystemProperty(key = "os.name", value = "Windows")
- @ClearEnvironmentVariable(key = "HOMEDRIVE")
- @ClearEnvironmentVariable(key = "HOMEPATH")
- @SetEnvironmentVariable(key = "USERPROFILE", value = "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\")
- @ClearEnvironmentVariable(key = "HOME")
void getHomeDir_shouldUseUserprofileOnWindows_WhenHomeHomedriveHomepathEnvVariablesAreNotSet() {
- assertEquals("C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\", Config.getHomeDir(f -> true));
+ String osNamePropToRestore = System.getProperty("os.name");
+ try {
+
+ System.setProperty("os.name", "Windows");
+
+ Map envVars = new HashMap();
+ envVars.put("USERPROFILE", "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\");
+
+ assertEquals("C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\",
+ Config.getHomeDir(f -> true, envVars::get));
+
+ } finally {
+ System.setProperty("os.name", osNamePropToRestore);
+ }
}
@Test
- @SetSystemProperty(key = "os.name", value = "Windows")
- @SetEnvironmentVariable(key = "HOMEDRIVE", value = "C:\\Users\\")
- @SetEnvironmentVariable(key = "HOMEPATH", value = "user")
- @SetEnvironmentVariable(key = "HOME", value = "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\")
void getHomeDir_shouldUseHomeEnvVariableOnWindows_WhenHomeEnvVariableIsSet() {
- assertEquals("C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\", Config.getHomeDir(f -> true));
+ String osNamePropToRestore = System.getProperty("os.name");
+ try {
+
+ System.setProperty("os.name", "Windows");
+
+ Map envVars = new HashMap();
+ envVars.put("HOMEDRIVE", "C:\\Users\\");
+ envVars.put("HOMEPATH", "user");
+ envVars.put("HOME", "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\");
+
+ assertEquals("C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\",
+ Config.getHomeDir(f -> true, envVars::get));
+
+ } finally {
+ System.setProperty("os.name", osNamePropToRestore);
+ }
}
@Test
@EnabledOnOs({ WINDOWS })
- @SetEnvironmentVariable(key = "HOMEDRIVE", value = "C:\\Users\\")
- @SetEnvironmentVariable(key = "HOMEPATH", value = "user")
- @SetEnvironmentVariable(key = "HOME", value = "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\")
void getHomeDir_shouldUseHomeEnvVariable_WhenEnabledOnWindows_WhenHomeEnvVariableIsSet() {
- assertEquals("C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\", Config.getHomeDir(f -> true));
+
+ Map envVars = new HashMap();
+ envVars.put("HOMEDRIVE", "C:\\Users\\");
+ envVars.put("HOMEPATH", "user");
+ envVars.put("HOME", "C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\");
+
+ assertEquals("C:\\Users\\user\\workspace\\myworkspace\\tools\\cygwin\\",
+ Config.getHomeDir(f -> true, envVars::get));
+
}
@Test
- @SetSystemProperty(key = "user.home", value = "/home/user")
- @ClearEnvironmentVariable(key = "HOMEDRIVE")
- @ClearEnvironmentVariable(key = "HOMEPATH")
- @ClearEnvironmentVariable(key = "HOME")
- @ClearEnvironmentVariable(key = "USERPROFILE")
void getHomeDir_shouldReturnUserHomeProp_WhenHomeEnvVariablesAreNotSet() {
- assertEquals("/home/user", Config.getHomeDir(f -> true));
- }
+ String userHomePropToRestore = System.getProperty("user.home");
+ try {
+
+ System.setProperty("user.home", "/home/user");
+
+ Map emptyEnvVars = Collections.emptyMap();
+ assertEquals("/home/user", Config.getHomeDir(f -> true, emptyEnvVars::get));
+
+ } finally {
+ System.setProperty("user.home", userHomePropToRestore);
+ }
+ }
}
diff --git a/pom.xml b/pom.xml
index 1f259e6f0cc..0feff591126 100644
--- a/pom.xml
+++ b/pom.xml
@@ -96,7 +96,6 @@
5.9.1
- 1.7.0
3.23.1
4.2.0
18.5.0
@@ -815,13 +814,6 @@
test
-
- org.junit-pioneer
- junit-pioneer
- ${junit-pioneer.version}
- test
-
-
org.assertj
assertj-core