Skip to content

Commit e36b3fc

Browse files
authored
fix: added null or empty checks for basic auth credentials (#98)
1 parent 95acf7a commit e36b3fc

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

src/main/java/io/apimatic/core/utilities/CoreHelper.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,6 +1071,12 @@ public static String tryUrlEncode(String value, boolean spaceAsPercentEncoded) {
10711071
*/
10721072
public static String getBase64EncodedCredentials(String basicAuthUserName,
10731073
String basicAuthPassword) {
1074+
if (basicAuthUserName == null || basicAuthUserName.equals("")) {
1075+
return null;
1076+
}
1077+
if (basicAuthPassword == null || basicAuthPassword.equals("")) {
1078+
return null;
1079+
}
10741080
String authCredentials = basicAuthUserName + ":" + basicAuthPassword;
10751081
return "Basic " + Base64.getEncoder().encodeToString(authCredentials.getBytes());
10761082
}

src/test/java/apimatic/core/utilities/CoreHelperTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,26 @@ public void testBase64Encoding() {
137137
assertEquals(actualEncodedString, expectedEncodedString);
138138
}
139139

140+
@Test
141+
public void testBase64EncodingWithNullValues() {
142+
String actualEncodedString = CoreHelper.getBase64EncodedCredentials(null, "password");
143+
assertEquals(null, actualEncodedString);
144+
actualEncodedString = CoreHelper.getBase64EncodedCredentials("username", null);
145+
assertEquals(null, actualEncodedString);
146+
actualEncodedString = CoreHelper.getBase64EncodedCredentials(null, null);
147+
assertEquals(null, actualEncodedString);
148+
}
149+
150+
@Test
151+
public void testBase64EncodingWithEmptyValues() {
152+
String actualEncodedString = CoreHelper.getBase64EncodedCredentials("", "password");
153+
assertEquals(null, actualEncodedString);
154+
actualEncodedString = CoreHelper.getBase64EncodedCredentials("username", "");
155+
assertEquals(null, actualEncodedString);
156+
actualEncodedString = CoreHelper.getBase64EncodedCredentials("", "");
157+
assertEquals(null, actualEncodedString);
158+
}
159+
140160
@Test
141161
public void testUrlEncoding() {
142162
String urlString = "https://localhost:8080%query=0";

0 commit comments

Comments
 (0)