Example #1
0
        public void ProcessAsync_Adds200StatusCodeForVoidResponse()
        {
            // Arrange
            var apiDescription = new ApiDescription
            {
                SupportedResponseTypes =
                {
                    new ApiResponseType
                    {
                        Type       = typeof(void),
                        StatusCode = 0,
                    }
                }
            };

            var operationDescription = new OpenApiOperationDescription {
                Operation = new OpenApiOperation()
            };
            var context   = GetContext(apiDescription);
            var processor = new OperationResponseProcessor((AspNetCoreOpenApiDocumentGeneratorSettings)context.Settings);

            // Act
            processor.Process(context);

            // Assert
            Assert.Collection(
                context.OperationDescription.Operation.Responses,
                kvp =>
            {
                Assert.Equal("200", kvp.Key);
                Assert.Null(kvp.Value.Schema);
            });
        }
        public async Task ProcessAsync_AddsResponseForDefaultStatusCode()
        {
            // Arrange
            var apiDescription = new ApiDescription
            {
                SupportedResponseTypes =
                {
                    new ApiResponseType
                    {
                        Type              = typeof(TestModel),
                        StatusCode        = 0,
                        IsDefaultResponse = true,
                    }
                }
            };

            var operationDescription = new SwaggerOperationDescription {
                Operation = new SwaggerOperation()
            };
            var context   = GetContext(apiDescription);
            var processor = new OperationResponseProcessor((AspNetCoreToSwaggerGeneratorSettings)context.Settings);

            // Act
            await processor.ProcessAsync(context);

            // Assert
            Assert.Collection(
                context.OperationDescription.Operation.Responses,
                kvp =>
            {
                Assert.Equal("default", kvp.Key);
                Assert.NotNull(kvp.Value.Schema);
            });
        }