/// <summary> /// Creates a <see cref="RequestMatcher"/> that expect to contain the given request body content. /// </summary> /// <param name="body">The substring that must appear in the body content.</param> /// <returns>The request matcher.</returns> public static RequestMatcher MatchBodyContains(string body) { return(delegate(IClientHttpRequest request) { MockClientHttpRequest mockRequest = request as MockClientHttpRequest; string actualBody = mockRequest.GetBodyAsString(); AssertionUtils.IsTrue(actualBody.Contains(body), String.Format("Body didn't contain expected content [expected:<{0}> in:<{1}>]", body, actualBody)); }); }
/// <summary> /// Creates a <see cref="RequestMatcher"/> that expect the given request header. /// </summary> /// <param name="header">The header name.</param> /// <param name="value">The header value.</param> /// <returns>The request matcher.</returns> public static RequestMatcher MatchHeader(string header, string value) { return(delegate(IClientHttpRequest request) { string[] actualHeaderValues = request.Headers.GetValues(header); AssertionUtils.IsTrue(actualHeaderValues != null, String.Format("Expected header '{0}' missing", header)); bool foundMatch = false; foreach (string actualHeaderValue in actualHeaderValues) { if (actualHeaderValue.Equals(value)) { foundMatch = true; break; } } AssertionUtils.IsTrue(foundMatch, String.Format("Header '{0}' didn't have expected value [expected:<{1}> but was:<{2}>]", header, value, request.Headers[header])); }); }