From debc3dd43340a28f70d5fb3f51ec855a1e2213c6 Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Mon, 8 May 2017 19:30:01 +0100 Subject: [PATCH] Functional test to show FSharpAsync works end-to-end (#6240) --- .../FSharpWebSiteTest.cs | 12 ++++++++++++ .../FSharpWebSite/Controllers/HomeController.fs | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/FSharpWebSiteTest.cs b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/FSharpWebSiteTest.cs index 3cd7c14409..44c50206cb 100644 --- a/test/Microsoft.AspNetCore.Mvc.FunctionalTests/FSharpWebSiteTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.FunctionalTests/FSharpWebSiteTest.cs @@ -28,5 +28,17 @@ namespace Microsoft.AspNetCore.Mvc.FunctionalTests Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.Contains("

Hello from FSharpWebSite

", responseBody); } + + [Fact] + public async Task HomeAsyncAction_ReturnsContentAsynchronously() + { + // Act + var response = await Client.GetAsync("http://localhost/home/asyncaction"); + var responseBody = await response.Content.ReadAsStringAsync(); + + // Assert + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.Contains("Action completed asynchronously", responseBody); + } } } diff --git a/test/WebSites/FSharpWebSite/Controllers/HomeController.fs b/test/WebSites/FSharpWebSite/Controllers/HomeController.fs index 8658155e31..c5153b1def 100644 --- a/test/WebSites/FSharpWebSite/Controllers/HomeController.fs +++ b/test/WebSites/FSharpWebSite/Controllers/HomeController.fs @@ -14,3 +14,8 @@ type HomeController () = member this.Index () = this.View() + + member this.AsyncAction () = async { + do! Async.Sleep 50 + return this.Content("Action completed asynchronously") + }