From afefda0bc18acf9b3f915114eb5415f1d88d178c Mon Sep 17 00:00:00 2001 From: Aled Sage Date: Thu, 24 Apr 2014 10:56:44 +0100 Subject: [PATCH] JCLOUDS-549: Fix NPE in LoginCredentials.toString --- core/src/main/java/org/jclouds/domain/LoginCredentials.java | 5 +++-- .../test/java/org/jclouds/domain/LoginCredentialsTest.java | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/jclouds/domain/LoginCredentials.java b/core/src/main/java/org/jclouds/domain/LoginCredentials.java index d94acd7..b119b2b 100644 --- a/core/src/main/java/org/jclouds/domain/LoginCredentials.java +++ b/core/src/main/java/org/jclouds/domain/LoginCredentials.java @@ -207,7 +207,8 @@ public Builder toBuilder() { @Override public String toString() { - return "[user=" + getUser() + ", passwordPresent=" + password.isPresent() + ", privateKeyPresent=" - + privateKey.isPresent() + ", shouldAuthenticateSudo=" + authenticateSudo + "]"; + return "[user=" + getUser() + ", passwordPresent=" + (password != null ? password.isPresent() : false) + + ", privateKeyPresent=" + (privateKey != null ? privateKey.isPresent() : false) + + ", shouldAuthenticateSudo=" + authenticateSudo + "]"; } } diff --git a/core/src/test/java/org/jclouds/domain/LoginCredentialsTest.java b/core/src/test/java/org/jclouds/domain/LoginCredentialsTest.java index 7bb2810..6286332 100644 --- a/core/src/test/java/org/jclouds/domain/LoginCredentialsTest.java +++ b/core/src/test/java/org/jclouds/domain/LoginCredentialsTest.java @@ -17,6 +17,7 @@ package org.jclouds.domain; import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; import org.testng.annotations.Test; @@ -51,4 +52,15 @@ public void testPrivateKeyLeavesPasswordAloneWhenSet() { assertEquals(toTest.getOptionalPassword(), Optional.of("password")); assertEquals(toTest.getOptionalPrivateKey(), Optional.of("key")); } + + public void testToStringWhenNullPasswordAndKey() { + LoginCredentials toTest = LoginCredentials.builder().user("myuser").build(); + // also verifies that toString() does not blow up with an NPE + assertNotNull(toTest.toString()); + } + + public void testToString() { + LoginCredentials toTest = LoginCredentials.builder().user("myuser").password("password").privateKey("key").build(); + assertNotNull(toTest.toString()); + } } -- 1.9.1