示例#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
        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."));
        }
示例#3
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());
        }