Skip to content

Commit 313fb0e

Browse files
gearamadanieljurekantkmsft
authored
Move tests to use azure pipeline credentials (Azure#5754)
* test1 * hgdfchg * remove the remnants of azure client secret * test KV with federated auth * UseFederatedAuth * fdsa * kv template with managed * try try again * retry permissions * add net acls * blunt force replace the resource json * put back stuff * trey again with new method * attempt * missed something * flip if else * Temporarily use empty sub config file path for preview cloud * remove client secret * try to fix the identity tests * live skip failing tests and return in samples * samples for identity fix * disable failing samples in identity * fix winhttp failing test * comment out code * remove managed identity * restore version from main * revert readme changes * PR comments * test 2 * clang * attempt default creds with pipeline chanined * clangs * identity test and clangs * oops * live * cleanup * reter * test * revert the DAC change * missed one * taking the samples to a farm upstate * PR comments * Fix bad merge --------- Co-authored-by: Daniel Jurek <djurek@microsoft.com> Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com> Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
1 parent aadeca2 commit 313fb0e

17 files changed

Lines changed: 83 additions & 55 deletions

File tree

eng/pipelines/templates/jobs/live.tests.yml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -244,32 +244,6 @@ jobs:
244244
# Will run samples described on a file name [service]-samples.txt within the build directory.
245245
# For example keyvault-samples.txt.
246246
# The file is written by CMake during configuration when building samples.
247-
- bash: |
248-
IFS=$'\n'
249-
if [[ -f "./${{ parameters.ServiceDirectory }}-samples.txt" ]]; then
250-
for sample in `cat ./${{ parameters.ServiceDirectory }}-samples.txt`
251-
do
252-
export AZURE_CLIENT_ID=$(${{parameters.ServiceDirectory}}_CLIENT_ID)
253-
export AZURE_TENANT_ID=$(${{parameters.ServiceDirectory}}_TENANT_ID)
254-
export AZURE_CLIENT_SECRET=$(${{parameters.ServiceDirectory}}_CLIENT_SECRET)
255-
echo "**********Running sample: ${sample}"
256-
bash -c "$sample"
257-
status=$?
258-
if [[ $status -eq 0 ]]; then
259-
echo "*********Sample completed*********"
260-
else
261-
echo "*Sample returned a failed code: $status"
262-
exit 1
263-
fi
264-
done
265-
fi
266-
workingDirectory: build
267-
displayName: "Run Samples for : ${{ parameters.ServiceDirectory }}"
268-
condition: and(succeeded(), eq(variables['RunSamples'], '1'))
269-
env:
270-
${{ insert }}: ${{ parameters.EnvVars }}
271-
272-
- ${{ else }}:
273247
- task: AzurePowerShell@5
274248
displayName: "Run Samples for : ${{ parameters.ServiceDirectory }}"
275249
condition: and(succeeded(), eq(variables['RunSamples'], '1'))
@@ -299,6 +273,32 @@ jobs:
299273
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
300274
${{ insert }}: ${{ parameters.EnvVars }}
301275

276+
- ${{ else }}:
277+
- bash: |
278+
IFS=$'\n'
279+
if [[ -f "./${{ parameters.ServiceDirectory }}-samples.txt" ]]; then
280+
for sample in `cat ./${{ parameters.ServiceDirectory }}-samples.txt`
281+
do
282+
export AZURE_CLIENT_ID=$(${{parameters.ServiceDirectory}}_CLIENT_ID)
283+
export AZURE_TENANT_ID=$(${{parameters.ServiceDirectory}}_TENANT_ID)
284+
export AZURE_CLIENT_SECRET=$(${{parameters.ServiceDirectory}}_CLIENT_SECRET)
285+
echo "**********Running sample: ${sample}"
286+
bash -c "$sample"
287+
status=$?
288+
if [[ $status -eq 0 ]]; then
289+
echo "*********Sample completed*********"
290+
else
291+
echo "*Sample returned a failed code: $status"
292+
exit 1
293+
fi
294+
done
295+
fi
296+
workingDirectory: build
297+
displayName: "Run Samples for : ${{ parameters.ServiceDirectory }}"
298+
condition: and(succeeded(), eq(variables['RunSamples'], '1'))
299+
env:
300+
${{ insert }}: ${{ parameters.EnvVars }}
301+
302302
# Make coverage targets (specified in coverage_targets.txt) and assemble
303303
# coverage report
304304
- bash: |

eng/pipelines/templates/stages/archetype-sdk-client.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ parameters:
6262
Preview:
6363
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources-preview)
6464
ServiceConnection: azure-sdk-tests
65+
# Temporary fix until an eng/common config for Preview can be merged
66+
SubscriptionConfigurationFilePaths: []
6567
Canary:
6668
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
6769
ServiceConnection: azure-sdk-tests

sdk/attestation/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ extends:
3232
LiveTestCtestRegex: azure-security-attestation.*
3333
LineCoverageTarget: 70
3434
BranchCoverageTarget: 34
35+
UseFederatedAuth: true
3536
Artifacts:
3637
- Name: azure-security-attestation
3738
Path: azure-security-attestation

sdk/core/azure-core-test/inc/azure/core/test/test_base.hpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
#include <azure/core/internal/client_options.hpp>
1616
#include <azure/core/internal/diagnostics/log.hpp>
1717
#include <azure/core/internal/environment.hpp>
18+
#include <azure/identity/azure_pipelines_credential.hpp>
19+
#include <azure/identity/chained_token_credential.hpp>
1820
#include <azure/identity/client_secret_credential.hpp>
1921
#include <azure/identity/default_azure_credential.hpp>
2022

@@ -246,7 +248,17 @@ namespace Azure { namespace Core { namespace Test {
246248
}
247249
if (clientSecret.empty())
248250
{
249-
m_testCredential = std::make_shared<Azure::Identity::DefaultAzureCredential>();
251+
m_testCredential = std::make_shared<Azure::Identity::ChainedTokenCredential>(
252+
Azure::Identity::ChainedTokenCredential::Sources{
253+
std ::make_shared<Azure::Identity::AzurePipelinesCredential>(
254+
Azure::Core::_internal::Environment::GetVariable(
255+
"AZURESUBSCRIPTION_TENANT_ID"),
256+
Azure::Core::_internal::Environment::GetVariable(
257+
"AZURESUBSCRIPTION_CLIENT_ID"),
258+
Azure::Core::_internal::Environment::GetVariable(
259+
"AZURESUBSCRIPTION_SERVICE_CONNECTION_ID"),
260+
Azure::Core::_internal::Environment::GetVariable("SYSTEM_ACCESSTOKEN")),
261+
std::make_shared<Azure::Identity::DefaultAzureCredential>()});
250262
}
251263
else
252264
{
@@ -302,7 +314,7 @@ namespace Azure { namespace Core { namespace Test {
302314
*
303315
* @return The value of the environment variable retrieved.
304316
*
305-
* @note If AZURE_TENANT_ID, AZURE_CLIENT_ID, or AZURE_CLIENT_SECRET are not available in the
317+
* @note If AZURE_TENANT_ID or AZURE_CLIENT_ID are not available in the
306318
* environment, the AZURE_SERVICE_DIRECTORY environment variable is used to set those values
307319
* with the values emitted by the New-TestResources.ps1 script.
308320
*

sdk/core/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ extends:
5353
LiveTestTimeoutInMinutes: 90 # default is 60 min. We need a little longer on worst case for Win+jsonTests
5454
LineCoverageTarget: 88
5555
BranchCoverageTarget: 50
56+
UseFederatedAuth: true
5657
# PreTestSteps:
5758
# - pwsh: |
5859
# docker build -t squid-local $(Build.SourcesDirectory)/sdk/core/azure-core/test/ut/proxy_tests/localproxy

sdk/core/perf/inc/azure/perf/base_test.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ namespace Azure { namespace Perf {
100100
*
101101
* @return The value of the environment variable retrieved.
102102
*
103-
* @note If AZURE_TENANT_ID, AZURE_CLIENT_ID, or AZURE_CLIENT_SECRET are not available in the
103+
* @note If AZURE_TENANT_ID or AZURE_CLIENT_ID are not available in the
104104
* environment, the AZURE_SERVICE_DIRECTORY environment variable is used to set those values
105105
* with the values emitted by the New-TestResources.ps1 script.
106106
*

sdk/core/perf/src/base_test.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
#endif
1212
#include <azure/core/http/policies/policy.hpp>
1313
#include <azure/core/internal/http/pipeline.hpp>
14+
#include <azure/identity/azure_pipelines_credential.hpp>
15+
#include <azure/identity/chained_token_credential.hpp>
1416
#include <azure/identity/client_secret_credential.hpp>
1517
#include <azure/identity/default_azure_credential.hpp>
1618

@@ -285,7 +287,15 @@ namespace Azure { namespace Perf {
285287
}
286288
if (clientSecret.empty())
287289
{
288-
m_testCredential = std::make_shared<Azure::Identity::DefaultAzureCredential>();
290+
m_testCredential = std::make_shared<Azure::Identity::ChainedTokenCredential>(
291+
Azure::Identity::ChainedTokenCredential::Sources{
292+
std ::make_shared<Azure::Identity::AzurePipelinesCredential>(
293+
Azure::Core::_internal::Environment::GetVariable("AZURESUBSCRIPTION_TENANT_ID"),
294+
Azure::Core::_internal::Environment::GetVariable("AZURESUBSCRIPTION_CLIENT_ID"),
295+
Azure::Core::_internal::Environment::GetVariable(
296+
"AZURESUBSCRIPTION_SERVICE_CONNECTION_ID"),
297+
Azure::Core::_internal::Environment::GetVariable("SYSTEM_ACCESSTOKEN")),
298+
std::make_shared<Azure::Identity::DefaultAzureCredential>()});
289299
}
290300
else
291301
{

sdk/eventhubs/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ extends:
3232
LiveTestTimeoutInMinutes: 120
3333
LineCoverageTarget: 27
3434
BranchCoverageTarget: 13
35+
UseFederatedAuth: true
3536
Artifacts:
3637
- Name: azure-messaging-eventhubs
3738
Path: azure-messaging-eventhubs

sdk/identity/azure-identity/samples/CMakeLists.txt

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,22 @@ target_link_libraries(workload_identity_credential_sample PRIVATE azure-identity
3131
target_include_directories(workload_identity_credential_sample PRIVATE .)
3232
create_per_service_target_build_for_sample(identity workload_identity_credential_sample)
3333

34-
add_executable(client_secret_credential_sample client_secret_credential.cpp)
35-
target_link_libraries(client_secret_credential_sample PRIVATE azure-identity service get-env-helper)
36-
target_include_directories(client_secret_credential_sample PRIVATE .)
37-
create_per_service_target_build_for_sample(identity client_secret_credential_sample)
38-
39-
add_executable(default_azure_credential_sample default_azure_credential.cpp)
40-
target_link_libraries(default_azure_credential_sample PRIVATE azure-identity service)
41-
target_include_directories(default_azure_credential_sample PRIVATE .)
42-
create_per_service_target_build_for_sample(identity default_azure_credential_sample)
43-
44-
add_executable(environment_credential_sample environment_credential.cpp)
45-
target_link_libraries(environment_credential_sample PRIVATE azure-identity service)
46-
target_include_directories(environment_credential_sample PRIVATE .)
47-
create_per_service_target_build_for_sample(identity environment_credential_sample)
48-
49-
add_executable(managed_identity_credential_sample managed_identity_credential.cpp)
50-
target_link_libraries(managed_identity_credential_sample PRIVATE azure-identity service)
51-
target_include_directories(managed_identity_credential_sample PRIVATE .)
52-
create_per_service_target_build_for_sample(identity managed_identity_credential_sample)
34+
#add_executable(client_secret_credential_sample client_secret_credential.cpp)
35+
#target_link_libraries(client_secret_credential_sample PRIVATE azure-identity service get-env-helper)
36+
#target_include_directories(client_secret_credential_sample PRIVATE .)
37+
#create_per_service_target_build_for_sample(identity client_secret_credential_sample)
38+
39+
#add_executable(default_azure_credential_sample default_azure_credential.cpp)
40+
#target_link_libraries(default_azure_credential_sample PRIVATE azure-identity service)
41+
#target_include_directories(default_azure_credential_sample PRIVATE .)
42+
#create_per_service_target_build_for_sample(identity default_azure_credential_sample)
43+
44+
#add_executable(environment_credential_sample environment_credential.cpp)
45+
#target_link_libraries(environment_credential_sample PRIVATE azure-identity service)
46+
#target_include_directories(environment_credential_sample PRIVATE .)
47+
#create_per_service_target_build_for_sample(identity environment_credential_sample)
48+
49+
#add_executable(managed_identity_credential_sample managed_identity_credential.cpp)
50+
#target_link_libraries(managed_identity_credential_sample PRIVATE azure-identity service)
51+
#target_include_directories(managed_identity_credential_sample PRIVATE .)
52+
#create_per_service_target_build_for_sample(identity managed_identity_credential_sample)

sdk/keyvault/azure-security-keyvault-certificates/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ if (BUILD_PERFORMANCE_TESTS)
117117
add_subdirectory(test/perf)
118118
endif()
119119

120-
if(BUILD_SAMPLES)
120+
if(BUILD_SAMPLES_DISABLED)
121121
add_subdirectory(samples)
122122
endif()
123123

0 commit comments

Comments
 (0)