Services\OpenApiGeneratorTests.cs (99)
26var operation = GetOpenApiOperation(() => { }, "/", Array.Empty<string>());
34var operation = GetOpenApiOperation(TestAction);
46var operation = GetOpenApiOperation(() => { });
64var operation = GetOpenApiOperation(() => { }, additionalMetadata: testBuilder.Metadata.ToArray());
76var ex = Assert.Throws<InvalidOperationException>(() => GetOpenApiOperation(lambda.Compile()));
91AssertCustomRequestFormat(GetOpenApiOperation(
94AssertCustomRequestFormat(GetOpenApiOperation(
101var operation = GetOpenApiOperation(
115var operation = GetOpenApiOperation(
133var operation = GetOpenApiOperation(
160AssertJsonResponse(GetOpenApiOperation(() => new InferredJsonClass()), JsonSchemaType.Object);
161AssertJsonResponse(GetOpenApiOperation(() => (IInferredJsonInterface)null), JsonSchemaType.Object);
162AssertJsonResponse(GetOpenApiOperation(() => Task.FromResult(new InferredJsonClass())), JsonSchemaType.Object);
163AssertJsonResponse(GetOpenApiOperation(() => Task.FromResult((IInferredJsonInterface)null)), JsonSchemaType.Object);
164AssertJsonResponse(GetOpenApiOperation(() => ValueTask.FromResult(new InferredJsonClass())), JsonSchemaType.Object);
165AssertJsonResponse(GetOpenApiOperation(() => ValueTask.FromResult((IInferredJsonInterface)null)), JsonSchemaType.Object);
166AssertJsonResponse(GetOpenApiOperation(() => FSharp.Core.ExtraTopLevelOperators.DefaultAsyncBuilder.Return(new InferredJsonClass())), JsonSchemaType.Object);
167AssertJsonResponse(GetOpenApiOperation(() => FSharp.Core.ExtraTopLevelOperators.DefaultAsyncBuilder.Return((IInferredJsonInterface)null)), JsonSchemaType.Object);
173var operation = GetOpenApiOperation(() => "foo");
191AssertVoid(GetOpenApiOperation(() => { }));
192AssertVoid(GetOpenApiOperation(() => Task.CompletedTask));
193AssertVoid(GetOpenApiOperation(() => Task.FromResult(default(FSharp.Core.Unit))));
194AssertVoid(GetOpenApiOperation(() => new ValueTask()));
195AssertVoid(GetOpenApiOperation(() => ValueTask.FromResult(default(FSharp.Core.Unit))));
196AssertVoid(GetOpenApiOperation(() => FSharp.Core.ExtraTopLevelOperators.DefaultAsyncBuilder.Return(default(FSharp.Core.Unit))));
202var operation = GetOpenApiOperation(
227var operation = GetOpenApiOperation(
249var operation = GetOpenApiOperation(
266var operation = GetOpenApiOperation(
283var operation = GetOpenApiOperation(
312var operation = GetOpenApiOperation(
340AssertPathParameter(GetOpenApiOperation((int foo) => { }, "/{foo}"));
341AssertPathParameter(GetOpenApiOperation(([FromRoute] int foo) => { }));
353AssertPathParameter(GetOpenApiOperation((TryParseStringRecord foo) => { }, pattern: "/{foo}"));
366AssertPathParameter(GetOpenApiOperation((int? foo) => { }, "/{foo}"));
367AssertPathParameter(GetOpenApiOperation(([FromRoute] int? foo) => { }));
379AssertPathParameter(GetOpenApiOperation((TryParseStringRecordStruct foo) => { }, pattern: "/{foo}"));
392AssertQueryParameter(GetOpenApiOperation((int foo) => { }, "/"), JsonSchemaType.Integer);
393AssertQueryParameter(GetOpenApiOperation(([FromQuery] int foo) => { }), JsonSchemaType.Integer);
394AssertQueryParameter(GetOpenApiOperation(([FromQuery] TryParseStringRecordStruct foo) => { }), JsonSchemaType.Object);
395AssertQueryParameter(GetOpenApiOperation((int[] foo) => { }, "/"), JsonSchemaType.Array);
396AssertQueryParameter(GetOpenApiOperation((string[] foo) => { }, "/"), JsonSchemaType.Array);
397AssertQueryParameter(GetOpenApiOperation((StringValues foo) => { }, "/"), JsonSchemaType.Array);
398AssertQueryParameter(GetOpenApiOperation((TryParseStringRecordStruct[] foo) => { }, "/"), JsonSchemaType.Array);
404var operation = GetOpenApiOperation(([FromHeader] int foo) => { });
414Assert.Empty(GetOpenApiOperation((IInferredServiceInterface foo) => { }).Parameters);
415Assert.Empty(GetOpenApiOperation(([FromServices] int foo) => { }).Parameters);
416Assert.Empty(GetOpenApiOperation(([FromKeyedServices("foo")] int foo) => { }).Parameters);
417Assert.Empty(GetOpenApiOperation((HttpContext context) => { }).Parameters);
418Assert.Empty(GetOpenApiOperation((HttpRequest request) => { }).Parameters);
419Assert.Empty(GetOpenApiOperation((HttpResponse response) => { }).Parameters);
420Assert.Empty(GetOpenApiOperation((ClaimsPrincipal user) => { }).Parameters);
421Assert.Empty(GetOpenApiOperation((CancellationToken token) => { }).Parameters);
422Assert.Empty(GetOpenApiOperation((BindAsyncRecord context) => { }).Parameters);
438AssertBodyParameter(GetOpenApiOperation((InferredJsonClass foo) => { }), "foo", JsonSchemaType.Object);
439AssertBodyParameter(GetOpenApiOperation(([FromBody] int bar) => { }), "bar", JsonSchemaType.Integer);
447var operation = GetOpenApiOperation(([FromRoute] int foo, int bar, InferredJsonClass fromBody) => { });
495AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListClass req) => { }));
496AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListClassWithReadOnlyProperties req) => { }));
497AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListStruct req) => { }));
498AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecord req) => { }));
499AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordStruct req) => { }));
500AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordWithoutPositionalParameters req) => { }));
501AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordWithoutAttributes req) => { }, "/{foo}"), "foo");
502AssertParameters(GetOpenApiOperation(([AsParameters] ArgumentListRecordWithoutAttributes req) => { }, "/{Foo}"));
508var operation = GetOpenApiOperation(([FromRoute] int foo, int? bar) => { });
529var operation = GetOpenApiOperation((string foo, int bar) => { });
545var operation = GetOpenApiOperation(() => "",
561var operation = GetOpenApiOperation(() => "",
577var operation = GetOpenApiOperation(() => "",
591var operation = GetOpenApiOperation(() => "",
634var operation = GetOpenApiOperation(() => "",
664var operation = GetOpenApiOperation(() => "",
692var operation = GetOpenApiOperation((InferredJsonClass inferredJsonClass) => "",
713var operation = GetOpenApiOperation((InferredJsonClass inferredJsonClass) => "");
729var operation = GetOpenApiOperation((InferredJsonClass? inferredJsonClass) => "");
745var operation = GetOpenApiOperation([Consumes("application/xml")] (InferredJsonClass? inferredJsonClass) => "");
761var operation = GetOpenApiOperation((IFormFile inferredFormFile) => "");
777var operation = GetOpenApiOperation((IFormFile? inferredFormFile) => "");
793var operation = GetOpenApiOperation((IFormFile file) => Results.NoContent());
808var operation = GetOpenApiOperation(
830var operation0 = GetOpenApiOperation((IFormFile fromFile) => { });
831var operation1 = GetOpenApiOperation((IFormFile? fromFile) => { });
859AssertFormFileParameter(GetOpenApiOperation((IFormFile file) => { }), JsonSchemaType.Object, "file");
860AssertFormFileParameter(GetOpenApiOperation(([FromForm(Name = "file_name")] IFormFile file) => { }), JsonSchemaType.Object, "file_name");
872var operation = GetOpenApiOperation(handler);
890var operation = GetOpenApiOperation(
902var operation = GetOpenApiOperation(() => TypedResults.Ok(new InferredJsonClass()),
921var operation = GetOpenApiOperation(([FromBody] int fromBody, [FromRoute] int fromRoute, [FromServices] int fromServices) => { });
932var operation = GetOpenApiOperation((int Id) => "", pattern);
941var operationWithNoParams = GetOpenApiOperation(() => "", "/");
950var operationWithNoBodyParams = GetOpenApiOperation((int id) => "", "/", httpMethods: new[] { "PUT" });
965ValidateParameter(GetOpenApiOperation(([FromRoute(Name = "routeName")] string param) => ""), "routeName");
966ValidateParameter(GetOpenApiOperation(([FromRoute(Name = "routeName")] string param) => "", "/{param}"), "routeName");
967ValidateParameter(GetOpenApiOperation(([FromQuery(Name = "queryName")] string param) => ""), "queryName");
968ValidateParameter(GetOpenApiOperation(([FromHeader(Name = "headerName")] string param) => ""), "headerName");
983var operation = GetOpenApiOperation(([AsParameters] AsParametersWithRequiredMembers foo) => { });
1003var operation = GetOpenApiOperation(([AsParameters] AsParametersWithRequiredMembersObliviousContext foo) => { });
1014var operation = GetOpenApiOperation((string[] names) => { }, httpMethods: new[] { "GET" });