Skip to content

Commit b1e19ed

Browse files
authored
Using Pipeline Credentials instead of DefaultAzureCredentials (#41248)
* Using Pipeline Credentials instead of DefaultAzureCredentials * Removing an duplicate if condition
1 parent 17ad2f8 commit b1e19ed

File tree

1 file changed

+41
-9
lines changed

1 file changed

+41
-9
lines changed

sdk/communication/azure-communication-identity/src/test/java/com/azure/communication/identity/CommunicationIdentityClientTestBase.java

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.azure.communication.identity.models.CommunicationTokenScope;
99
import com.azure.core.credential.AccessToken;
1010
import com.azure.core.credential.AzureKeyCredential;
11+
import com.azure.core.credential.TokenCredential;
1112
import com.azure.core.http.HttpClient;
1213
import com.azure.core.http.HttpPipelineNextPolicy;
1314
import com.azure.core.http.HttpResponse;
@@ -19,9 +20,10 @@
1920
import com.azure.core.test.models.TestProxySanitizerType;
2021
import com.azure.core.test.utils.MockTokenCredential;
2122
import com.azure.core.util.Configuration;
23+
import com.azure.core.util.CoreUtils;
2224
import com.azure.core.util.logging.ClientLogger;
2325
import com.azure.core.util.logging.LogLevel;
24-
import com.azure.identity.DefaultAzureCredentialBuilder;
26+
import com.azure.identity.*;
2527
import reactor.core.publisher.Mono;
2628

2729
import java.util.ArrayList;
@@ -97,15 +99,10 @@ protected CommunicationIdentityClientBuilder createClientBuilderUsingManagedIden
9799
.endpoint(communicationEndpoint)
98100
.httpClient(httpClient);
99101

100-
if (interceptorManager.isPlaybackMode()) {
101-
builder.credential(new MockTokenCredential());
102-
} else {
103-
builder.credential(new DefaultAzureCredentialBuilder().build());
104-
if (interceptorManager.isRecordMode()) {
105-
builder.addPolicy(interceptorManager.getRecordPolicy());
106-
}
102+
builder.credential(getIdentityTestCredential(interceptorManager));
103+
if (interceptorManager.isRecordMode()) {
104+
builder.addPolicy(interceptorManager.getRecordPolicy());
107105
}
108-
109106
addTestProxyTestSanitizersAndMatchers(interceptorManager);
110107
return builder;
111108
}
@@ -182,4 +179,39 @@ protected void verifyUserNotEmpty(CommunicationUserIdentifier userIdentifier) {
182179
assertFalse(userIdentifier.getId().isEmpty());
183180
}
184181

182+
public static TokenCredential getIdentityTestCredential(InterceptorManager interceptorManager) {
183+
if (interceptorManager.isPlaybackMode()) {
184+
return new MockTokenCredential();
185+
}
186+
187+
Configuration config = Configuration.getGlobalConfiguration();
188+
189+
ChainedTokenCredentialBuilder builder = new ChainedTokenCredentialBuilder()
190+
.addLast(new EnvironmentCredentialBuilder().build())
191+
.addLast(new AzureCliCredentialBuilder().build())
192+
.addLast(new AzureDeveloperCliCredentialBuilder().build());
193+
194+
195+
String serviceConnectionId = config.get("AZURESUBSCRIPTION_SERVICE_CONNECTION_ID");
196+
String clientId = config.get("AZURESUBSCRIPTION_CLIENT_ID");
197+
String tenantId = config.get("AZURESUBSCRIPTION_TENANT_ID");
198+
String systemAccessToken = config.get("SYSTEM_ACCESSTOKEN");
199+
200+
if (!CoreUtils.isNullOrEmpty(serviceConnectionId)
201+
&& !CoreUtils.isNullOrEmpty(clientId)
202+
&& !CoreUtils.isNullOrEmpty(tenantId)
203+
&& !CoreUtils.isNullOrEmpty(systemAccessToken)) {
204+
205+
builder.addLast(new AzurePipelinesCredentialBuilder()
206+
.systemAccessToken(systemAccessToken)
207+
.clientId(clientId)
208+
.tenantId(tenantId)
209+
.serviceConnectionId(serviceConnectionId)
210+
.build());
211+
}
212+
213+
builder.addLast(new AzurePowerShellCredentialBuilder().build());
214+
return builder.build();
215+
}
216+
185217
}

0 commit comments

Comments
 (0)