public void RequestBodyObjectConverter_ProducesResultWithRawMode_WithNullBodyParam() { RequestBodyObjectConverter converter = new RequestBodyObjectConverter(_requetBodyBuilderMock.Object, new DefaultValueFactory()); PostmanRequestBody result = converter.Convert(null, new List <IParameter>(), _validSchemaDefinitions); Assert.Equal(PostmanRequestBodyMode.raw, result.Mode); }
public void RequestBodyObjectConverter_ProducesExpectedResult_WithNullBodyParam() { RequestBodyObjectConverter converter = new RequestBodyObjectConverter(_requetBodyBuilderMock.Object, new DefaultValueFactory()); PostmanRequestBody result = converter.Convert(null, new List <IParameter>(), _validSchemaDefinitions); Assert.NotNull(result); }
public void RequestBodyObjectConverter_ProducesResultWithRawMode_WithoutFormDataParameters() { List <IParameter> parameters = new List <IParameter>(); RequestBodyObjectConverter converter = new RequestBodyObjectConverter(_requetBodyBuilderMock.Object, new DefaultValueFactory()); PostmanRequestBody result = converter.Convert(_validBodyInput, parameters, _validSchemaDefinitions); Assert.Equal(PostmanRequestBodyMode.raw, result.Mode); }
public void RequestBodyObjectConverter_ProducesResultWithUrlencodedMode_WithOneOrMoreFormDataParameters() { List <IParameter> parameters = new List <IParameter>() { new NonBodyParameter { In = SwashbuckleParameterTypeConstants.FormData, Name = "testParam" } }; RequestBodyObjectConverter converter = new RequestBodyObjectConverter(_requetBodyBuilderMock.Object, new DefaultValueFactory()); PostmanRequestBody result = converter.Convert(_validBodyInput, parameters, _validSchemaDefinitions); Assert.Equal(PostmanRequestBodyMode.urlencoded, result.Mode); }
public PostmanCollectionItem Convert(string path, PostmanHttpMethod method, Operation operation, SwaggerDocument swaggerDoc) { IList <IParameter> parameters = operation.Parameters; if (parameters == null) { parameters = new List <IParameter>(); } PostmanUrl urlObject = this.urlConverter.Convert(path, parameters.ToList(), swaggerDoc.Host, swaggerDoc.BasePath); List <PostmanHeader> headerList = this.headerConverter.Convert(parameters.OfType <NonBodyParameter>().ToList()); BodyParameter bodyParam = parameters.OfType <BodyParameter>().FirstOrDefault(p => p is BodyParameter); PostmanRequestBody body = requestBodyConverter.Convert(bodyParam, parameters.ToList(), swaggerDoc.Definitions); var collectionItem = new PostmanCollectionItem() { Description = new PostmanDescription { Content = operation.Description }, Id = operation.OperationId, Name = path, Request = new PostmanRequest { Method = method, Description = new PostmanDescription { Content = operation.Description ?? "" }, Url = urlObject, Headers = headerList, Body = body } }; return(collectionItem); }
public PostmanRequestBody Convert(BodyParameter bodyParam, List <IParameter> allParams, IDictionary <string, Schema> swaggerDocDefinitions) { PostmanRequestBody bodyResult = new PostmanRequestBody(); if (bodyParam != null) { bodyResult.Mode = PostmanRequestBodyMode.raw; if (bodyParam.Schema != null) { if (!string.IsNullOrWhiteSpace(bodyParam.Schema.Ref)) { string typeName = bodyParam.Schema.Ref.Replace("#/definitions/", ""); string json = ""; if (swaggerDocDefinitions[typeName] != null) { Schema bodySchema = swaggerDocDefinitions[typeName]; JToken bodyJson = this.jsonRequestBodyBuilder.GetJsonResult(bodySchema, swaggerDocDefinitions); json = bodyJson.ToString(); } bodyResult.Raw = json; } else { // non complex types to the result directly (primitives and array types) JToken bodyJson = this.jsonRequestBodyBuilder.GetJsonResult(bodyParam.Schema, swaggerDocDefinitions); string json = bodyJson.ToString(); bodyResult.Raw = json; } } } var formdataParams = allParams.OfType <NonBodyParameter>() .Where(p => p.In == SwashbuckleParameterTypeConstants.FormData); if (formdataParams.Count() > 0) { bodyResult.Mode = PostmanRequestBodyMode.urlencoded; bodyResult.UrlEncoded = new List <PostmanKeyValuePair>(); } else { bodyResult.Mode = PostmanRequestBodyMode.raw; } foreach (NonBodyParameter p in formdataParams) { object defaultValue = this.defaultValueFactory.GetDefaultValueFromFormat(p.Format, p.Type); string value = (defaultValue != null) ? defaultValue.ToString() : ""; if (p.In == SwashbuckleParameterTypeConstants.FormData) { bodyResult.UrlEncoded.Add(new PostmanKeyValuePair { Description = new PostmanDescription { Content = p.Description }, Disabled = false, Key = p.Name, Value = value }); } } return(bodyResult); }