예제 #1
0
        public static RestClientMock AddResource(this RestClientMock restClientMock, Func <IRestClient, Task> requestResourceAction)
        {
            var interceptingRestClient = new InterceptingRestClient();

            try
            {
                requestResourceAction(interceptingRestClient).Wait();
            }
            catch (ThisIsJustAnHttpClientMockException)
            {
            }

            if (interceptingRestClient.Request == null)
            {
                throw new InvalidOperationException("The resource did not call the rest client.");
            }

            var mockRequest = new MockRequest(interceptingRestClient.Request);

            restClientMock.Requests.Add(mockRequest);

            return(restClientMock);
        }
예제 #2
0
 public static MockRequest StatusCode(this MockRequest mockRequest, HttpStatusCode statusCode)
 {
     mockRequest.Response.StatusCode = statusCode;
     return(mockRequest);
 }
예제 #3
0
 public static MockRequest ChangeResponseHeader(this MockRequest mockRequest, Action <HttpResponseHeaders> addHeaders)
 {
     addHeaders(mockRequest.Response.Headers);
     return(mockRequest);
 }
예제 #4
0
 public static MockRequest ResponseContent(this MockRequest mockRequest, HttpContent httpContent)
 {
     mockRequest.Response.Content = httpContent;
     return(mockRequest);
 }
예제 #5
0
 public static MockRequest ResponseJsonObject(this MockRequest mockRequest, object data)
 {
     mockRequest.Response.Content = new JsonContent(data);
     return(mockRequest);
 }
예제 #6
0
 public static MockRequest AcceptAnyQuery(this MockRequest mockRequest)
 {
     return(mockRequest.RemoveComparer <QueryComparer>());
 }
예제 #7
0
 public static MockRequest AcceptAnyBody(this MockRequest mockRequest)
 {
     return(mockRequest.RemoveComparer <HttpBodyComparer>());
 }