public void Apply_SetsDescriptionAndExample_FromPropertySummaryAndExampleTags()
        {
            var requestBody = new OpenApiRequestBody
            {
                Content = new Dictionary <string, OpenApiMediaType>
                {
                    ["application/json"] = new OpenApiMediaType {
                        Schema = new OpenApiSchema {
                            Type = "string"
                        }
                    }
                }
            };
            var bodyParameterDescription = new ApiParameterDescription
            {
                ModelMetadata = ModelMetadataFactory.CreateForProperty(typeof(XmlAnnotatedType), nameof(XmlAnnotatedType.StringProperty))
            };
            var filterContext = new RequestBodyFilterContext(bodyParameterDescription, null, null, null);

            Subject().Apply(requestBody, filterContext);

            Assert.Equal("Summary for StringProperty", requestBody.Description);
            Assert.NotNull(requestBody.Content["application/json"].Example);
            Assert.Equal("\"Example for StringProperty\"", requestBody.Content["application/json"].Example.ToJson());
        }
Пример #2
0
        public void Apply_SetsParameterDescriptions_FromCorrespondingPropertySummaryTags()
        {
            var operation = new OpenApiOperation
            {
                Parameters = new List <OpenApiParameter>
                {
                    new OpenApiParameter {
                        Name = "BoolProperty"
                    }
                },
                Responses = new OpenApiResponses()
            };
            var filterContext = FilterContextFor
                                (
                ApiDescriptionFactory.Create <FakeControllerWithXmlComments>(
                    c => nameof(c.ActionWithNoParameters),
                    groupName: "v1",
                    httpMethod: "POST",
                    relativePath: "resource",
                    parameterDescriptions: new[]
            {
                new ApiParameterDescription
                {
                    Name          = "BoolProperty",
                    Source        = BindingSource.Query,
                    ModelMetadata = ModelMetadataFactory.CreateForProperty(typeof(XmlAnnotatedType), "BoolProperty")
                }
            })
                                );

            Subject().Apply(operation, filterContext);

            Assert.Equal("Summary for BoolProperty", operation.Parameters[0].Description);
        }
        public void Apply_SetsDescription_FromPropertySummaryTag()
        {
            var requestBody = new OpenApiRequestBody();
            var bodyParameterDescription = new ApiParameterDescription
            {
                ModelMetadata = ModelMetadataFactory.CreateForProperty(typeof(XmlAnnotatedType), nameof(XmlAnnotatedType.StringProperty))
            };
            var filterContext = new RequestBodyFilterContext(bodyParameterDescription, null, null, null);

            Subject().Apply(requestBody, filterContext);

            Assert.Equal("Summary for StringProperty", requestBody.Description);
        }