/// <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()); } }
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); }
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); }
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); }