mirror of
https://github.com/Smaug123/WoofWare.Myriad
synced 2025-10-24 05:18:43 +00:00
Failing test
This commit is contained in:
@@ -54,6 +54,12 @@ type IPureGymApi =
|
||||
[<Get "endpoint">]
|
||||
abstract GetResponseMessage''' : ?ct : CancellationToken -> Task<HttpResponseMessage>
|
||||
|
||||
[<Get "endpoint">]
|
||||
abstract GetResponse : ?ct : CancellationToken -> Task<Response<MemberActivityDto>>
|
||||
|
||||
[<Get "endpoint">]
|
||||
abstract GetResponse' : ?ct : CancellationToken -> Task<RestEase.Response<MemberActivityDto>>
|
||||
|
||||
[<Get "endpoint">]
|
||||
[<AllowAnyStatusCode>]
|
||||
abstract GetWithAnyReturnCode : ?ct : CancellationToken -> Task<HttpResponseMessage>
|
||||
|
||||
@@ -86,3 +86,32 @@ module TestReturnTypes =
|
||||
| _ -> failwith $"unrecognised case: %s{case}"
|
||||
|
||||
Object.ReferenceEquals (message, Option.get responseMessage) |> shouldEqual true
|
||||
|
||||
[<TestCase "Response">]
|
||||
[<TestCase "RestEase.Response">]
|
||||
let ``Response return`` (case : string) =
|
||||
for json, memberDto in PureGymDtos.memberActivityDtoCases do
|
||||
let mutable responseMessage = None
|
||||
|
||||
let proc (message : HttpRequestMessage) : HttpResponseMessage Async =
|
||||
async {
|
||||
message.Method |> shouldEqual HttpMethod.Get
|
||||
let content = new StringContent (json)
|
||||
let resp = new HttpResponseMessage (HttpStatusCode.OK)
|
||||
resp.Content <- content
|
||||
responseMessage <- Some resp
|
||||
return resp
|
||||
}
|
||||
|
||||
use client = HttpClientMock.make (Uri "https://example.com") proc
|
||||
let api = PureGymApi.make client
|
||||
|
||||
let response =
|
||||
match case with
|
||||
| "Response" -> api.GetResponse().Result
|
||||
| "RestEase.Response'" -> api.GetResponse'().Result
|
||||
| _ -> failwith $"unrecognised case: %s{case}"
|
||||
|
||||
response.ResponseMessage |> shouldEqual (Option.get responseMessage)
|
||||
response.StringContent |> shouldEqual json
|
||||
response.GetContent () |> shouldEqual memberDto
|
||||
|
||||
Reference in New Issue
Block a user