Skip to content

Commit e4e0933

Browse files
authored
Merge pull request #1032 from amanoese/fix-credencials-patch
Fix credentials patch
2 parents 6386799 + ceaa187 commit e4e0933

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

core/src/main/java/com/ibm/watson/developer_cloud/service/WatsonService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,7 @@ public void setUsernameAndPassword(final String username, final String password)
430430
this.username = username;
431431
this.password = password;
432432
apiKey = Credentials.basic(username, password);
433+
clearIamCredentials();
433434
}
434435
}
435436

@@ -459,6 +460,9 @@ public void setIamCredentials(IamOptions iamOptions) {
459460
this.tokenManager = new IamTokenManager(iamOptions);
460461
}
461462

463+
private void clearIamCredentials() {
464+
this.tokenManager = null;
465+
}
462466
/*
463467
* (non-Javadoc)
464468
*

core/src/test/java/com/ibm/watson/developer_cloud/service/AuthenticationTest.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.ibm.watson.developer_cloud.service;
22

3+
import com.ibm.watson.developer_cloud.util.CredentialUtils;
34
import org.junit.Test;
45

56
import static org.junit.Assert.assertTrue;
@@ -9,6 +10,7 @@ public class AuthenticationTest {
910
private static final String APIKEY_USERNAME = "apikey";
1011
private static final String APIKEY = "12345";
1112
private static final String ICP_APIKEY = "icp-12345";
13+
private static final String BASIC_USERNAME = "basicUser";
1214

1315
public class TestService extends WatsonService {
1416
private static final String SERVICE_NAME = "test";
@@ -31,4 +33,29 @@ public void authenticateWithIcp() {
3133
service.setUsernameAndPassword(APIKEY_USERNAME, ICP_APIKEY);
3234
assertFalse(service.isTokenManagerSet());
3335
}
36+
37+
@Test
38+
public void multiAuthenticationWithMultiBindSameServiceOnVcapService() {
39+
40+
CredentialUtils.setServices("{\n"
41+
+ " \"test\": [\n"
42+
+ " {\n"
43+
+ " \"credentials\": {\n"
44+
+ " \"apikey\": \"" + APIKEY + "\",\n"
45+
+ " \"url\": \"https://gateway.watsonplatform.net/discovery/api\"\n"
46+
+ " },\n"
47+
+ " \"plan\": \"lite\"\n"
48+
+ " }\n"
49+
+ " ]\n"
50+
+ "}\n");
51+
52+
TestService serviceA = new TestService();
53+
serviceA.setUsernameAndPassword(APIKEY_USERNAME, APIKEY);
54+
55+
TestService serviceB = new TestService();
56+
serviceB.setUsernameAndPassword(BASIC_USERNAME, APIKEY);
57+
58+
assertTrue(serviceA.isTokenManagerSet());
59+
assertFalse(serviceB.isTokenManagerSet());
60+
}
3461
}

0 commit comments

Comments
 (0)