private static HelpPageApiModel GenerateApiModel(ApiDescription apiDescription, HttpConfiguration config) { HelpPageApiModel apiModel = new HelpPageApiModel() { ApiDescription = apiDescription, }; ModelDescriptionGenerator modelGenerator = config.GetModelDescriptionGenerator(); HelpPageSampleGenerator sampleGenerator = config.GetHelpPageSampleGenerator(); GenerateUriParameters(apiModel, modelGenerator); GenerateRequestModelDescription(apiModel, modelGenerator, sampleGenerator); GenerateResourceDescription(apiModel, modelGenerator); GenerateSamples(apiModel, sampleGenerator); return apiModel; }
private static HelpPageApiModel GenerateApiModel(ApiDescription apiDescription, HttpConfiguration config) { var apiModel = new HelpPageApiModel() { ApiDescription = apiDescription, }; var modelGenerator = config.GetModelDescriptionGenerator(); var sampleGenerator = config.GetHelpPageSampleGenerator(); apiModel.UriParameters = apiModel.ApiDescription.GenerateUriParameters(modelGenerator); apiModel.RequestModelDescription = apiModel.ApiDescription.GenerateRequestModelDescription(modelGenerator, sampleGenerator); apiModel.ResourceDescription = apiModel.ApiDescription.GenerateResponseDescription(modelGenerator); GenerateSamples(apiModel, sampleGenerator); return apiModel; }
private static HelpPageApiModel GenerateApiModel(ApiDescription apiDescription, HttpConfiguration config) { HelpPageApiModel apiModel = new HelpPageApiModel() { ApiDescription = apiDescription, }; if (apiDescription.ActionDescriptor.GetFilterPipeline().Any(x => x.Instance is IAuthorizationFilter)) apiModel.RequiresAuthorization = true; if (apiDescription.ActionDescriptor.GetFilterPipeline().Any(x => x.Instance is CachedAttribute)) apiModel.IsCached = true; ModelDescriptionGenerator modelGenerator = config.GetModelDescriptionGenerator(); HelpPageSampleGenerator sampleGenerator = config.GetHelpPageSampleGenerator(); GenerateUriParameters(apiModel, modelGenerator); GenerateRequestModelDescription(apiModel, modelGenerator, sampleGenerator); GenerateResourceDescription(apiModel, modelGenerator); GenerateSamples(apiModel, sampleGenerator); return apiModel; }
public void ResourceModel_ReturnsCachedModels_UnusedParameters(string modelName) { HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute("Default", "{controller}/{unused}/{id}", new { id = RouteParameter.Optional }); HelpController controller = new HelpController(config); ModelDescriptionGenerator modelDescriptionGenerator = config.GetModelDescriptionGenerator(); ModelDescription expectedModelDescription; modelDescriptionGenerator.GeneratedModels.TryGetValue(modelName, out expectedModelDescription); ViewResult result = Assert.IsType<ViewResult>(controller.ResourceModel(modelName)); ViewResult result2 = Assert.IsType<ViewResult>(controller.ResourceModel(modelName)); Assert.Same(expectedModelDescription, result.Model); Assert.Same(result.Model, result2.Model); }
private static HelpPageApiModel GenerateApiModel(ApiDescription apiDescription, HttpConfiguration config) { HelpPageApiModel apiModel = new HelpPageApiModel { ApiDescription = apiDescription }; var isAnonymous = apiDescription.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().Any() || apiDescription.ActionDescriptor.ControllerDescriptor .GetCustomAttributes<AllowAnonymousAttribute>().Any(); if (!isAnonymous && apiDescription.ActionDescriptor.GetFilterPipeline().Any(f => f.Instance is IAuthorizationFilter)) apiModel.RequiresAuthorization = true; //var attr = apiDescription.ActionDescriptor.GetCustomAttributes<MetaDataAttribute>().ToList(); //apiModel.AddedDate = attr.Any() ? attr.First().AddedDate : new DateTime(2014); ModelDescriptionGenerator modelGenerator = config.GetModelDescriptionGenerator(); HelpPageSampleGenerator sampleGenerator = config.GetHelpPageSampleGenerator(); GenerateUriParameters(apiModel, modelGenerator); GenerateRequestModelDescription(apiModel, modelGenerator, sampleGenerator); GenerateResourceDescription(apiModel, modelGenerator); GenerateSamples(apiModel, sampleGenerator); return apiModel; }