1 type derived from Todo
Microsoft.AspNetCore.OpenApi.Tests (1)
Shared\SharedTypes.cs (1)
30internal 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)
194builder.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)
61builder.MapGet("/api", () => new Todo(1, "Test Title", true, DateTime.Now)); 173static Todo? GetTodo() => Random.Shared.Next() < 0.5 ? new Todo(1, "Test Title", true, DateTime.Now) : null; 403builder.MapGet("/api", () => TypedResults.Created("/test/1", new { Id = 1, Name = "Test", Todo = new Todo(1, "Test", true, DateTime.Now) })); 465builder.MapGet("/", () => TypedResults.Ok<List<Todo>>([new Todo(1, "Test Title", true, DateTime.Now), new Todo(2, "Test Title 2", false, DateTime.Now)])); 512builder.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)]))); 652builder.MapGet("/", () => new ClassWithObjectProperty { Object = new Todo(1, "Test Title", true, DateTime.Now) }); 724internal Todo Get() => new(1, "Write test", false, DateTime.Now);
Transformers\CustomSchemaTransformerTests.cs (1)
84builder.MapGet("/api", () => TypedResults.Ok(new Todo(1, "Task", false, DateTime.Now)));
Transformers\DocumentTransformerTests.cs (3)
168builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 196builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 223builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now));
Transformers\Implementations\OpenApiSchemaReferenceTransformerTests.cs (1)
278builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now));
Transformers\OperationTransformerTests.cs (4)
406builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 433builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 460builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 461builder.MapGet("/todo-2", () => new Todo(1, "Item1", false, DateTime.Now));
Transformers\SchemaTransformerTests.cs (18)
74builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 111builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 129builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 182builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 213builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 243builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 266builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 290builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 328builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 365builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 391builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 527builder.MapGet("/list-of-todo", () => new List<Todo> { new Todo(1, "Item1", false, DateTime.Now) }); 723builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 781builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 808builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 835builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 861builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 900builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now));
Transformers\TypeBasedTransformerLifetimeTests.cs (13)
16builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 38builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 64builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 90builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 115builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 137builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 162builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 188builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 213builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 234builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 257builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 283builder.MapGet("/todo", () => new Todo(1, "Item1", false, DateTime.Now)); 309builder.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); 105if (context.JsonTypeInfo.Type == typeof(Todo) && context.ParameterDescription != null) 179if (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)
67builder.MapPost("/", (Todo todo) => { }); 116builder.MapPost("/", (Todo todo) => { }); 164builder.MapPost("/", (Todo todo) => new TodoWithDueDate(todo.Id, todo.Title, todo.Completed, todo.CreatedAt, DateTime.UtcNow)); 207builder.MapPost("/", (Todo todo) => new TodoWithDueDate(todo.Id, todo.Title, todo.Completed, todo.CreatedAt, DateTime.UtcNow));
Services\OpenApiDocumentService\OpenApiDocumentServiceTests.Parameters.cs (2)
157builder.MapPost("/api/todos", (Todo todo) => { }); 210private void ActionWithCustomBinder([ModelBinder(BinderType = typeof(CustomBinder))] Todo model) { }
Services\OpenApiDocumentService\OpenApiDocumentServiceTests.RequestBody.cs (6)
405builder.MapPost("/form", ([FromForm] Todo todo) => { }); 554private void ActionWithFormModel([FromForm] Todo todo) { } 564builder.MapPost("/form", ([FromForm] Todo todo, [FromForm] Error error) => { }); 692private void ActionWithMultipleFormModel([FromForm] Todo todo, [FromForm] Error error) { } 953builder.MapGet("/api/", ([FromForm] Todo todo, IFormFile formFile, [FromForm] Guid guid) => { }); 1078private 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)
23builder.MapPost("/", (Todo todo) => { }); 146builder.MapPost("/required-poco", ([Required] Todo todo) => { }); 147builder.MapPost("/non-required-poco", (Todo todo) => { }); 148builder.MapPost("/required-form", ([Required][FromForm] Todo todo) => { }); 149builder.MapPost("/non-required-form", ([FromForm] Todo todo) => { }); 258builder.MapPost("/enumerable-todo", (IEnumerable<Todo> todo) => { }); 259builder.MapPost("/array-todo", (Todo[] todo) => { });
Services\OpenApiSchemaService\OpenApiSchemaService.ResponseSchemas.cs (6)
173static Todo? GetTodo() => Random.Shared.Next() < 0.5 ? new Todo(1, "Test Title", true, DateTime.Now) : null; 295builder.MapGet("/api", () => new Result<Todo>(true, new TodoWithDueDate(1, "Test Title", true, DateTime.Now, DateTime.Now.AddDays(1)), null)); 465builder.MapGet("/", () => TypedResults.Ok<List<Todo>>([new Todo(1, "Test Title", true, DateTime.Now), new Todo(2, "Test Title 2", false, DateTime.Now)])); 512builder.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)] 724internal Todo Get() => new(1, "Write test", false, DateTime.Now);
Transformers\CustomSchemaTransformerTests.cs (1)
90var todoSchema = await context.GetOrCreateSchemaAsync(typeof(Todo), cancellationToken: cancellationToken);
Transformers\Implementations\OpenApiSchemaReferenceTransformerTests.cs (11)
76builder.MapPost("/api", (Todo todo) => TypedResults.Ok(todo)); 130builder.MapPost("/api", (Todo[] todo) => { }); 131builder.MapPost("/api-2", (Dictionary<string, Todo> todo) => { }); 187builder.MapPost("/api", (IFormFile resume, [FromForm] Todo todo) => { }); 188builder.MapPost("/api-2", ([FromForm] string name, [FromForm] Todo todo2) => { }); 223builder.MapPost("/api", (IEnumerable<Todo> todo) => { }); 224builder.MapPost("/api-2", (Todo[] todo) => { }); 277builder.MapPost("/todo", (Todo todo) => { }); 283if (context.JsonTypeInfo.Type == typeof(Todo) && context.ParameterDescription is not null) 314builder.MapPost("/api-3", (Todo todo) => { }); 366public ICollection<Todo> Todos { get; set; } = [];
Transformers\SchemaTransformerTests.cs (20)
19builder.MapPost("/todo", (Todo todo) => { }); 33Assert.Equal(typeof(Todo), context.JsonTypeInfo.Type); 47Assert.Equal(typeof(Todo), context.JsonTypeInfo.Type); 81Assert.Equal(typeof(Todo), context.JsonTypeInfo.Type); 150builder.MapPost("/todo", (Todo todo) => { }); 181builder.MapPost("/todo", (Todo todo) => { }); 187if (context.JsonTypeInfo.Type == typeof(Todo)) 212builder.MapPost("/todo", (Todo todo) => { }); 218if (context.JsonTypeInfo.Type == typeof(Todo) && context.ParameterDescription is not null) 242builder.MapPost("/todo", (Todo todo) => { }); 265builder.MapPost("/todo", (Todo todo) => { }); 289builder.MapPost("/todo", (Todo todo) => { }); 327builder.MapPost("/todo", (Todo todo) => { }); 364builder.MapPost("/todo", (Todo todo) => { }); 390builder.MapPost("/todo", (Todo todo) => { }); 416builder.MapPost("/todo", (Todo todo) => { }); 527builder.MapGet("/list-of-todo", () => new List<Todo> { new Todo(1, "Item1", false, DateTime.Now) }); 689builder.MapPost("/todo", ([FromForm] Todo todo, [FromForm] Error error) => { }); 729if (context.JsonTypeInfo.Type == typeof(Todo)) 955if (context.JsonTypeInfo.Type == typeof(Todo))
Transformers\TypeBasedTransformerLifetimeTests.cs (1)
347if (context.JsonTypeInfo.Type == typeof(Todo))