/// <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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }