1 type derived from Todo
Microsoft.AspNetCore.OpenApi.Tests (1)
Shared\SharedTypes.cs (1)
30
internal record TodoWithDueDate(int Id, string Title, bool Completed, DateTime CreatedAt, DateTime DueDate) :
Todo
(Id, Title, Completed, CreatedAt);
53 instantiations of Todo
Microsoft.AspNetCore.OpenApi.Microbenchmarks (1)
GenerationBenchmarks.cs (1)
34
_builder.MapGet($"/{i}", (int i) => new
Todo
(1, "Write benchmarks", false, DateTime.Now));
Microsoft.AspNetCore.OpenApi.Tests (52)
Services\OpenApiDocumentService\OpenApiDocumentServiceTests.Responses.cs (3)
194
builder.MapGet("/api/todos", [Produces("application/json", "application/xml")] () => new
Todo
(1, "Test todo", false, DateTime.Now));
358
{ return TypedResults.Ok(new
Todo
(1, "Lorem", true, DateTime.UtcNow)); }); // This code doesn't return Bad Request, but that doesn't matter for this test.
389
{ return TypedResults.Ok(new
Todo
(1, "Lorem", true, DateTime.UtcNow)); }); // This code doesn't return Bad Request, but that doesn't matter for this test.
Services\OpenApiSchemaService\OpenApiSchemaService.ResponseSchemas.cs (9)
61
builder.MapGet("/api", () => new
Todo
(1, "Test Title", true, DateTime.Now));
173
static Todo? GetTodo() => Random.Shared.Next() < 0.5 ? new
Todo
(1, "Test Title", true, DateTime.Now) : null;
403
builder.MapGet("/api", () => TypedResults.Created("/test/1", new { Id = 1, Name = "Test", Todo = new
Todo
(1, "Test", true, DateTime.Now) }));
465
builder.MapGet("/", () => TypedResults.Ok<List<Todo>>([new
Todo
(1, "Test Title", true, DateTime.Now), new
Todo
(2, "Test Title 2", false, DateTime.Now)]));
512
builder.MapGet("/", () => TypedResults.Ok<PaginatedItems<Todo>>(new(0, 1, 5, 50, [new
Todo
(1, "Test Title", true, DateTime.Now), new
Todo
(2, "Test Title 2", false, DateTime.Now)])));
652
builder.MapGet("/", () => new ClassWithObjectProperty { Object = new
Todo
(1, "Test Title", true, DateTime.Now) });
724
internal Todo Get() =>
new
(1, "Write test", false, DateTime.Now);
Transformers\CustomSchemaTransformerTests.cs (1)
84
builder.MapGet("/api", () => TypedResults.Ok(new
Todo
(1, "Task", false, DateTime.Now)));
Transformers\DocumentTransformerTests.cs (3)
168
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
196
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
223
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
Transformers\Implementations\OpenApiSchemaReferenceTransformerTests.cs (1)
278
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
Transformers\OperationTransformerTests.cs (4)
406
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
433
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
460
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
461
builder.MapGet("/todo-2", () => new
Todo
(1, "Item1", false, DateTime.Now));
Transformers\SchemaTransformerTests.cs (18)
74
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
111
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
129
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
182
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
213
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
243
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
266
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
290
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
328
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
365
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
391
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
527
builder.MapGet("/list-of-todo", () => new List<Todo> { new
Todo
(1, "Item1", false, DateTime.Now) });
723
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
781
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
808
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
835
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
861
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
900
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
Transformers\TypeBasedTransformerLifetimeTests.cs (13)
16
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
38
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
64
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
90
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
115
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
137
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
162
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
188
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
213
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
234
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
257
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
283
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
309
builder.MapGet("/todo", () => new
Todo
(1, "Item1", false, DateTime.Now));
76 references to Todo
Microsoft.AspNetCore.OpenApi.Microbenchmarks (5)
GenerationBenchmarks.cs (1)
35
_builder.MapPost($"/{i}", (
Todo
todo) => Results.Ok());
TransformersBenchmark.cs (4)
87
_builder.MapPost("/", (
Todo
todo) => todo);
99
_builder.MapPost("/", (
Todo
todo) => todo);
105
if (context.JsonTypeInfo.Type == typeof(
Todo
) && context.ParameterDescription != null)
179
if (context.JsonTypeInfo.Type == typeof(
Todo
) && context.ParameterDescription != null)
Microsoft.AspNetCore.OpenApi.Tests (71)
Extensions\JsonTypeInfoExtensionsTests.cs (5)
52
[typeof(
Todo
), "Todo"],
53
[typeof(IEnumerable<
Todo
>), null],
54
[typeof(List<
Todo
>), null],
63
[typeof(Results<Ok<TodoWithDueDate>, Ok<
Todo
>>), "ResultsOfOkOfTodoWithDueDateAndOkOfTodo"],
64
[typeof(Ok<
Todo
>), "OkOfTodo"],
Services\CreateSchemaReferenceIdTests.cs (4)
67
builder.MapPost("/", (
Todo
todo) => { });
116
builder.MapPost("/", (
Todo
todo) => { });
164
builder.MapPost("/", (
Todo
todo) => new TodoWithDueDate(todo.Id, todo.Title, todo.Completed, todo.CreatedAt, DateTime.UtcNow));
207
builder.MapPost("/", (
Todo
todo) => new TodoWithDueDate(todo.Id, todo.Title, todo.Completed, todo.CreatedAt, DateTime.UtcNow));
Services\OpenApiDocumentService\OpenApiDocumentServiceTests.Parameters.cs (2)
157
builder.MapPost("/api/todos", (
Todo
todo) => { });
210
private void ActionWithCustomBinder([ModelBinder(BinderType = typeof(CustomBinder))]
Todo
model) { }
Services\OpenApiDocumentService\OpenApiDocumentServiceTests.RequestBody.cs (6)
405
builder.MapPost("/form", ([FromForm]
Todo
todo) => { });
554
private void ActionWithFormModel([FromForm]
Todo
todo) { }
564
builder.MapPost("/form", ([FromForm]
Todo
todo, [FromForm] Error error) => { });
692
private void ActionWithMultipleFormModel([FromForm]
Todo
todo, [FromForm] Error error) { }
953
builder.MapGet("/api/", ([FromForm]
Todo
todo, IFormFile formFile, [FromForm] Guid guid) => { });
1078
private void ActionWithMixedFormTypes([FromForm]
Todo
todo, IFormFile formFile, [FromForm] Guid guid) { }
Services\OpenApiDocumentService\OpenApiDocumentServiceTests.Responses.cs (8)
96
.WithMetadata(new ProducesResponseTypeMetadata(StatusCodes.Status200OK, typeof(
Todo
), ["application/json"]))
121
.WithMetadata(new ProducesResponseTypeMetadata(StatusCodes.Status200OK, typeof(
Todo
), ["application/json", "application/xml"]));
151
.WithMetadata(new ProducesResponseTypeMetadata(StatusCodes.Status200OK, typeof(
Todo
), ["application/xml"]));
255
.WithMetadata(new ProducesResponseTypeMetadata(StatusCodes.Status200OK, typeof(
Todo
), ["application/json"]));
321
[ProducesResponseType<
Todo
>(StatusCodes.Status200OK, Description = expectedCreatedDescription)]
355
[ProducesResponseType<
Todo
>(StatusCodes.Status200OK, Description = expectedCreatedDescription)]
386
[ProducesResponseType<
Todo
>(StatusCodes.Status200OK, Description = null)] // Explicitly set to NULL
420
[ProducesResponseType<
Todo
>(StatusCodes.Status200OK, Description = null)] // Explicitly set to NULL
Services\OpenApiSchemaService\OpenApiSchemaService.RequestBodySchemas.cs (7)
23
builder.MapPost("/", (
Todo
todo) => { });
146
builder.MapPost("/required-poco", ([Required]
Todo
todo) => { });
147
builder.MapPost("/non-required-poco", (
Todo
todo) => { });
148
builder.MapPost("/required-form", ([Required][FromForm]
Todo
todo) => { });
149
builder.MapPost("/non-required-form", ([FromForm]
Todo
todo) => { });
258
builder.MapPost("/enumerable-todo", (IEnumerable<
Todo
> todo) => { });
259
builder.MapPost("/array-todo", (
Todo
[] todo) => { });
Services\OpenApiSchemaService\OpenApiSchemaService.ResponseSchemas.cs (6)
173
static
Todo
? GetTodo() => Random.Shared.Next() < 0.5 ? new Todo(1, "Test Title", true, DateTime.Now) : null;
295
builder.MapGet("/api", () => new Result<
Todo
>(true, new TodoWithDueDate(1, "Test Title", true, DateTime.Now, DateTime.Now.AddDays(1)), null));
465
builder.MapGet("/", () => TypedResults.Ok<List<
Todo
>>([new Todo(1, "Test Title", true, DateTime.Now), new Todo(2, "Test Title 2", false, DateTime.Now)]));
512
builder.MapGet("/", () => TypedResults.Ok<PaginatedItems<
Todo
>>(new(0, 1, 5, 50, [new Todo(1, "Test Title", true, DateTime.Now), new Todo(2, "Test Title 2", false, DateTime.Now)])));
723
[ProducesResponseType(typeof(
Todo
), StatusCodes.Status200OK)]
724
internal
Todo
Get() => new(1, "Write test", false, DateTime.Now);
Transformers\CustomSchemaTransformerTests.cs (1)
90
var todoSchema = await context.GetOrCreateSchemaAsync(typeof(
Todo
), cancellationToken: cancellationToken);
Transformers\Implementations\OpenApiSchemaReferenceTransformerTests.cs (11)
76
builder.MapPost("/api", (
Todo
todo) => TypedResults.Ok(todo));
130
builder.MapPost("/api", (
Todo
[] todo) => { });
131
builder.MapPost("/api-2", (Dictionary<string,
Todo
> todo) => { });
187
builder.MapPost("/api", (IFormFile resume, [FromForm]
Todo
todo) => { });
188
builder.MapPost("/api-2", ([FromForm] string name, [FromForm]
Todo
todo2) => { });
223
builder.MapPost("/api", (IEnumerable<
Todo
> todo) => { });
224
builder.MapPost("/api-2", (
Todo
[] todo) => { });
277
builder.MapPost("/todo", (
Todo
todo) => { });
283
if (context.JsonTypeInfo.Type == typeof(
Todo
) && context.ParameterDescription is not null)
314
builder.MapPost("/api-3", (
Todo
todo) => { });
366
public ICollection<
Todo
> Todos { get; set; } = [];
Transformers\SchemaTransformerTests.cs (20)
19
builder.MapPost("/todo", (
Todo
todo) => { });
33
Assert.Equal(typeof(
Todo
), context.JsonTypeInfo.Type);
47
Assert.Equal(typeof(
Todo
), context.JsonTypeInfo.Type);
81
Assert.Equal(typeof(
Todo
), context.JsonTypeInfo.Type);
150
builder.MapPost("/todo", (
Todo
todo) => { });
181
builder.MapPost("/todo", (
Todo
todo) => { });
187
if (context.JsonTypeInfo.Type == typeof(
Todo
))
212
builder.MapPost("/todo", (
Todo
todo) => { });
218
if (context.JsonTypeInfo.Type == typeof(
Todo
) && context.ParameterDescription is not null)
242
builder.MapPost("/todo", (
Todo
todo) => { });
265
builder.MapPost("/todo", (
Todo
todo) => { });
289
builder.MapPost("/todo", (
Todo
todo) => { });
327
builder.MapPost("/todo", (
Todo
todo) => { });
364
builder.MapPost("/todo", (
Todo
todo) => { });
390
builder.MapPost("/todo", (
Todo
todo) => { });
416
builder.MapPost("/todo", (
Todo
todo) => { });
527
builder.MapGet("/list-of-todo", () => new List<
Todo
> { new Todo(1, "Item1", false, DateTime.Now) });
689
builder.MapPost("/todo", ([FromForm]
Todo
todo, [FromForm] Error error) => { });
729
if (context.JsonTypeInfo.Type == typeof(
Todo
))
955
if (context.JsonTypeInfo.Type == typeof(
Todo
))
Transformers\TypeBasedTransformerLifetimeTests.cs (1)
347
if (context.JsonTypeInfo.Type == typeof(
Todo
))