public async void Happy_path_returns_OkObjectResult_with_hello_text() { const string ExpecetedName = "Some Name"; var fakeApiAuthorization = new FakeApiAuthorizationService() { // Setup to fake athuorization success. ApiAuthorizationResultForTests = new ApiAuthorizationResult() }; string jsonBody = $"{{ \"name\": \"{ExpecetedName}\" }}"; HttpRequest httpRequest = HttpRequestFactoryFixture.CreateHttpPostRequest( jsonBody); var listLogger = new ListLoggerFixture(); var func = new HelloFunction(fakeApiAuthorization); IActionResult actionResult = await func.Run(httpRequest, listLogger); Assert.NotNull(actionResult); Assert.IsType <OkObjectResult>(actionResult); Assert.Equal($"Hello, {ExpecetedName}", ((OkObjectResult)actionResult).Value); Assert.NotEmpty(listLogger.LogEntries); Assert.True(listLogger.HasLogEntryMessageContaining( LogLevel.Warning, $"HTTP trigger function {nameof(HelloFunction)} rquest is authorized.")); }
public async void Authorization_fail_returns_UnauthorizedResult() { const string ExpectedFailureReason = "some reason to fail."; var fakeApiAuthorization = new FakeApiAuthorizationService() { // Setup for athuorization fails. ApiAuthorizationResultForTests = new ApiAuthorizationResult(ExpectedFailureReason) }; HttpRequest httpRequest = HttpRequestFactoryFixture.CreateHttpGetRequest( "name", // quertyStringKey doesn't matter. "world"); // quertyStringValue doesn't matter. var listLogger = new ListLoggerFixture(); var func = new HelloFunction(fakeApiAuthorization); IActionResult actionResult = await func.Run(httpRequest, listLogger); Assert.NotNull(actionResult); Assert.IsType <UnauthorizedResult>(actionResult); Assert.NotEmpty(listLogger.LogEntries); Assert.True(listLogger.HasLogEntryMessageContaining( LogLevel.Warning, ExpectedFailureReason)); }