Skip to content

Commit 0301159

Browse files
authored
Revert setting endpoint name automatically
1 parent a2bc180 commit 0301159

File tree

2 files changed

+9
-92
lines changed

2 files changed

+9
-92
lines changed

src/Http/Routing/src/Builder/DelegateEndpointRouteBuilderExtensions.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,6 @@ private static DelegateEndpointConventionBuilder Map(
153153
|| !TypeHelper.IsCompilerGeneratedMethod(handler.Method))
154154
{
155155
endpointName ??= handler.Method.Name;
156-
157-
builder.Metadata.Add(new EndpointNameMetadata(endpointName));
158-
builder.Metadata.Add(new RouteNameMetadata(endpointName));
159156
builder.DisplayName = $"{builder.DisplayName} => {endpointName}";
160157
}
161158

src/Http/Routing/test/UnitTests/Builder/DelegateEndpointRouteBuilderExtensionsTest.cs

Lines changed: 9 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -615,54 +615,24 @@ public void MapFallbackWithoutPath_BuildsEndpointWithLowestRouteOrder()
615615
}
616616

617617
[Fact]
618-
// This test scenario simulates methods defined in a top-level program
619-
// which are compiler generated. We currently do some manually parsing leveraging
620-
// code in Roslyn to support this scenario. More info at https://github.com/dotnet/roslyn/issues/55651.
621-
public void MapMethod_DoesNotEndpointNameForInnerMethod()
622-
{
623-
var name = "InnerGetString";
624-
var builder = new DefaultEndpointRouteBuilder(new ApplicationBuilder(new EmptyServiceProvider()));
625-
string InnerGetString() => "TestString";
626-
_ = builder.MapDelete("/", InnerGetString);
627-
628-
var dataSource = GetBuilderEndpointDataSource(builder);
629-
// Trigger Endpoint build by calling getter.
630-
var endpoint = Assert.Single(dataSource.Endpoints);
631-
632-
var endpointName = endpoint.Metadata.GetMetadata<IEndpointNameMetadata>();
633-
var routeName = endpoint.Metadata.GetMetadata<IRouteNameMetadata>();
634-
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
635-
Assert.Equal(name, endpointName?.EndpointName);
636-
Assert.Equal(name, routeName?.RouteName);
637-
Assert.Equal("HTTP: DELETE / => InnerGetString", routeEndpointBuilder.DisplayName);
638-
}
639-
640-
[Fact]
641-
public void MapMethod_DoesNotEndpointNameForInnerMethodWithTarget()
618+
public void WithTags_CanSetTagsForEndpoint()
642619
{
643-
var name = "InnerGetString";
644620
var builder = new DefaultEndpointRouteBuilder(new ApplicationBuilder(new EmptyServiceProvider()));
645-
var testString = "TestString";
646-
string InnerGetString() => testString;
647-
_ = builder.MapDelete("/", InnerGetString);
621+
string GetString() => "Foo";
622+
_ = builder.MapDelete("/", GetString).WithTags("Some", "Test", "Tags");
648623

649624
var dataSource = GetBuilderEndpointDataSource(builder);
650625
// Trigger Endpoint build by calling getter.
651626
var endpoint = Assert.Single(dataSource.Endpoints);
652627

653-
var endpointName = endpoint.Metadata.GetMetadata<IEndpointNameMetadata>();
654-
var routeName = endpoint.Metadata.GetMetadata<IRouteNameMetadata>();
655-
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
656-
Assert.Equal(name, endpointName?.EndpointName);
657-
Assert.Equal(name, routeName?.RouteName);
658-
Assert.Equal("HTTP: DELETE / => InnerGetString", routeEndpointBuilder.DisplayName);
628+
var tagsMetadata = endpoint.Metadata.GetMetadata<ITagsMetadata>();
629+
Assert.Equal(new[] { "Some", "Test", "Tags" }, tagsMetadata?.Tags);
659630
}
660631

661-
662632
[Fact]
663-
public void MapMethod_SetsEndpointNameForMethodGroup()
633+
public void MapMethod_DoesNotEndpointNameForMethodGroupByDefault()
664634
{
665-
var name = "GetString";
635+
string GetString() => "Foo";
666636
var builder = new DefaultEndpointRouteBuilder(new ApplicationBuilder(new EmptyServiceProvider()));
667637
_ = builder.MapDelete("/", GetString);
668638

@@ -673,59 +643,9 @@ public void MapMethod_SetsEndpointNameForMethodGroup()
673643
var endpointName = endpoint.Metadata.GetMetadata<IEndpointNameMetadata>();
674644
var routeName = endpoint.Metadata.GetMetadata<IRouteNameMetadata>();
675645
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
676-
Assert.Equal(name, endpointName?.EndpointName);
677-
Assert.Equal(name, routeName?.RouteName);
678-
Assert.Equal("HTTP: DELETE / => GetString", routeEndpointBuilder.DisplayName);
679-
}
680-
681-
[Fact]
682-
public void WithNameOverridesDefaultEndpointName()
683-
{
684-
var name = "SomeCustomName";
685-
var builder = new DefaultEndpointRouteBuilder(new ApplicationBuilder(new EmptyServiceProvider()));
686-
_ = builder.MapDelete("/", GetString).WithName(name);
687-
688-
var dataSource = GetBuilderEndpointDataSource(builder);
689-
// Trigger Endpoint build by calling getter.
690-
var endpoint = Assert.Single(dataSource.Endpoints);
691-
692-
var endpointName = endpoint.Metadata.GetMetadata<IEndpointNameMetadata>();
693-
var routeName = endpoint.Metadata.GetMetadata<IRouteNameMetadata>();
694-
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
695-
Assert.Equal(name, endpointName?.EndpointName);
696-
Assert.Equal(name, routeName?.RouteName);
697-
// Will still use the original method name, not the custom endpoint name
698-
Assert.Equal("HTTP: DELETE / => GetString", routeEndpointBuilder.DisplayName);
699-
}
700-
701-
private string GetString() => "TestString";
702-
703-
[Fact]
704-
public void MapMethod_DoesNotSetEndpointNameForLambda()
705-
{
706-
var builder = new DefaultEndpointRouteBuilder(new ApplicationBuilder(new EmptyServiceProvider()));
707-
_ = builder.MapDelete("/", () => { });
708-
709-
var dataSource = GetBuilderEndpointDataSource(builder);
710-
// Trigger Endpoint build by calling getter.
711-
var endpoint = Assert.Single(dataSource.Endpoints);
712-
713-
var endpointName = endpoint.Metadata.GetMetadata<IEndpointNameMetadata>();
714646
Assert.Null(endpointName);
715-
}
716-
717-
[Fact]
718-
public void WithTags_CanSetTagsForEndpoint()
719-
{
720-
var builder = new DefaultEndpointRouteBuilder(new ApplicationBuilder(new EmptyServiceProvider()));
721-
_ = builder.MapDelete("/", GetString).WithTags("Some", "Test", "Tags");
722-
723-
var dataSource = GetBuilderEndpointDataSource(builder);
724-
// Trigger Endpoint build by calling getter.
725-
var endpoint = Assert.Single(dataSource.Endpoints);
726-
727-
var tagsMetadata = endpoint.Metadata.GetMetadata<ITagsMetadata>();
728-
Assert.Equal(new[] { "Some", "Test", "Tags" }, tagsMetadata?.Tags);
647+
Assert.Null(routeName);
648+
Assert.Equal("HTTP: DELETE / => GetString", routeEndpointBuilder.DisplayName);
729649
}
730650

731651
[Theory]

0 commit comments

Comments
 (0)