本文整理汇总了C#中System.Web.Http.HttpConfiguration.GetHelpPageApiModel方法的典型用法代码示例。如果您正苦于以下问题:C# HttpConfiguration.GetHelpPageApiModel方法的具体用法?C# HttpConfiguration.GetHelpPageApiModel怎么用?C# HttpConfiguration.GetHelpPageApiModel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.Http.HttpConfiguration
的用法示例。
在下文中一共展示了HttpConfiguration.GetHelpPageApiModel方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetHelpPageApiModel_ReturnsTheModel_WhenIdIsValid
public void GetHelpPageApiModel_ReturnsTheModel_WhenIdIsValid(string apiId)
{
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
HelpPageApiModel model = config.GetHelpPageApiModel(apiId);
Assert.NotNull(model);
Assert.Same(model, config.GetHelpPageApiModel(apiId));
Assert.Equal(apiId, model.ApiDescription.GetFriendlyId(), StringComparer.OrdinalIgnoreCase);
}
示例2: GetHelpPageApiModel_ReturnsNull_WhenIdIsInvalid
public void GetHelpPageApiModel_ReturnsNull_WhenIdIsInvalid(string apiId)
{
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
HelpPageApiModel model = config.GetHelpPageApiModel(apiId);
Assert.Null(model);
}
示例3: GetHelpPageApiModel_HandlesException_ThrownDuringSampleGeneration
public void GetHelpPageApiModel_HandlesException_ThrownDuringSampleGeneration()
{
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
Mock<HelpPageSampleGenerator> faultyGenerator = new Mock<HelpPageSampleGenerator>();
faultyGenerator.Setup(g => g.GetSample(It.IsAny<ApiDescription>(), It.IsAny<SampleDirection>())).Returns(() => { throw new InvalidOperationException("This is a faulty sample generator."); });
config.SetHelpPageSampleGenerator(faultyGenerator.Object);
HelpPageApiModel model = config.GetHelpPageApiModel("Get-Values");
Assert.NotNull(model);
Assert.NotEmpty(model.ErrorMessages);
Assert.Equal("An exception has occurred while generating the sample. Exception Message: This is a faulty sample generator.", model.ErrorMessages[0]);
}
示例4: API_ReturnsCachedModels
public void API_ReturnsCachedModels(string apiDescriptionId)
{
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
HelpController controller = new HelpController(config);
ViewResult result = Assert.IsType<ViewResult>(controller.Api(apiDescriptionId));
ViewResult result2 = Assert.IsType<ViewResult>(controller.Api(apiDescriptionId));
Assert.NotNull(result.Model);
Assert.NotNull(result2.Model);
// Make sure the model is cached
Assert.Same(config.GetHelpPageApiModel(apiDescriptionId), result.Model);
Assert.Same(result.Model, result2.Model);
}
示例5: GetHelpPageApiModel_TypeConverterModel_GeneratesUriParameter
public void GetHelpPageApiModel_TypeConverterModel_GeneratesUriParameter()
{
// If class Point with properties X and Y is defined with a TypeConverter,
// the UriParameters should be a single parameter name "point" instead of two member properties X and Y,
// because X and Y do not appear in the Relative Path and it is the user that should specify how the query
// string is parsed.
// Arrange
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
// Act
HelpPageApiModel model = config.GetHelpPageApiModel("GET-Values_point");
// Assert
Assert.NotNull(model);
string expectedParameter = Assert.Single(model.ApiDescription.ParameterDescriptions).Name;
ParameterDescription parameterDescription = Assert.Single(model.UriParameters);
Assert.Equal(expectedParameter, parameterDescription.Name);
}
示例6: GetHelpPageApiModel_ReturnsExpectedRequestModelDescription
public void GetHelpPageApiModel_ReturnsExpectedRequestModelDescription(string apiId, bool hasRequestModelDescription)
{
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
HelpPageApiModel model = config.GetHelpPageApiModel(apiId);
Assert.NotNull(model);
if (hasRequestModelDescription)
{
Assert.NotNull(model.RequestModelDescription);
}
else
{
Assert.Null(model.RequestModelDescription);
}
}
示例7: GetHelpPageApiModel_HandlesException_ThrownDuringSampleObjectSerialization
public void GetHelpPageApiModel_HandlesException_ThrownDuringSampleObjectSerialization()
{
HttpConfiguration config = new HttpConfiguration();
config.Formatters.Clear();
config.Formatters.Add(new JQueryMvcFormUrlEncodedFormatter());
config.SetSampleObjects(new Dictionary<Type, object> { { typeof(string), "sample" } });
config.Routes.MapHttpRoute("Default", "{controller}/{id}", new { id = RouteParameter.Optional });
HelpPageApiModel model = config.GetHelpPageApiModel("Post-Values");
Assert.NotNull(model);
Assert.NotEmpty(model.ErrorMessages);
Assert.Equal("Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'String'.", model.ErrorMessages[0]);
}
示例8: GetHelpPageApiModel_ReturnsNull_IfNoRoute
public void GetHelpPageApiModel_ReturnsNull_IfNoRoute(string apiId)
{
HttpConfiguration config = new HttpConfiguration();
HelpPageApiModel model = config.GetHelpPageApiModel(apiId);
Assert.Null(model);
}