def test_add_synonym(self, qna_account, qna_key): client = QuestionAnsweringProjectsClient(qna_account, AzureKeyCredential(qna_key)) # create project project_name = "IssacNewton" QnaAuthoringHelper.create_test_project(client, project_name=project_name, **self.kwargs_for_polling) # add synonyms client.update_synonyms( project_name=project_name, synonyms={"value": [{ "alterations": ["qnamaker", "qna maker"] }]}) # assert synonym_added = False synonyms = client.list_synonyms(project_name=project_name) for s in synonyms: if ("alterations" in s) and ("qnamaker" in s["alterations"] and "qna maker" in s["alterations"]): synonym_added = True assert synonym_added
def test_add_qna(self, qna_account, qna_key): client = QuestionAnsweringProjectsClient(qna_account, AzureKeyCredential(qna_key)) # create project project_name = "IssacNewton" 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?" answer = "Using Microsoft's Azure SDKs" qna_poller = client.begin_update_qnas(project_name=project_name, qnas=[{ "op": "add", "value": { "questions": [question], "answer": answer } }], **self.kwargs_for_polling) qna_poller.result() # assert qnas = client.list_qnas(project_name=project_name) qna_added = False for qna in qnas: if ("answer" in qna and "questions" in qna) and ( qna["answer"] == answer and question in qna["questions"]): qna_added = True assert qna_added
def test_add_source(self, qna_account, qna_key): client = QuestionAnsweringProjectsClient(qna_account, AzureKeyCredential(qna_key)) # create project project_name = "IssacNewton" QnaAuthoringHelper.create_test_project(client, project_name=project_name) # add sources source_display_name = "MicrosoftFAQ" sources_poller = client.begin_update_sources( project_name=project_name, sources=[{ "op": "add", "value": { "displayName": source_display_name, "source": "https://www.microsoft.com/en-in/software-download/faq", "sourceUri": "https://www.microsoft.com/en-in/software-download/faq", "sourceKind": "url", "contentStructureKind": "unstructured", "refresh": False } }] ) sources_poller.result() # wait until done # assert sources = client.list_sources( project_name=project_name ) source_added = False for s in sources: if ("displayName" in s) and s["displayName"] == source_display_name: source_added = True assert source_added
def test_deploy_project(self, qna_account, qna_key): client = QuestionAnsweringProjectsClient(qna_account, AzureKeyCredential(qna_key)) # create deployable project project_name = "IssacNewton" 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, **self.kwargs_for_polling) deployment_poller.result() # assert deployments = client.list_deployments(project_name=project_name) deployment_found = False for d in deployments: if ("deploymentName" in d) and d["deploymentName"] == deployment_name: deployment_found = True assert deployment_found
def test_export_project(self, qna_account, qna_key): client = QuestionAnsweringProjectsClient(qna_account, AzureKeyCredential(qna_key)) # create project project_name = "IssacNewton" QnaAuthoringHelper.create_test_project(client, project_name=project_name) # export project export_poller = client.begin_export(project_name=project_name, format="json") result = export_poller.result() assert result["status"] == "succeeded" assert result["resultUrl"] is not None
def test_import_project(self, qna_account, qna_key): client = QuestionAnsweringProjectsClient(qna_account, AzureKeyCredential(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) # import project project = { "Metadata": { "ProjectName": project_name, "Description": "biography of Sir Issac Newton", "Language": "en", "MultilingualResource": False, "Settings": { "DefaultAnswer": "no answer" } } } import_poller = client.begin_import_assets(project_name=project_name, options=project) import_poller.result() # assert project_found = False projects = client.list_projects() for p in projects: if ("projectName" in p) and p["projectName"] == project_name: project_found = True assert project_found