Exemplo n.º 1
0
        /// <summary>
        /// Generate JSON body
        /// </summary>
        /// <param name="request"></param>
        /// <param name="useContentType"></param>
        /// <param name="replacementValues"></param>
        /// <returns></returns>
        internal static string GenerateHttpRequestBody(HttpRequest request, ContentType.Enumeration useContentType, Dictionary <string, object> replacementValues)
        {
            if (request.Method == HttpMethod.Get)
            {
                return(String.Empty);
            }
            else
            {
                if (useContentType != ContentType.Enumeration.Json)
                {
                    useContentType = ContentType.Enumeration.Json;
                }

                var useRequest = request.RequestBodies.FirstOrDefault(content => ContentType.ToEnum(content.ContentType) == useContentType);

                if (useRequest == null)
                {
                    return(String.Empty);
                }

                var generator = new HttpRequestBodyGenerator(request, options =>
                {
                    if (replacementValues != null)
                    {
                        options.AddReplacementValues(replacementValues);
                    }
                });

                return(generator.ReplaceRequestBodyModel(useContentType).ToString());
            }
        }
Exemplo n.º 2
0
        public void PostRequestDataGeneratorWithOneRequest()
        {
            var request           = AddNewUserHttpRequest.Get();
            var replacementValues = new Dictionary <string, object> {
                {
                    "id",
                    "100"
                },
                {
                    "name",
                    "Miha J."
                }
            };

            var generator = new HttpRequestBodyGenerator(request, options =>
            {
                options.AddReplacementValues(replacementValues);
            });

            var body = generator.ReplaceRequestBodyModel(ContentType.Enumeration.Json);

            _logger.LogInformation(JsonConvert.SerializeObject(body, Formatting.Indented));

            Assert.Equal(@"{""id"":100,""name"":""Miha J.""}", (string)body);
        }
Exemplo n.º 3
0
        public void ReplaceBodyTest_Successfull()
        {
            var content  = File.ReadAllText("Assets/addPet.json");
            var requests = JsonConvert.DeserializeObject <IList <HttpRequest> >(content);

            var generator = new HttpRequestBodyGenerator(requests.FirstOrDefault(), options =>
            {
                options.AddReplacementValues(new Dictionary <string, object>()
                {
                    {
                        "id",
                        "100"
                    },
                    {
                        "name",
                        "Miha J."
                    },
                    {
                        "Category",
                        "{\"id\":1,\"name\":\"dog\"}"
                    }
                });
            });

            var body = generator.ReplaceRequestBodyModel(ContentType.Enumeration.Json);

            _logger.LogInformation(JsonConvert.SerializeObject(body, Formatting.Indented));

            Assert.Equal(@"{""id"":100,""name"":""Miha J."",""Category"":{""id"":1,""name"":""dog""}}", (string)body);
        }
Exemplo n.º 4
0
        public void ReplaceHttpBodyForAddBikeAndOptionsTest_Successfull()
        {
            var content     = File.ReadAllText("Assets/AddBike.json");
            var httpRequest = JsonConvert.DeserializeObject <IList <HttpRequest> >(content);

            var generator = new HttpRequestBodyGenerator(httpRequest.FirstOrDefault(), options =>
            {
                options.AddReplacementValues(new Dictionary <string, object> {
                    { "Bicycle", @"{""id"":66,""name"":""my bike"",""brand"":""cannondale"",""BicycleType"":1}" }
                });
            });

            var body = generator.ReplaceRequestBodyModel(ContentType.Enumeration.Json);

            _logger.LogInformation(JsonConvert.SerializeObject(body, Formatting.Indented));

            Assert.Equal(@"{""id"":66,""name"":""my bike"",""brand"":""cannondale"",""BicycleType"":1}", (string)body);
        }