public static void Startup <TRegistrationClass>( HttpConfiguration configuration, IAuthorizationProvider authorizationProvider = null, IDependencyResolver dependencyResolver = null, IList <IMessageSerializer> messageSerializers = null) where TRegistrationClass : IHateoasRegistrationProfile, new() { var configurationWrapper = new HttpConfigurationWrapper(configuration); Startup <TRegistrationClass>( configurationWrapper, authorizationProvider, dependencyResolver, messageSerializers); }
public void BaseTestInitialize() { // registration _httpConfiguration = new HttpConfiguration(); _httpConfigurationWrapper = new HttpConfigurationWrapper(_httpConfiguration); _authorizationProviderMock = new Mock <IAuthorizationProvider>(MockBehavior.Strict); _authorizationProviderMock.Setup(a => a.IsAuthorized(It.IsAny <MethodInfo>())).Returns(true); _dependencyResolver = new Mock <IDependencyResolver>(MockBehavior.Strict); RegistrationClass = new TestRegistrationClass(); // request & response Request = new HttpRequestMessage(HttpMethod.Get, "http://hateoas.net"); Request.Headers.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, _httpConfigurationWrapper.HttpConfiguration); Response = new HttpResponseMessage(HttpStatusCode.OK); // handling var idFromExpressionProcessor = new IdFromExpressionProcessor(_dependencyResolver.Object); var argumentsDefinitionsProcessor = new ArgumentDefinitionsProcessor(); var templateArgumentsProcessor = new TemplateArgumentsProcessor(); var inMemoryGenericLinksForMethodsCache = new InMemoryCache <int, MethodInfo>(); _linksForFuncProvider = new ConfigurationProviderGetLinksForFuncProvider(inMemoryGenericLinksForMethodsCache); var linkBuilderFactory = new LinkBuilderFactory(); _linkFactory = new LinkFactory( linkBuilderFactory: linkBuilderFactory, authorizationProvider: _authorizationProviderMock.Object, idFromExpressionProcessor: idFromExpressionProcessor, argumentsDefinitionsProcessor: argumentsDefinitionsProcessor, templateArgumentsProcessor: templateArgumentsProcessor ); _getLinksForMethodCache = new InMemoryCache <Type, Func <ConfigurationProvider, object, IEnumerable <IHateoasLink> > >(); _configurationProvider = new ConfigurationProvider(_httpConfigurationWrapper, _linkFactory, _linksForFuncProvider, _getLinksForMethodCache); _responseProvider = new ResponseProvider(_configurationProvider); }