public void GetEncoding_Returns_CorrectEncoding(string contentType) { var headers = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Content-Type", contentType) }; var systemUnderTest = new HttpUtil.GetContentResult(HttpUtil.GetContentOutcome.Ok, 200, headers); var encoding = systemUnderTest.GetEncoding(); Assert.Equal(Encoding.UTF8, encoding); }
private static string CheckStatus(HttpUtil.GetContentResult result, HttpStatusCondition condition) { if (!result.Status.HasValue) { return("No HTTP status available"); } switch (condition.Op) { case HttpStatusCondition.Operator.Equal: return(result.Status.Value == condition.Status ? "" : "Status (" + result.Status.Value + ") is not equal to desired " + condition.Status + " status"); case HttpStatusCondition.Operator.NotEqual: return(result.Status.Value != condition.Status ? "" : "Status (" + result.Status.Value + ") is equal to undesired " + condition.Status + " status"); // ReSharper disable once RedundantCaseLabel case HttpStatusCondition.Operator.Undefined: default: throw new ArgumentOutOfRangeException(nameof(condition)); } }
private static string CheckContent(HttpUtil.GetContentResult result, HttpContentCondition condition) { var encoding = result.GetEncoding(); var contentString = encoding.GetString(result.Content); var value = condition.Value; var casing = condition.Args.HasFlag(HttpContentCondition.Arguments.IgnoreCase) ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; switch (condition.Op) { case HttpContentCondition.Operator.Contains: return(contentString.IndexOf(value, casing) == -1 ? "desired string '" + value + "' was not found in the content" : ""); case HttpContentCondition.Operator.DoesNotContain: return(contentString.IndexOf(value, casing) == -1 ? "" : "undesired string '" + value + "' was found in the content"); // ReSharper disable once RedundantCaseLabel case HttpContentCondition.Operator.Undefined: default: throw new ArgumentOutOfRangeException(); } }