示例#1
0
            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);
            }
示例#2
0
        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));
            }
        }
示例#3
0
        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();
            }
        }