Пример #1
0
        public async Task WithMissingUserIdReturnsBadRequest()
        {
            // arrange
            var           mockUserAuth = Mockers.MockUserAuth();
            string        userId;
            IActionResult actionResult = new BadRequestObjectResult(new { error = "Error." });

            mockUserAuth.Setup(m => m.GetUserIdAsync(It.IsAny <HttpRequest>(), out userId, out actionResult))
            .Returns(Task.FromResult(false));
            var fakeRepository             = new FakeBlobRepository();
            Mock <HttpRequest> mockRequest = Mockers.MockRequest(null);
            Mock <ILogger>     mockLogger  = new Mock <ILogger>();

            var sut = new Functions(
                mockUserAuth.Object,
                fakeRepository);

            // act
            var response = await sut.AddBegin(mockRequest.Object, mockLogger.Object).ConfigureAwait(false);

            var objectResult = (BadRequestObjectResult)response;
            var addResponse  = (dynamic)objectResult.Value;

            // assert
            Assert.AreEqual("Error.", addResponse.error);
        }
Пример #2
0
        /// <summary>
        /// Gets an audio operations class with a blob uploaded to the mock
        /// blob repository.
        /// </summary>
        /// <param name="mockUserAuth">Returns the mock user auth.</param>
        /// <param name="mockHealthService">Returns the mock health service.</param>
        /// <returns>An instance of the <see cref="Functions"/> class.</returns>
        public static Functions GetApiFunctions(
            out Mock <IUserAuthenticationService> mockUserAuth,
            out Mock <IHealthService> mockHealthService)
        {
            mockUserAuth      = Mockers.MockUserAuth();
            mockHealthService = new Mock <IHealthService>();

            return(new Functions(mockUserAuth.Object, mockHealthService.Object));
        }
Пример #3
0
        /// <summary>
        /// Gets an audio operations class with a blob uploaded to the mock
        /// blob repository.
        /// </summary>
        /// <param name="mockUserAuth">Returns the mock user auth.</param>
        /// <param name="fakeBlobRepo">Returns the fake blob repository with the added blob.</param>
        /// <param name="mockEventPub">Returns the fake event publisher.</param>
        /// <returns>An instance of the <see cref="Api.Functions"/> class.</returns>
        public static Api.Functions GetApiFunctionsWithBlobUploaded(
            out Mock <IUserAuthenticationService> mockUserAuth,
            out FakeBlobRepository fakeBlobRepo,
            out Mock <IEventGridPublisherService> mockEventPub)
        {
            mockUserAuth = Mockers.MockUserAuth();

            mockEventPub = new Mock <IEventGridPublisherService>();
            var mockEventSub = new Mock <IEventGridSubscriberService>();
            var mockAudioTranscriptionService = new Mock <Api.IAudioTranscriptionService>();

            fakeBlobRepo = new FakeBlobRepository();
            fakeBlobRepo.AddFakeBlob(Mockers.AudioContainerName, $"{Mockers.DefaultUserId}/{Mockers.DefaultId}");

            return(new Api.Functions(
                       mockUserAuth.Object,
                       fakeBlobRepo,
                       mockEventSub.Object,
                       mockEventPub.Object,
                       mockAudioTranscriptionService.Object));
        }
Пример #4
0
        public async Task WithThrownExceptionThrowsException()
        {
            // arrange
            var           mockUserAuth = Mockers.MockUserAuth();
            string        userId;
            IActionResult actionResult = new BadRequestObjectResult(new { error = "Error." });

            System.Exception ex = new System.Exception("My error.");
            mockUserAuth.Setup(m => m.GetUserIdAsync(It.IsAny <HttpRequest>(), out userId, out actionResult))
            .ThrowsAsync(ex);
            var fakeRepository = new FakeBlobRepository();
            Mock <HttpRequest>    mockRequest = Mockers.MockRequest(null);
            Mock <AbstractLogger> mockLogger  = new Mock <AbstractLogger>();

            var sut = new Functions(
                mockUserAuth.Object,
                fakeRepository);

            // act
            await Assert.ThrowsExceptionAsync <System.Exception>(() => sut.AddBegin(mockRequest.Object, mockLogger.Object)).ConfigureAwait(false);

            mockLogger.Verify(moc => moc.Log(LogLevel.Error, It.IsAny <System.Exception>(), "Unhandled Exception."));
        }
Пример #5
0
        public async Task WithSuccessReturnsIdAndUrl()
        {
            // arrange
            var mockUserAuth               = Mockers.MockUserAuth();
            var fakeRepository             = new FakeBlobRepository();
            Mock <HttpRequest> mockRequest = Mockers.MockRequest(null);
            Mock <ILogger>     mockLogger  = new Mock <ILogger>();

            var sut = new Functions(
                mockUserAuth.Object,
                fakeRepository);

            // act
            var response = await sut.AddBegin(mockRequest.Object, mockLogger.Object).ConfigureAwait(false);

            var objectResult = (OkObjectResult)response;
            var addResponse  = (AddBeginResponse)objectResult.Value;

            // assert
            Assert.IsNotNull(addResponse.Id);
            Assert.IsNotNull(addResponse.UploadUrl);
            Assert.AreEqual($"https://fakerepository/audio/fakeuserid/{addResponse.Id}?sasToken=Write", addResponse.UploadUrl.ToString());
        }