diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py index aa56f6a74643..ddc13c4d3a65 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/asynctestcase.py @@ -46,7 +46,8 @@ async def create_test_project( add_sources = False, get_export_url = False, delete_old_project = False, - add_qnas = False + add_qnas = False, + **kwargs ): # create project await client.create_project( @@ -62,12 +63,12 @@ async def create_test_project( # add sources if is_deployable or add_sources: - await QnaAuthoringAsyncHelper.add_sources(client, project_name) + await QnaAuthoringAsyncHelper.add_sources(client, project_name, **kwargs) if get_export_url: - return await QnaAuthoringAsyncHelper.export_project(client, project_name, delete_project=delete_old_project) + return await QnaAuthoringAsyncHelper.export_project(client, project_name, delete_project=delete_old_project, **kwargs) - async def add_sources(client, project_name): + async def add_sources(client, project_name, **kwargs): update_sources_poller = await client.begin_update_sources( project_name=project_name, sources=[ @@ -79,22 +80,25 @@ async def add_sources(client, project_name): "sourceKind": "url" } } - ] + ], + **kwargs ) await update_sources_poller.result() - async def export_project(client, project_name, delete_project=True): + async def export_project(client, project_name, delete_project=True, **kwargs): # export project export_poller = await client.begin_export( project_name=project_name, - format="json" + format="json", + **kwargs ) result = await export_poller.result() # delete old project if delete_project: delete_poller = await client.begin_delete_project( - project_name=project_name + project_name=project_name, + **kwargs ) await delete_poller.result() diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project.py index 8f22e8499c48..767debd0c68d 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project.py @@ -50,13 +50,19 @@ def test_deploy_project(self, qna_account, qna_key): # create deployable project project_name = "IssacNewton" - QnaAuthoringHelper.create_test_project(client, project_name=project_name, is_deployable=True) + QnaAuthoringHelper.create_test_project( + client, + project_name=project_name, + is_deployable=True, + **self.kwargs_for_polling, + ) # test deploy deployment_name = "production" deployment_poller = client.begin_deploy_project( project_name=project_name, - deployment_name=deployment_name + deployment_name=deployment_name, + **self.kwargs_for_polling ) deployment_poller.result() @@ -69,7 +75,7 @@ def test_deploy_project(self, qna_account, qna_key): if ("deploymentName" in d) and d["deploymentName"] == deployment_name: deployment_found = True assert deployment_found - + diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project_async.py index c308e0439fde..9827d68f84cf 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project_async.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_create_and_deploy_project_async.py @@ -51,13 +51,19 @@ async def test_deploy_project(self, qna_account, qna_key): # create deployable project project_name = "IssacNewton" - await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name, is_deployable=True) + await QnaAuthoringAsyncHelper.create_test_project( + client, + project_name=project_name, + is_deployable=True, + **self.kwargs_for_polling + ) # test deploy deployment_name = "production" deployment_poller = await client.begin_deploy_project( project_name=project_name, - deployment_name=deployment_name + deployment_name=deployment_name, + **self.kwargs_for_polling ) await deployment_poller.result() @@ -70,7 +76,7 @@ async def test_deploy_project(self, qna_account, qna_key): if ("deploymentName" in d) and d["deploymentName"] == deployment_name: deployment_found = True assert deployment_found - + diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project.py index 4da6b9e0aae3..a890bd54fc7f 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project.py @@ -24,12 +24,13 @@ def test_export_project(self, qna_account, qna_key): # create project project_name = "IssacNewton" - QnaAuthoringHelper.create_test_project(client, project_name=project_name) + QnaAuthoringHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # export project export_poller = client.begin_export( project_name=project_name, - format="json" + format="json", + **self.kwargs_for_polling ) result = export_poller.result() assert result["status"] == "succeeded" @@ -42,7 +43,13 @@ def test_import_project(self, qna_account, qna_key): # create project project_name = "IssacNewton" - export_url = QnaAuthoringHelper.create_test_project(client, project_name=project_name, get_export_url=True, delete_old_project=True) + export_url = QnaAuthoringHelper.create_test_project( + client, + project_name=project_name, + get_export_url=True, + delete_old_project=True, + **self.kwargs_for_polling + ) # import project project = { @@ -58,7 +65,8 @@ def test_import_project(self, qna_account, qna_key): } import_poller = client.begin_import_assets( project_name=project_name, - options=project + options=project, + **self.kwargs_for_polling ) import_poller.result() diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project_async.py index b10efefd7a2d..46ca65adf8c8 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project_async.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_export_import_project_async.py @@ -25,12 +25,13 @@ async def test_export_project(self, qna_account, qna_key): # create project project_name = "IssacNewton" - await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name) + await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # export project export_poller = await client.begin_export( project_name=project_name, - format="json" + format="json", + **self.kwargs_for_polling ) result = await export_poller.result() assert result["status"] == "succeeded" @@ -43,7 +44,13 @@ async def test_import_project(self, qna_account, qna_key): # create project project_name = "IssacNewton" - export_url = await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name, get_export_url=True, delete_old_project=True) + export_url = await QnaAuthoringAsyncHelper.create_test_project( + client, + project_name=project_name, + get_export_url=True, + delete_old_project=True, + **self.kwargs_for_polling + ) # import project project = { @@ -59,7 +66,8 @@ async def test_import_project(self, qna_account, qna_key): } import_poller = await client.begin_import_assets( project_name=project_name, - options=project + options=project, + **self.kwargs_for_polling ) await import_poller.result() diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources.py index 2ca0f8f39707..c365dbb6ae0f 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources.py @@ -24,7 +24,7 @@ def test_add_source(self, qna_account, qna_key): # create project project_name = "IssacNewton" - QnaAuthoringHelper.create_test_project(client, project_name=project_name) + QnaAuthoringHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # add sources source_display_name = "MicrosoftFAQ" @@ -40,7 +40,8 @@ def test_add_source(self, qna_account, qna_key): "contentStructureKind": "unstructured", "refresh": False } - }] + }], + **self.kwargs_for_polling ) sources_poller.result() # wait until done @@ -60,7 +61,7 @@ def test_add_qna(self, qna_account, qna_key): # create project project_name = "IssacNewton" - QnaAuthoringHelper.create_test_project(client, project_name=project_name) + QnaAuthoringHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # add qnas question = "What is the easiest way to use azure services in my .NET project?" @@ -75,7 +76,8 @@ def test_add_qna(self, qna_account, qna_key): ], "answer": answer } - }] + }], + **self.kwargs_for_polling ) qna_poller.result() @@ -95,7 +97,7 @@ def test_add_synonym(self, qna_account, qna_key): # create project project_name = "IssacNewton" - QnaAuthoringHelper.create_test_project(client, project_name=project_name) + QnaAuthoringHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # add synonyms client.update_synonyms( diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources_async.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources_async.py index a5aa4f8c237e..8562e9627c78 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources_async.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/test_update_knowledge_sources_async.py @@ -26,7 +26,7 @@ async def test_add_source(self, qna_account, qna_key): # create project project_name = "IssacNewton" - await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name) + await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # add sources source_display_name = "MicrosoftFAQ" @@ -42,7 +42,8 @@ async def test_add_source(self, qna_account, qna_key): "contentStructureKind": "unstructured", "refresh": False } - }] + }], + **self.kwargs_for_polling ) await sources_poller.result() # wait until done @@ -62,7 +63,7 @@ async def test_add_qna(self, qna_account, qna_key): # create project project_name = "IssacNewton" - await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name) + await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # add qnas question = "What is the easiest way to use azure services in my .NET project?" @@ -77,7 +78,8 @@ async def test_add_qna(self, qna_account, qna_key): ], "answer": answer } - }] + }], + **self.kwargs_for_polling ) await qna_poller.result() @@ -97,7 +99,7 @@ async def test_add_synonym(self, qna_account, qna_key): # create project project_name = "IssacNewton" - await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name) + await QnaAuthoringAsyncHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # add synonyms await client.update_synonyms( diff --git a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py index 6a9c7faf4aa3..45abfdddf41a 100644 --- a/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py +++ b/sdk/cognitivelanguage/azure-ai-language-questionanswering/tests/testcase.py @@ -64,6 +64,12 @@ def generate_oauth_token(self): def generate_fake_token(self): return FakeTokenCredential() + @property + def kwargs_for_polling(self): + if self.is_playback: + return {"polling_interval": 0} + return {} + class GlobalResourceGroupPreparer(AzureMgmtPreparer): def __init__(self): super(GlobalResourceGroupPreparer, self).__init__( @@ -107,7 +113,6 @@ def create_resource(self, name, **kwargs): 'qna_project': TEST_PROJECT } - class QnaAuthoringHelper: def create_test_project( @@ -117,7 +122,8 @@ def create_test_project( add_sources = False, get_export_url = False, delete_old_project = False, - add_qnas = False + add_qnas = False, + **kwargs ): # create project client.create_project( @@ -133,12 +139,12 @@ def create_test_project( # add sources if is_deployable or add_sources: - QnaAuthoringHelper.add_sources(client, project_name) + QnaAuthoringHelper.add_sources(client, project_name, **kwargs) if get_export_url: - return QnaAuthoringHelper.export_project(client, project_name, delete_project=delete_old_project) + return QnaAuthoringHelper.export_project(client, project_name, delete_project=delete_old_project, **kwargs) - def add_sources(client, project_name): + def add_sources(client, project_name, **kwargs): update_sources_poller = client.begin_update_sources( project_name=project_name, sources=[ @@ -150,22 +156,25 @@ def add_sources(client, project_name): "sourceKind": "url" } } - ] + ], + **kwargs ) update_sources_poller.result() - def export_project(client, project_name, delete_project=True): + def export_project(client, project_name, delete_project=True, **kwargs): # export project export_poller = client.begin_export( project_name=project_name, - format="json" + format="json", + **kwargs ) result = export_poller.result() # delete old project if delete_project: delete_poller = client.begin_delete_project( - project_name=project_name + project_name=project_name, + **kwargs ) delete_poller.result()