/// <summary> /// Initializes expected transcriber exceptions. /// </summary> /// <param name="exceptions">Dictionary of expected exceptions.</param> public void InitializeTranscriberExceptions(Dictionary <string, TranscriberException> exceptions) { AzureTranscriberMock transcriber = TranscribeCallHttpTrigger.Container.GetService <ITranscriber>() as AzureTranscriberMock; foreach (KeyValuePair <string, TranscriberException> ex in exceptions) { transcriber.RegisterExpectedException(ex.Key, ex.Value); } }
public void TranscribeCallHttpTriggerSuccess() { InitializeSecrets(); string expectedCallSid = "CA10000000000000000000000000000001"; string expectedRecordingUri = "https://fakestorage/recordings/A012345678.wav"; string expectedStorageContainerName = _config[ExpectedStorageContainerNameAppSettingName]; string expectedRegion = _config[ExpectedApiRegionAppSettingName]; string expectedTranscript = "your next Master hearing date January 19th 2018 at 3 p.m. for Gymboree"; AzureKeyVaultSecretStoreMock secretStore = TranscribeCallHttpTrigger.Container.GetService <ISecretStore>() as AzureKeyVaultSecretStoreMock; string storageAccessConnectionString = _config[StorageAccessConnectionStringAppSettingName]; Secret storageAccessKey = secretStore.GetSecretAsync(_config[StorageAccessKeySecretNameAppSettingName], _config[AuthorityAppSettingName]).Result; Secret fullStorageAccessConnectionString = Utils.GetFullStorageConnectionString(storageAccessConnectionString, storageAccessKey); AzureBlobStorageClientMock storageClient = TranscribeCallHttpTrigger.Container.GetService <IStorageClient>() as AzureBlobStorageClientMock; storageClient.RegisterExpectedRequestMessage(expectedRecordingUri, fullStorageAccessConnectionString.Value, _config[ExpectedStorageContainerNameAppSettingName], false); AzureTranscriberMock transcriber = TranscribeCallHttpTrigger.Container.GetService <ITranscriber>() as AzureTranscriberMock; transcriber.RegisterExpectedRequestMessage(expectedRecordingUri, ExpectedApiKey, expectedRegion); transcriber.RegisterExpectedResponseMessage(expectedRecordingUri, expectedTranscript); HttpRequest request = CreateHttpPostRequest(expectedCallSid, expectedRecordingUri); ExecutionContext context = new ExecutionContext() { FunctionAppDirectory = Directory.GetCurrentDirectory(), }; IActionResult result = TranscribeCallHttpTrigger.Run(request, Log, context).Result; Assert.IsInstanceOfType(result, typeof(OkObjectResult)); OkObjectResult okResult = (OkObjectResult)result; Assert.AreEqual(200, okResult.StatusCode); Assert.IsInstanceOfType(okResult.Value, typeof(TranscribeCallResponse)); TranscribeCallResponse response = (TranscribeCallResponse)okResult.Value; Assert.AreEqual(expectedCallSid, response.CallSid); Assert.AreEqual(expectedTranscript, response.Text); Assert.AreEqual((int)CommonStatusCode.Ok, response.StatusCode); Assert.AreEqual(Enum.GetName(typeof(CommonStatusCode), CommonStatusCode.Ok), response.StatusDesc); Assert.IsFalse(response.HasError); Assert.AreEqual(0, response.ErrorCode); Assert.IsNull(response.ErrorDetails); }
public void TranscribeCallHttpTriggerRunTranscriberException() { InitializeSecrets(); string expectedCallSid = "CA10000000000000000000000000000001"; string expectedRecordingUri = "https://fakestorage/recordings/A012345678.wav"; string expectedRegion = _config[ExpectedApiRegionAppSettingName]; InitializeStorageClientExceptions(new Dictionary <string, StorageClientException>() { { expectedRecordingUri, new StorageClientException("TestException", null) }, }); AzureTranscriberMock transcriber = TranscribeCallHttpTrigger.Container.GetService <ITranscriber>() as AzureTranscriberMock; transcriber.RegisterExpectedRequestMessage(expectedRecordingUri, ExpectedApiKey, expectedRegion); HttpRequest request = CreateHttpPostRequest(expectedCallSid, expectedRecordingUri); ExecutionContext context = new ExecutionContext() { FunctionAppDirectory = Directory.GetCurrentDirectory(), }; IActionResult result = TranscribeCallHttpTrigger.Run(request, Log, context).Result; Assert.IsInstanceOfType(result, typeof(OkObjectResult)); OkObjectResult okResult = (OkObjectResult)result; Assert.AreEqual(200, okResult.StatusCode); Assert.IsInstanceOfType(okResult.Value, typeof(TranscribeCallResponse)); TranscribeCallResponse response = (TranscribeCallResponse)okResult.Value; Assert.AreEqual(expectedCallSid, response.CallSid); Assert.IsNull(response.Text); Assert.AreEqual((int)CommonStatusCode.Error, response.StatusCode); Assert.AreEqual(Enum.GetName(typeof(CommonStatusCode), CommonStatusCode.Error), response.StatusDesc); Assert.IsTrue(response.HasError); Assert.AreEqual((int)CommonErrorCode.StorageClientGenericFailure, response.ErrorCode); Assert.AreEqual(CommonErrorMessage.StorageClientGenericFailureMessage, response.ErrorDetails); }