1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
# ------------------------------------
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# ------------------------------------
import pytest
from azure.identity.aio import DefaultAzureCredential, CertificateCredential, ClientSecretCredential
ARM_SCOPE = "https://management.azure.com/.default"
async def get_token(credential):
token = await credential.get_token(ARM_SCOPE)
assert token
assert token.token
assert token.expires_on
@pytest.mark.asyncio
@pytest.mark.parametrize("certificate_fixture", ("live_pem_certificate", "live_pfx_certificate"))
async def test_certificate_credential(certificate_fixture, request):
cert = request.getfixturevalue(certificate_fixture)
tenant_id = cert["tenant_id"]
client_id = cert["client_id"]
credential = CertificateCredential(tenant_id, client_id, cert["cert_path"])
await get_token(credential)
credential = CertificateCredential(tenant_id, client_id, cert["cert_with_password_path"], password=cert["password"])
await get_token(credential)
credential = CertificateCredential(tenant_id, client_id, certificate_data=cert["cert_bytes"])
await get_token(credential)
credential = CertificateCredential(
tenant_id, client_id, certificate_data=cert["cert_with_password_bytes"], password=cert["password"]
)
await get_token(credential)
@pytest.mark.asyncio
async def test_client_secret_credential(live_service_principal):
credential = ClientSecretCredential(
live_service_principal["tenant_id"],
live_service_principal["client_id"],
live_service_principal["client_secret"],
)
await get_token(credential)
@pytest.mark.asyncio
async def test_default_credential(live_service_principal):
credential = DefaultAzureCredential()
await get_token(credential)
|