Esempio n. 1
0
        public void DefaultConnegRules(
            [Default("NULL")] string QueryString,
            [Header("Send As"), SelectionValues("Json", "Xml", "Form Post")] string format,
            [Default("*/*")] string Accepts,
            out string ContentType,
            [Default("200")] out int ResponseCode
            )
        {
            DisableAllSecurity();

            var input = new XmlJsonHtmlMessage
            {
                Id = Guid.NewGuid()
            };

            var response = Runtime.Scenario(_ =>
            {
                var url = "send/mixed";
                if (QueryString.IsNotEmpty())
                {
                    url = url.AppendUrl(QueryString);
                }

                _.Security.Disable();
                _.IgnoreStatusCode();
                _.Post.Url(url);

                _.Request.Accepts(Accepts);

                switch (format)
                {
                case "Json":
                    _.Request.Body.JsonInputIs(input);
                    _.Request.ContentType("application/json");
                    break;

                case "Xml":
                    _.Request.Body.XmlInputIs(input);
                    _.Request.ContentType("application/xml");
                    break;

                case "Form Post":
                    _.Request.Body.WriteFormData(input);
                    _.Request.ContentType(MimeType.HttpFormMimetype);
                    break;

                default:
                    throw new ArgumentException("format");
                }
            });


            StoryTellerAssert.Fail(response.StatusCode == 500, () => response.Body.ReadAsText());

            ContentType  = response.ContentType();
            ResponseCode = response.StatusCode;
        }
Esempio n. 2
0
        public void DefaultConnegRules(
            [Default("NULL")] string QueryString, 
            [Header("Send As"), SelectionValues("Json", "Xml", "Form Post")] string format,
            [Default("*/*")] string Accepts,
            out string ContentType,
            [Default("200")] out int ResponseCode
            )
        {
            DisableAllSecurity();

            var input = new XmlJsonHtmlMessage
            {
                Id = Guid.NewGuid()
            };

            var response = Runtime.Scenario(_ =>
            {
                var url = "send/mixed";
                if (QueryString.IsNotEmpty())
                {
                    url = url.AppendUrl(QueryString);
                }

                _.Security.Disable();
                _.IgnoreStatusCode();
                _.Post.Url(url);

                _.Request.Accepts(Accepts);

                switch (format)
                {
                    case "Json":
                        _.Request.Body.JsonInputIs(input);
                        _.Request.ContentType("application/json");
                        break;

                    case "Xml":
                        _.Request.Body.XmlInputIs(input);
                        _.Request.ContentType("application/xml");
                        break;

                    case "Form Post":
                        _.Request.Body.WriteFormData(input);
                        _.Request.ContentType(MimeType.HttpFormMimetype);
                        break;

                    default:
                        throw new ArgumentException("format");
                }
            });

            StoryTellerAssert.Fail(response.StatusCode == 500, () => response.Body.ReadAsText());

            ContentType = response.ContentType();
            ResponseCode = response.StatusCode;
        }
Esempio n. 3
0
        public conneg_with_endpoint_that_accepts_all_formatters_and_form_posts()
        {
            input = new XmlJsonHtmlMessage {
                Id = Guid.NewGuid()
            };

            expectedJson = JsonUtil.ToJson(input);

            var writer    = new StringWriter();
            var xmlWriter = new XmlTextWriter(writer)
            {
                Formatting = Formatting.None
            };

            new XmlSerializer(typeof(XmlJsonHtmlMessage)).Serialize(xmlWriter, input);
            expectedXml = writer.ToString();
        }
        public conneg_with_endpoint_that_accepts_all_formatters_and_form_posts()
        {
            input = new XmlJsonHtmlMessage
            {
                Id = Guid.NewGuid()
            };

            expectedJson = TestHost.Service<IJsonSerializer>().Serialize(input);

            var writer = new StringWriter();
            var xmlWriter = new XmlTextWriter(writer)
            {
                Formatting = Formatting.None
            };
            new XmlSerializer(typeof (XmlJsonHtmlMessage)).Serialize(xmlWriter, input);
            expectedXml = writer.ToString();
        }
 public XmlJsonHtmlMessage post_send_mixed(XmlJsonHtmlMessage message)
 {
     return message;
 }
Esempio n. 6
0
 public XmlJsonHtmlMessage post_send_mixed(XmlJsonHtmlMessage message)
 {
     return(message);
 }