Beispiel #1
0
 public ConfigurationProvider(IHttpConfiguration httpConfiguration, ILinkFactory linkFactory, IConfigurationProviderGetLinksForFuncProvider linksForFuncProvider, ICache <Type, Func <ConfigurationProvider, object, IEnumerable <IHateoasLink> > > getLinksForMethodCache)
 {
     _httpConfiguration      = httpConfiguration;
     _linkFactory            = linkFactory;
     _linksForFuncProvider   = linksForFuncProvider;
     _getLinksForMethodCache = getLinksForMethodCache;
 }
Beispiel #2
0
        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);
        }