/// <summary> /// Generate a new endpoint reoute which will add request / response objects. /// </summary> /// <param name="routeMetadata"></param> /// <param name="info"></param> /// <returns></returns> public static OpenApiRouteMetadata With(this OpenApiRouteMetadata routeMetadata, Func <Endpoint, Endpoint> info) { routeMetadata.Info = info(routeMetadata.Info ?? new Endpoint(routeMetadata.Name)); return(routeMetadata); }
public void Generate_openapi_metadata() { //Arrange var endpoint = new FakeEndpoint(); var fakeRouteDescription = new RouteDescription(endpoint.Operation, endpoint.Method, endpoint.Path, null); //Act var metadata = new OpenApiRouteMetadata(fakeRouteDescription); //Assert Assert.Equal(metadata.Path, fakeRouteDescription.Path); Assert.Equal(metadata.Method, fakeRouteDescription.Method.ToLowerInvariant()); Assert.Equal(metadata.Name, fakeRouteDescription.Name); }
public void Generate_method_description() { //Arrange var endpoint = new FakeEndpoint(); var fakeRouteDescription = new RouteDescription(endpoint.Operation, endpoint.Method, endpoint.Path, null); //Act var metadata = new OpenApiRouteMetadata(fakeRouteDescription) .With(i => i.WithResponseModel("200", typeof(FakeResponseModel), "Sample response") .WithSummary(endpoint.Summary)); //Assert Assert.Equal(metadata.Path, fakeRouteDescription.Path); Assert.Equal(metadata.Method, fakeRouteDescription.Method.ToLowerInvariant()); Assert.Equal(metadata.Name, fakeRouteDescription.Name); Assert.Equal(metadata.Info.OperationId, endpoint.Operation); Assert.Equal(metadata.Info.Summary, endpoint.Summary); }