/// <summary> /// Initializes a new instance of the <see cref="AttributeRoutingConvention"/> class. /// </summary> /// <param name="model">The <see cref="IEdmModel"/> to be used for parsing the route templates.</param> /// <param name="configuration">The <see cref="HttpConfiguration"/> to use for figuring out all the controllers to /// look for a match.</param> /// <param name="pathTemplateHandler">The path template handler to be used for parsing the path templates.</param> public AttributeRoutingConvention(IEdmModel model, HttpConfiguration configuration, IODataPathTemplateHandler pathTemplateHandler) : this(model, pathTemplateHandler) { if (configuration == null) { throw Error.ArgumentNull("configuration"); } DefaultODataPathHandler odataPathHanlder = pathTemplateHandler as DefaultODataPathHandler; if (odataPathHanlder != null) { odataPathHanlder.ResolverSetttings = configuration.GetResolverSettings(); } Action<HttpConfiguration> oldInitializer = configuration.Initializer; bool initialized = false; configuration.Initializer = (config) => { if (!initialized) { initialized = true; oldInitializer(config); IHttpControllerSelector controllerSelector = config.Services.GetHttpControllerSelector(); _attributeMappings = BuildAttributeMappings(controllerSelector.GetControllerMapping().Values); } }; }
public void EnableAlternateKeys_Sets_AlternateKeyFlag() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.EnableAlternateKeys(alternateKeys: true); ODataUriResolverSetttings resolverSetttings = config.GetResolverSettings(); // Assert Assert.True(resolverSetttings.AlternateKeys); }
public void EnableEnumPrefixFree_Sets_EnumPrefixFreeFlag() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.EnableEnumPrefixFree(enumPrefixFree: true); ODataUriResolverSetttings resolverSetttings = config.GetResolverSettings(); // Assert Assert.True(resolverSetttings.EnumPrefixFree); }
public void EnableUnqualifedCall_Sets_UnqualifedCallFlag() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.EnableUnqualifiedNameCall(unqualifiedNameCall: true); ODataUriResolverSetttings resolverSetttings = config.GetResolverSettings(); // Assert Assert.True(resolverSetttings.UnqualifiedNameCall); }
public void EnableCaseInsensitive_Sets_KeyWordAndMetadataFlag() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.EnableCaseInsensitive(caseInsensitive: true); ODataUriResolverSetttings resolverSetttings = config.GetResolverSettings(); // Assert Assert.True(resolverSetttings.CaseInsensitive); }
public void GetResolverSettings_ReturnDefaultResolverSettings_IfNotSet() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act ODataUriResolverSetttings resolverSetttings = config.GetResolverSettings(); // Assert Assert.False(resolverSetttings.CaseInsensitive); Assert.False(resolverSetttings.UnqualifiedNameCall); Assert.False(resolverSetttings.EnumPrefixFree); }