public async Task Run_CosmosDbReturnsNullCollectionOfDocuments_Return404NotFound() { //arrange List <IntermediaryServiceDocument> docs = null; //act var actionResult = await Function4.Run(_mockHttpRequest.Object, docs, _mockLogger); //assert Assert.IsTrue(_mockLogger.GetLogs().Where(m => m.Contains(UserFriendlyMessages.DocumentNotFound)).Count() == 1); Assert.IsInstanceOfType(actionResult, typeof(NotFoundObjectResult)); StringAssert.Contains(((NotFoundObjectResult)actionResult).Value.ToString(), UserFriendlyMessages.DocumentNotFound); }
public async Task Run_BodyDoesNotContainOneOfTheThree_Return400BadRequest(string body) { //arrange var mockHttpRequest = MockHttpRequestGenerator.CreateWithBodyString(body); //act var actionResult = await Function3.Run(mockHttpRequest.Object, new IntermediaryServiceDocument(), _mockLogger); //assert Assert.IsTrue(_mockLogger.GetLogs().Where(m => m.Contains(UserFriendlyMessages.ErrorProcessingBody)).Count() == 1); Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult)); StringAssert.Contains(((BadRequestObjectResult)actionResult).Value.ToString(), UserFriendlyMessages.ErrorProcessingBody); }
public async Task Run_CatchAnyExceptionsTricklingUpToTopLevelFunctionCode() { //arrange var mockHttpRequest = new Mock <HttpRequest>(); //act var actionResult = _function1.Run(mockHttpRequest.Object, out _cosmosDocument, _mockLogger); //assert Assert.IsTrue(_mockLogger.GetLogs().Where(m => m.Contains(UserFriendlyMessages.UnhandledException)).Any()); Assert.IsInstanceOfType(actionResult, typeof(StatusCodeResult)); Assert.IsTrue(String.Equals(((StatusCodeResult)actionResult).StatusCode, 500)); Assert.IsNull(_cosmosDocument); //Make sure cosmos document won't be saved }
public async Task PostAsync_ThrowsException_Logged() { //arrange var stubbedThirdPartyServiceHttpClient = new StubbedThirdPartyServiceHttpClient(_mockHttpClient.Object); var document = new Document { Body = "Some text" }; //act await Assert.ThrowsExceptionAsync <NullReferenceException>(async() => await stubbedThirdPartyServiceHttpClient.PostAsyncSuccessful(document, "request/1", _mockLogger)); //assert Assert.IsTrue(_mockLogger.GetLogs().Any(m => m.Contains(UserFriendlyMessages.ThirdPartyCommunicationFailure))); }