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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
# coding=utf-8
# ------------------------------------
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# ------------------------------------
import pytest
from azure.ai.language.questionanswering.authoring import AuthoringClient
from azure.core.credentials import AzureKeyCredential
from helpers import QnaAuthoringHelper
from testcase import QuestionAnsweringTestCase
class TestCreateAndDeploy(QuestionAnsweringTestCase):
def test_polling_interval(self, qna_creds):
# test default
client = AuthoringClient(qna_creds["qna_endpoint"], AzureKeyCredential(qna_creds["qna_key"]))
assert client._config.polling_interval == 5
# test override
client = AuthoringClient(qna_creds["qna_endpoint"], AzureKeyCredential(qna_creds["qna_key"]), polling_interval=1)
assert client._config.polling_interval == 1
def test_create_project_aad(self, recorded_test, qna_creds):
token = self.get_credential(AuthoringClient)
client = AuthoringClient(qna_creds["qna_endpoint"], token)
# create project
project_name = "IssacNewton"
client.create_project(
project_name=project_name,
options={
"description": "biography of Sir Issac Newton",
"language": "en",
"multilingualResource": True,
"settings": {
"defaultAnswer": "no answer"
}
})
# list projects
qna_projects = client.list_projects()
found = False
for p in qna_projects:
if ("projectName" in p) and p["projectName"] == project_name:
found = True
assert found
def test_create_project(self, recorded_test, qna_creds):
client = AuthoringClient(qna_creds["qna_endpoint"], AzureKeyCredential(qna_creds["qna_key"]))
# create project
project_name = "IssacNewton"
client.create_project(
project_name=project_name,
options={
"description": "biography of Sir Issac Newton",
"language": "en",
"multilingualResource": True,
"settings": {
"defaultAnswer": "no answer"
}
})
# list projects
qna_projects = client.list_projects()
found = False
for p in qna_projects:
if ("projectName" in p) and p["projectName"] == project_name:
found = True
assert found
def test_deploy_project(self, recorded_test, qna_creds):
client = AuthoringClient(qna_creds["qna_endpoint"], AzureKeyCredential(qna_creds["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
)
project = deployment_poller.result()
assert project["lastDeployedDateTime"]
assert project["deploymentName"] == "production"
# 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
|