Services\OpenApiGeneratorTests.cs (99)
27var operation = GetOpenApiOperation(() => { }, "/", Array.Empty<string>());
35var operation = GetOpenApiOperation(TestAction);
47var operation = GetOpenApiOperation(() => { });
65var operation = GetOpenApiOperation(() => { }, additionalMetadata: testBuilder.Metadata.ToArray());
77var ex = Assert.Throws<InvalidOperationException>(() => GetOpenApiOperation(lambda.Compile()));
92AssertCustomRequestFormat(GetOpenApiOperation(
95AssertCustomRequestFormat(GetOpenApiOperation(
102var operation = GetOpenApiOperation(
116var operation = GetOpenApiOperation(
134var operation = GetOpenApiOperation(
161AssertJsonResponse(GetOpenApiOperation(() => new InferredJsonClass()), JsonSchemaType.Object);
162AssertJsonResponse(GetOpenApiOperation(() => (IInferredJsonInterface)null), JsonSchemaType.Object);
163AssertJsonResponse(GetOpenApiOperation(() => Task.FromResult(new InferredJsonClass())), JsonSchemaType.Object);
164AssertJsonResponse(GetOpenApiOperation(() => Task.FromResult((IInferredJsonInterface)null)), JsonSchemaType.Object);
165AssertJsonResponse(GetOpenApiOperation(() => ValueTask.FromResult(new InferredJsonClass())), JsonSchemaType.Object);
166AssertJsonResponse(GetOpenApiOperation(() => ValueTask.FromResult((IInferredJsonInterface)null)), JsonSchemaType.Object);
167AssertJsonResponse(GetOpenApiOperation(() => FSharp.Core.ExtraTopLevelOperators.DefaultAsyncBuilder.Return(new InferredJsonClass())), JsonSchemaType.Object);
168AssertJsonResponse(GetOpenApiOperation(() => FSharp.Core.ExtraTopLevelOperators.DefaultAsyncBuilder.Return((IInferredJsonInterface)null)), JsonSchemaType.Object);
174var operation = GetOpenApiOperation(() => "foo");
192AssertVoid(GetOpenApiOperation(() => { }));
193AssertVoid(GetOpenApiOperation(() => Task.CompletedTask));
194AssertVoid(GetOpenApiOperation(() => Task.FromResult(default(FSharp.Core.Unit))));
195AssertVoid(GetOpenApiOperation(() => new ValueTask()));
196AssertVoid(GetOpenApiOperation(() => ValueTask.FromResult(default(FSharp.Core.Unit))));
197AssertVoid(GetOpenApiOperation(() => FSharp.Core.ExtraTopLevelOperators.DefaultAsyncBuilder.Return(default(FSharp.Core.Unit))));
203var operation = GetOpenApiOperation(
228var operation = GetOpenApiOperation(
250var operation = GetOpenApiOperation(
267var operation = GetOpenApiOperation(
284var operation = GetOpenApiOperation(
313var operation = GetOpenApiOperation(
341AssertPathParameter(GetOpenApiOperation((int foo) => { }, "/{foo}"));
342AssertPathParameter(GetOpenApiOperation(([FromRoute] int foo) => { }));
354AssertPathParameter(GetOpenApiOperation((TryParseStringRecord foo) => { }, pattern: "/{foo}"));
367AssertPathParameter(GetOpenApiOperation((int? foo) => { }, "/{foo}"));
368AssertPathParameter(GetOpenApiOperation(([FromRoute] int? foo) => { }));
380AssertPathParameter(GetOpenApiOperation((TryParseStringRecordStruct foo) => { }, pattern: "/{foo}"));
393AssertQueryParameter(GetOpenApiOperation((int foo) => { }, "/"), JsonSchemaType.Integer);
394AssertQueryParameter(GetOpenApiOperation(([FromQuery] int foo) => { }), JsonSchemaType.Integer);
395AssertQueryParameter(GetOpenApiOperation(([FromQuery] TryParseStringRecordStruct foo) => { }), JsonSchemaType.Object);
396AssertQueryParameter(GetOpenApiOperation((int[] foo) => { }, "/"), JsonSchemaType.Array);
397AssertQueryParameter(GetOpenApiOperation((string[] foo) => { }, "/"), JsonSchemaType.Array);
398AssertQueryParameter(GetOpenApiOperation((StringValues foo) => { }, "/"), JsonSchemaType.Array);
399AssertQueryParameter(GetOpenApiOperation((TryParseStringRecordStruct[] foo) => { }, "/"), JsonSchemaType.Array);
405var operation = GetOpenApiOperation(([FromHeader] int foo) => { });
415Assert.Empty(GetOpenApiOperation((IInferredServiceInterface foo) => { }).Parameters);
416Assert.Empty(GetOpenApiOperation(([FromServices] int foo) => { }).Parameters);
417Assert.Empty(GetOpenApiOperation(([FromKeyedServices("foo")] int foo) => { }).Parameters);
418Assert.Empty(GetOpenApiOperation((HttpContext context) => { }).Parameters);
419Assert.Empty(GetOpenApiOperation((HttpRequest request) => { }).Parameters);
420Assert.Empty(GetOpenApiOperation((HttpResponse response) => { }).Parameters);
421Assert.Empty(GetOpenApiOperation((ClaimsPrincipal user) => { }).Parameters);
422Assert.Empty(GetOpenApiOperation((CancellationToken token) => { }).Parameters);
423Assert.Empty(GetOpenApiOperation((BindAsyncRecord context) => { }).Parameters);
439AssertBodyParameter(GetOpenApiOperation((InferredJsonClass foo) => { }), "foo", JsonSchemaType.Object);
440AssertBodyParameter(GetOpenApiOperation(([FromBody] int bar) => { }), "bar", JsonSchemaType.Integer);
448var operation = GetOpenApiOperation(([FromRoute] int foo, int bar, InferredJsonClass fromBody) => { });
496AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListClass req) => { }));
497AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListClassWithReadOnlyProperties req) => { }));
498AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListStruct req) => { }));
499AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecord req) => { }));
500AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordStruct req) => { }));
501AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordWithoutPositionalParameters req) => { }));
502AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordWithoutAttributes req) => { }, "/{foo}"), "foo");
503AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordWithoutAttributes req) => { }, "/{Foo}"));
509var operation = GetOpenApiOperation(([FromRoute] int foo, int? bar) => { });
530var operation = GetOpenApiOperation((string foo, int bar) => { });
546var operation = GetOpenApiOperation(() => "",
562var operation = GetOpenApiOperation(() => "",
578var operation = GetOpenApiOperation(() => "",
592var operation = GetOpenApiOperation(() => "",
635var operation = GetOpenApiOperation(() => "",
665var operation = GetOpenApiOperation(() => "",
693var operation = GetOpenApiOperation((InferredJsonClass inferredJsonClass) => "",
714var operation = GetOpenApiOperation((InferredJsonClass inferredJsonClass) => "");
730var operation = GetOpenApiOperation((InferredJsonClass? inferredJsonClass) => "");
746var operation = GetOpenApiOperation([Consumes("application/xml")] (InferredJsonClass? inferredJsonClass) => "");
762var operation = GetOpenApiOperation((IFormFile inferredFormFile) => "");
778var operation = GetOpenApiOperation((IFormFile? inferredFormFile) => "");
794var operation = GetOpenApiOperation((IFormFile file) => Results.NoContent());
809var operation = GetOpenApiOperation(
831var operation0 = GetOpenApiOperation((IFormFile fromFile) => { });
832var operation1 = GetOpenApiOperation((IFormFile? fromFile) => { });
860AssertFormFileParameter(GetOpenApiOperation((IFormFile file) => { }), JsonSchemaType.Object, "file");
861AssertFormFileParameter(GetOpenApiOperation(([FromForm(Name = "file_name")] IFormFile file) => { }), JsonSchemaType.Object, "file_name");
873var operation = GetOpenApiOperation(handler);
891var operation = GetOpenApiOperation(
903var operation = GetOpenApiOperation(() => TypedResults.Ok(new InferredJsonClass()),
922var operation = GetOpenApiOperation(([FromBody] int fromBody, [FromRoute] int fromRoute, [FromServices] int fromServices) => { });
933var operation = GetOpenApiOperation((int Id) => "", pattern);
942var operationWithNoParams = GetOpenApiOperation(() => "", "/");
951var operationWithNoBodyParams = GetOpenApiOperation((int id) => "", "/", httpMethods: new[] { "PUT" });
966ValidateParameter(GetOpenApiOperation(([FromRoute(Name = "routeName")] string param) => ""), "routeName");
967ValidateParameter(GetOpenApiOperation(([FromRoute(Name = "routeName")] string param) => "", "/{param}"), "routeName");
968ValidateParameter(GetOpenApiOperation(([FromQuery(Name = "queryName")] string param) => ""), "queryName");
969ValidateParameter(GetOpenApiOperation(([FromHeader(Name = "headerName")] string param) => ""), "headerName");
984var operation = GetOpenApiOperation(([AsParameters] AsParametersWithRequiredMembers foo) => { });
1004var operation = GetOpenApiOperation(([AsParameters] AsParametersWithRequiredMembersObliviousContext foo) => { });
1015var operation = GetOpenApiOperation((string[] names) => { }, httpMethods: new[] { "GET" });