Skip to content

Commit 72919a9

Browse files
switch to majority entra auth for tests (#35581)
* switch to majority defaultazurecredential auth for tests * test run * don't use optional for test run * try * fix * remove * fix import * try * try different connection * update subconfig * byod uses system_assigned_managed_identity * remove azure key where not using * typo * add azure-sdk-tests values to subconfig * explicitly state model for byod tests * add back optional env and remove skips * push missed files * move subconfig to service directory for now * fix path after moving subconfig * simplify
1 parent 8c581a2 commit 72919a9

20 files changed

+143
-137
lines changed

sdk/openai/azure-openai/tests/conftest.py

Lines changed: 15 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,20 @@
2525

2626
AZURE = "azure"
2727
OPENAI = "openai"
28-
AZURE_AD = "azuread"
28+
AZURE_KEY = "azure_key"
2929
WHISPER_AZURE = "whisper_azure"
30-
WHISPER_AZURE_AD = "whisper_azuread"
3130
TTS_OPENAI = "tts_openai"
3231
TTS_AZURE = "tts_azure"
33-
TTS_AZURE_AD = "tts_azuread"
3432
DALLE_AZURE = "dalle_azure"
35-
DALLE_AZURE_AD = "dalle_azuread"
3633
GPT_4_AZURE = "gpt_4_azure"
37-
GPT_4_AZURE_AD = "gpt_4_azuread"
3834
GPT_4_OPENAI = "gpt_4_openai"
3935
ASST_AZURE = "asst_azure"
40-
ASST_AZUREAD = "asst_azuread"
4136

4237
# Environment variable keys
4338
ENV_AZURE_OPENAI_ENDPOINT = "AZ_OPENAI_ENDPOINT"
4439
ENV_AZURE_OPENAI_KEY = "AZURE_OPENAI_KEY"
4540
ENV_AZURE_OPENAI_NORTHCENTRALUS_ENDPOINT = "AZURE_OPENAI_NORTHCENTRALUS_ENDPOINT"
46-
ENV_AZURE_OPENAI_NORTHCENTRALUS_KEY = "AZURE_OPENAI_NORTHCENTRALUS_KEY"
4741
ENV_AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT = "AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT"
48-
ENV_AZURE_OPENAI_SWEDENCENTRAL_KEY = "AZURE_OPENAI_SWEDENCENTRAL_KEY"
4942
ENV_SUBSCRIPTION_ID = "AZURE_SUBSCRIPTION_ID"
5043
ENV_TENANT_ID = "AZURE_TENANT_ID"
5144
ENV_CLIENT_ID = "AZURE_CLIENT_ID"
@@ -77,38 +70,26 @@ def client(api_type, api_version):
7770
if api_type == "azure":
7871
client = openai.AzureOpenAI(
7972
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_ENDPOINT),
80-
api_key=os.getenv(ENV_AZURE_OPENAI_KEY),
73+
azure_ad_token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
8174
api_version=api_version,
8275
)
83-
elif api_type == "azuread":
76+
elif api_type == "azure_key":
8477
client = openai.AzureOpenAI(
8578
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_ENDPOINT),
86-
azure_ad_token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
79+
api_key=os.getenv(ENV_AZURE_OPENAI_KEY),
8780
api_version=api_version,
8881
)
8982
elif api_type in ["openai", "gpt_4_openai", "tts_openai"]:
9083
client = openai.OpenAI(
9184
api_key=os.getenv(ENV_OPENAI_KEY)
9285
)
9386
elif api_type in ["whisper_azure", "tts_azure"]:
94-
client = openai.AzureOpenAI(
95-
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_NORTHCENTRALUS_ENDPOINT),
96-
api_key=os.getenv(ENV_AZURE_OPENAI_NORTHCENTRALUS_KEY),
97-
api_version=api_version,
98-
)
99-
elif api_type in ["whisper_azuread", "tts_azuread"]:
10087
client = openai.AzureOpenAI(
10188
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_NORTHCENTRALUS_ENDPOINT),
10289
azure_ad_token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
10390
api_version=api_version,
10491
)
10592
elif api_type in ["dalle_azure", "gpt_4_azure", "asst_azure"]:
106-
client = openai.AzureOpenAI(
107-
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT),
108-
api_key=os.getenv(ENV_AZURE_OPENAI_SWEDENCENTRAL_KEY),
109-
api_version=api_version,
110-
)
111-
elif api_type in ["dalle_azuread", "gpt_4_azuread", "asst_azuread"]:
11293
client = openai.AzureOpenAI(
11394
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT),
11495
azure_ad_token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
@@ -122,38 +103,26 @@ def client_async(api_type, api_version):
122103
if api_type == "azure":
123104
client = openai.AsyncAzureOpenAI(
124105
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_ENDPOINT),
125-
api_key=os.getenv(ENV_AZURE_OPENAI_KEY),
106+
azure_ad_token_provider=get_bearer_token_provider_async(AsyncDefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
126107
api_version=api_version,
127108
)
128-
elif api_type == "azuread":
109+
elif api_type == "azure_key":
129110
client = openai.AsyncAzureOpenAI(
130111
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_ENDPOINT),
131-
azure_ad_token_provider=get_bearer_token_provider_async(AsyncDefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
112+
api_key=os.getenv(ENV_AZURE_OPENAI_KEY),
132113
api_version=api_version,
133114
)
134115
elif api_type in ["openai", "gpt_4_openai", "tts_openai"]:
135116
client = openai.AsyncOpenAI(
136117
api_key=os.getenv(ENV_OPENAI_KEY)
137118
)
138119
elif api_type in ["whisper_azure", "tts_azure"]:
139-
client = openai.AsyncAzureOpenAI(
140-
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_NORTHCENTRALUS_ENDPOINT),
141-
api_key=os.getenv(ENV_AZURE_OPENAI_NORTHCENTRALUS_KEY),
142-
api_version=api_version,
143-
)
144-
elif api_type in ["whisper_azuread", "tts_azuread"]:
145120
client = openai.AsyncAzureOpenAI(
146121
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_NORTHCENTRALUS_ENDPOINT),
147122
azure_ad_token_provider=get_bearer_token_provider_async(AsyncDefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
148123
api_version=api_version,
149124
)
150125
elif api_type in ["dalle_azure", "gpt_4_azure", "asst_azure"]:
151-
client = openai.AsyncAzureOpenAI(
152-
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT),
153-
api_key=os.getenv(ENV_AZURE_OPENAI_SWEDENCENTRAL_KEY),
154-
api_version=api_version,
155-
)
156-
elif api_type in ["dalle_azuread", "gpt_4_azuread", "asst_azuread"]:
157126
client = openai.AsyncAzureOpenAI(
158127
azure_endpoint=os.getenv(ENV_AZURE_OPENAI_SWEDENCENTRAL_ENDPOINT),
159128
azure_ad_token_provider=get_bearer_token_provider_async(AsyncDefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"),
@@ -165,41 +134,41 @@ def client_async(api_type, api_version):
165134
def build_kwargs(args, api_type):
166135
test_feature = args[0].qualified_test_name
167136
if test_feature.startswith("test_audio"):
168-
if api_type in ["whisper_azure", "whisper_azuread"]:
137+
if api_type in ["whisper_azure"]:
169138
return {"model": ENV_AZURE_OPENAI_AUDIO_NAME}
170139
elif api_type == "openai":
171140
return {"model": ENV_OPENAI_AUDIO_MODEL}
172141
elif api_type == "tts_openai":
173142
return {"model": ENV_OPENAI_TTS_MODEL}
174-
elif api_type in ["tts_azure", "tts_azuread"]:
143+
elif api_type in ["tts_azure"]:
175144
return {"model": ENV_AZURE_OPENAI_TTS_NAME}
176145
if test_feature.startswith("test_chat_completions") \
177146
or test_feature.startswith(("test_client", "test_models")):
178-
if api_type in ["azure", "azuread", "asst_azure"]:
147+
if api_type in ["azure", "azure_key", "asst_azure"]:
179148
return {"model": ENV_AZURE_OPENAI_CHAT_COMPLETIONS_NAME}
180149
elif api_type == "openai":
181150
return {"model": ENV_OPENAI_CHAT_COMPLETIONS_MODEL}
182-
elif api_type in ["gpt_4_azure", "gpt_4_azuread"]:
151+
elif api_type in ["gpt_4_azure"]:
183152
return {"model": ENV_AZURE_OPENAI_CHAT_COMPLETIONS_GPT4_NAME}
184153
elif api_type == "gpt_4_openai":
185154
return {"model": ENV_OPENAI_CHAT_COMPLETIONS_GPT4_MODEL}
186155
if test_feature.startswith("test_completions"):
187-
if api_type in ["azure", "azuread"]:
156+
if api_type == "azure":
188157
return {"model": ENV_AZURE_OPENAI_COMPLETIONS_NAME}
189158
elif api_type == "openai":
190159
return {"model": ENV_OPENAI_COMPLETIONS_MODEL}
191160
if test_feature.startswith("test_embeddings"):
192-
if api_type in ["azure", "azuread"]:
161+
if api_type == "azure":
193162
return {"model": ENV_AZURE_OPENAI_EMBEDDINGS_NAME}
194163
elif api_type == "openai":
195164
return {"model": ENV_OPENAI_EMBEDDINGS_MODEL}
196165
if test_feature.startswith("test_dall_e"):
197-
if api_type in ["dalle_azure", "dalle_azuread"]:
166+
if api_type in ["dalle_azure"]:
198167
return {"model": ENV_AZURE_OPENAI_DALLE_NAME}
199168
elif api_type == "openai":
200169
return {"model": ENV_OPENAI_DALLE_MODEL}
201170
if test_feature.startswith("test_assistants"):
202-
if api_type in ["asst_azure", "asst_azuread"]:
171+
if api_type in ["asst_azure"]:
203172
return {"model": ENV_AZURE_OPENAI_CHAT_COMPLETIONS_GPT4_NAME}
204173
elif api_type == "gpt_4_openai":
205174
return {"model": ENV_OPENAI_CHAT_COMPLETIONS_GPT4_MODEL}

sdk/openai/azure-openai/tests/test_assistants.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,17 @@
99
import pathlib
1010
import uuid
1111
from devtools_testutils import AzureRecordedTestCase
12-
from conftest import ASST_AZURE, ASST_AZUREAD, PREVIEW, GPT_4_OPENAI, configure
12+
from conftest import ASST_AZURE, PREVIEW, GPT_4_OPENAI, configure
1313

1414
TIMEOUT = 300
1515

16+
1617
class TestAssistants(AzureRecordedTestCase):
1718

1819
@configure
1920
@pytest.mark.parametrize(
2021
"api_type, api_version",
21-
[(ASST_AZURE, PREVIEW), (ASST_AZUREAD, PREVIEW), (GPT_4_OPENAI, "v1")]
22+
[(ASST_AZURE, PREVIEW), (GPT_4_OPENAI, "v1")]
2223
)
2324
def test_assistants_crud(self, client, api_type, api_version, **kwargs):
2425

sdk/openai/azure-openai/tests/test_assistants_async.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,18 @@
99
import pathlib
1010
import uuid
1111
from devtools_testutils import AzureRecordedTestCase
12-
from conftest import ASST_AZURE, ASST_AZUREAD, PREVIEW, GPT_4_OPENAI, configure_async
12+
from conftest import ASST_AZURE, PREVIEW, GPT_4_OPENAI, configure_async
1313

1414
TIMEOUT = 300
1515

16+
1617
class TestAssistantsAsync(AzureRecordedTestCase):
1718

1819
@configure_async
1920
@pytest.mark.asyncio
2021
@pytest.mark.parametrize(
2122
"api_type, api_version",
22-
[(ASST_AZURE, PREVIEW), (ASST_AZUREAD, PREVIEW), (GPT_4_OPENAI, "v1")]
23+
[(ASST_AZURE, PREVIEW), (GPT_4_OPENAI, "v1")]
2324
)
2425
async def test_assistants_crud(self, client_async, api_type, api_version, **kwargs):
2526
try:

sdk/openai/azure-openai/tests/test_audio.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,18 @@
88
import pathlib
99
import uuid
1010
from devtools_testutils import AzureRecordedTestCase
11-
from conftest import WHISPER_AZURE, OPENAI, WHISPER_AZURE_AD, PREVIEW, GA, configure, TTS_OPENAI, TTS_AZURE, TTS_AZURE_AD
11+
from conftest import WHISPER_AZURE, OPENAI, PREVIEW, GA, configure, TTS_OPENAI, TTS_AZURE
1212

1313
audio_test_file = pathlib.Path(__file__).parent / "./assets/hello.m4a"
1414
audio_long_test_file = pathlib.Path(__file__).parent / "./assets/wikipediaOcelot.wav"
1515

16+
1617
class TestAudio(AzureRecordedTestCase):
1718

1819
@configure
1920
@pytest.mark.parametrize(
2021
"api_type, api_version",
21-
[(WHISPER_AZURE, GA), (WHISPER_AZURE_AD, GA), (WHISPER_AZURE, PREVIEW), (WHISPER_AZURE_AD, PREVIEW), (OPENAI, "v1")]
22+
[(WHISPER_AZURE, GA), (WHISPER_AZURE, PREVIEW), (OPENAI, "v1")]
2223
)
2324
def test_transcribe(self, client, api_type, api_version, **kwargs):
2425

@@ -43,7 +44,7 @@ def test_transcribe_raw(self, client, api_type, api_version, **kwargs):
4344
@configure
4445
@pytest.mark.parametrize(
4546
"api_type, api_version",
46-
[(WHISPER_AZURE, GA), (WHISPER_AZURE_AD, GA), (WHISPER_AZURE, PREVIEW), (WHISPER_AZURE_AD, PREVIEW), (OPENAI, "v1")]
47+
[(WHISPER_AZURE, GA), (WHISPER_AZURE, PREVIEW), (OPENAI, "v1")]
4748
)
4849
def test_translate(self, client, api_type, api_version, **kwargs):
4950

@@ -223,7 +224,7 @@ def test_translate_options(self, client, api_type, api_version, **kwargs):
223224
@configure
224225
@pytest.mark.parametrize(
225226
"api_type, api_version",
226-
[(TTS_AZURE, PREVIEW), (TTS_AZURE_AD, PREVIEW), (TTS_OPENAI, "v1")]
227+
[(TTS_AZURE, PREVIEW), (TTS_OPENAI, "v1")]
227228
)
228229
def test_tts(self, client, api_type, api_version, **kwargs):
229230

sdk/openai/azure-openai/tests/test_audio_async.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import pathlib
99
import uuid
1010
from devtools_testutils import AzureRecordedTestCase
11-
from conftest import WHISPER_AZURE, OPENAI, WHISPER_AZURE_AD, PREVIEW, GA, configure_async, TTS_OPENAI, TTS_AZURE, TTS_AZURE_AD
11+
from conftest import WHISPER_AZURE, OPENAI, PREVIEW, GA, configure_async, TTS_OPENAI, TTS_AZURE
1212

1313
audio_test_file = pathlib.Path(__file__).parent / "./assets/hello.m4a"
1414
audio_long_test_file = pathlib.Path(__file__).parent / "./assets/wikipediaOcelot.wav"
@@ -20,7 +20,7 @@ class TestAudioAsync(AzureRecordedTestCase):
2020
@pytest.mark.asyncio
2121
@pytest.mark.parametrize(
2222
"api_type, api_version",
23-
[(WHISPER_AZURE, GA), (WHISPER_AZURE_AD, GA), (WHISPER_AZURE, PREVIEW), (WHISPER_AZURE_AD, PREVIEW), (OPENAI, "v1")]
23+
[(WHISPER_AZURE, GA), (WHISPER_AZURE, PREVIEW), (OPENAI, "v1")]
2424
)
2525
async def test_transcribe(self, client_async, api_type, api_version, **kwargs):
2626

@@ -47,7 +47,7 @@ async def test_transcribe_raw(self, client_async, api_type, api_version, **kwarg
4747
@pytest.mark.asyncio
4848
@pytest.mark.parametrize(
4949
"api_type, api_version",
50-
[(WHISPER_AZURE, GA), (WHISPER_AZURE_AD, GA), (WHISPER_AZURE, PREVIEW), (WHISPER_AZURE_AD, PREVIEW), (OPENAI, "v1")]
50+
[(WHISPER_AZURE, GA), (WHISPER_AZURE, PREVIEW), (OPENAI, "v1")]
5151
)
5252
async def test_translate(self, client_async, api_type, api_version, **kwargs):
5353

@@ -239,7 +239,7 @@ async def test_translate_options(self, client_async, api_type, api_version, **kw
239239
@pytest.mark.asyncio
240240
@pytest.mark.parametrize(
241241
"api_type, api_version",
242-
[(TTS_AZURE, PREVIEW), (TTS_AZURE_AD, PREVIEW), (TTS_OPENAI, "v1")]
242+
[(TTS_AZURE, PREVIEW), (TTS_OPENAI, "v1")]
243243
)
244244
async def test_tts(self, client_async, api_type, api_version, **kwargs):
245245

0 commit comments

Comments
 (0)