コード例 #1
0
ファイル: BodyTextAssertion.cs プロジェクト: skovsende/jasper
        public void Assert(Scenario scenario, ScenarioAssertionException ex)
        {
            var body = ex.ReadBody(scenario);

            if (!body.Equals(Text))
            {
                ex.Add($"Expected the content to be '{Text}'");
            }
        }
コード例 #2
0
        public void Assert(Scenario scenario, ScenarioAssertionException ex)
        {
            var body = ex.ReadBody(scenario);

            if (body.Contains(Text))
            {
                ex.Add($"Text '{Text}' should not be found in the response body");
            }
        }
コード例 #3
0
        public void Assert(Scenario scenario, ScenarioAssertionException ex)
        {
            var body = ex.ReadBody(scenario);

            if (!body.Contains(Text))
            {
                ex.Add($"Expected text '{Text}' was not found in the response body");
            }
        }
コード例 #4
0
        public override void Assert(Scenario scenario, HttpContext context, ScenarioAssertionException ex)
        {
            var body = ex.ReadBody(context);

            if (!body.Contains(_result))
            {
                ex.Add($"Expected to find '{_result}' but got '{body}'");
            }
        }
コード例 #5
0
        public void Assert(Scenario scenario, ScenarioAssertionException ex)
        {
            var body = ex.ReadBody(scenario);

            if (!body.Contains(Text))
            {
                // Add the failure message to the exception. This exception only
                // gets thrown if there are failures.
                ex.Add($"Expected text '{Text}' was not found in the response body");
            }
        }
コード例 #6
0
        public override void Assert(Scenario scenario, HttpContext context, ScenarioAssertionException ex)
        {
            var writer         = new DocumentWriter();
            var expectedResult = writer.WriteToStringAsync(CreateQueryResult(_result)).GetAwaiter().GetResult();

            var body = ex.ReadBody(context);

            if (!body.Equals(expectedResult))
            {
                ex.Add($"Expected '{expectedResult}' but got '{body}'");
            }
        }
コード例 #7
0
        public override void Assert(Scenario scenario, ScenarioAssertionException ex)
        {
            var writer         = (IDocumentWriter)scenario.Context.RequestServices.GetService(typeof(IDocumentWriter));
            var expectedResult = writer.WriteToStringAsync(CreateQueryResult(_result)).GetAwaiter().GetResult();

            var body = ex.ReadBody(scenario);

            if (!body.Equals(expectedResult))
            {
                ex.Add($"Expected '{expectedResult}' but got '{body}'");
            }
        }
コード例 #8
0
        /// <summary>
        /// Assert Override for Alba GraphQL Extension Scenario
        /// </summary>
        /// <param name="scenario"></param>
        /// <param name="context"></param>
        /// <param name="ex">Assertion Exception</param>
        public override void Assert(Scenario scenario, HttpContext context, ScenarioAssertionException ex)
        {
            var writer         = new DocumentWriter();
            var expectedResult = writer.WriteToStringAsync(CreateQueryResult(_result)).GetAwaiter().GetResult();

            var body = ex.ReadBody(context);

            if (!body.Equals(expectedResult))
            {
                if (_ignoreExtensions)
                {
                    try
                    {
                        var json = JObject.Parse(body, new JsonLoadSettings()
                        {
                            CommentHandling  = CommentHandling.Ignore,
                            LineInfoHandling = LineInfoHandling.Ignore
                        });

                        JToken token;
                        // Verify the property data appears in the payload
                        if (json.HasValues && json.TryGetValue("data", out token))
                        {
                            // convert to string and remove formatting
                            var data = token.ToString(Newtonsoft.Json.Formatting.None);
                            // Add the data structure as expected from the data payload
                            var bodyWithoutExtensions = @"{""data"":" + data + "}";
                            if (bodyWithoutExtensions.Equals(expectedResult))
                            {
                                return;
                            }
                            else
                            {
                                ex.Add($"Expected '{expectedResult}' but got '{bodyWithoutExtensions}'");
                            }
                        }
                    }
                    catch
                    {
                        //Handle the case when can't parje the json object
                        ex.Add("Unable to parse jsonObject. " + ex.Message);
                        return;
                    }
                }
                else
                {
                    ex.Add($"Expected '{expectedResult}' but got '{body}'");
                }
            }
        }
コード例 #9
0
        public override void Assert(Scenario scenario, HttpContext context, ScenarioAssertionException ex)
        {
            var writer         = new DocumentWriter();
            var expectedResult = writer.WriteToStringAsync(CreateQueryResult(_result)).GetAwaiter().GetResult();

            var body = ex.ReadBody(context);

            if (!body.Equals(expectedResult))
            {
                if (_ignoreExtensions)
                {
                    var json = JObject.Parse(body);
                    json.Remove("extensions");
                    var bodyWithoutExtensions = json.ToString(Newtonsoft.Json.Formatting.None);
                    if (bodyWithoutExtensions.Equals(expectedResult))
                    {
                        return;
                    }
                }

                ex.Add($"Expected '{expectedResult}' but got '{body}'");
            }
        }
コード例 #10
0
        public override void Assert(Scenario scenario, HttpContext context, ScenarioAssertionException ex)
        {
            var expectedResult   = CreateQueryResult(_result);
            var actualResultJson = ex.ReadBody(context);

            if (_ignoreExtensions)
            {
                expectedResult.Extensions = null;

                var actualResult = actualResultJson.ToDictionary();
                if (actualResult.ContainsKey(extensionsKey))
                {
                    actualResult.Remove(extensionsKey);
                }
                actualResultJson = _writer.WriteToStringAsync(actualResult).GetAwaiter().GetResult();
            }

            var expectedResultJson = _writer.WriteToStringAsync(expectedResult).GetAwaiter().GetResult();

            if (!actualResultJson.Equals(expectedResultJson))
            {
                ex.Add($"Expected '{expectedResult}' but got '{actualResultJson}'");
            }
        }