Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -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=[
Expand All @@ -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()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand All @@ -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




Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand All @@ -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




Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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 = {
Expand All @@ -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()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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 = {
Expand All @@ -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()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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

Expand All @@ -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?"
Expand All @@ -75,7 +76,8 @@ def test_add_qna(self, qna_account, qna_key):
],
"answer": answer
}
}]
}],
**self.kwargs_for_polling
)
qna_poller.result()

Expand All @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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

Expand All @@ -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?"
Expand All @@ -77,7 +78,8 @@ async def test_add_qna(self, qna_account, qna_key):
],
"answer": answer
}
}]
}],
**self.kwargs_for_polling
)
await qna_poller.result()

Expand All @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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__(
Expand Down Expand Up @@ -107,7 +113,6 @@ def create_resource(self, name, **kwargs):
'qna_project': TEST_PROJECT
}


class QnaAuthoringHelper:

def create_test_project(
Expand All @@ -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(
Expand All @@ -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=[
Expand All @@ -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()

Expand Down