mirror of
https://github.com/Smaug123/WoofWare.Myriad
synced 2025-10-25 05:48:40 +00:00
Failing test
This commit is contained in:
@@ -54,6 +54,12 @@ type IPureGymApi =
|
|||||||
[<Get "endpoint">]
|
[<Get "endpoint">]
|
||||||
abstract GetResponseMessage''' : ?ct : CancellationToken -> Task<HttpResponseMessage>
|
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">]
|
[<Get "endpoint">]
|
||||||
[<AllowAnyStatusCode>]
|
[<AllowAnyStatusCode>]
|
||||||
abstract GetWithAnyReturnCode : ?ct : CancellationToken -> Task<HttpResponseMessage>
|
abstract GetWithAnyReturnCode : ?ct : CancellationToken -> Task<HttpResponseMessage>
|
||||||
|
|||||||
@@ -86,3 +86,32 @@ module TestReturnTypes =
|
|||||||
| _ -> failwith $"unrecognised case: %s{case}"
|
| _ -> failwith $"unrecognised case: %s{case}"
|
||||||
|
|
||||||
Object.ReferenceEquals (message, Option.get responseMessage) |> shouldEqual true
|
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