private static AggregateDependencyController CreateController(IResourceLoadGraphFactory graphFactory,
                                                                      bool isGraphRequest = false)
        {
            var config = new HttpConfiguration();

            config.Formatters.Add(new GraphMLMediaTypeFormatter());

            var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/metadata/data/v3/dependencies");

            if (isGraphRequest)
            {
                request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(CustomMediaContentTypes.GraphML));
            }

            var route = config.Routes.MapHttpRoute(RouteConstants.Dependencies, "metadata/data/v3/dependencies");

            var controller = new AggregateDependencyController(graphFactory);

            var routeData = new HttpRouteData(
                route,
                new HttpRouteValueDictionary
            {
                {
                    "controller", "aggregatedependency"
                }
            });

            controller.ControllerContext = new HttpControllerContext(config, routeData, request);
            controller.Request           = request;
            controller.Url = new UrlHelper(request);
            controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
            controller.RequestContext.VirtualPathRoot = "/";

            return(controller);
        }
            protected override void Arrange()
            {
                _resourceLoadGraphFactory = Stub <IResourceLoadGraphFactory>();

                var graph = new BidirectionalGraph <Resource, AssociationViewEdge>();

                graph.AddVertex(new Resource("Test"));
                A.CallTo(() => _resourceLoadGraphFactory.CreateResourceLoadGraph())
                .Returns(graph);

                _controller = CreateController(_resourceLoadGraphFactory, true);
            }
            protected override void Arrange()
            {
                _resourceLoadGraphFactory = MockRepository.GenerateMock <IResourceLoadGraphFactory>();

                var graph = new BidirectionalGraph <Resource, AssociationViewEdge>();

                graph.AddVertex(new Resource("Test"));

                _resourceLoadGraphFactory.Stub(x => x.CreateResourceLoadGraph())
                .Return(graph);

                _controller = CreateController(_resourceLoadGraphFactory, true);
            }
        private static AggregateDependencyController CreateController(IResourceLoadGraphFactory graphFactory,
                                                                      bool isGraphRequest = false)
        {
            var apiSettings = new ApiSettings {
                Mode = ApiMode.SharedInstance.Value
            };
            Feature item = new Feature();

            item.IsEnabled = true;
            item.Name      = "aggregateDependencies";
            apiSettings.Features.Add(item);

            var controller        = new AggregateDependencyController(apiSettings, graphFactory);
            var request           = A.Fake <HttpRequest>();
            var headerDictionary  = A.Fake <IHeaderDictionary>();
            HeaderDictionary dict = new HeaderDictionary();

            if (isGraphRequest)
            {
                dict.Add("Accept", CustomMediaContentTypes.GraphML);
            }

            A.CallTo(() => request.Headers).Returns(dict);

            var httpContext = A.Fake <HttpContext>();

            A.CallTo(() => httpContext.Request).Returns(request);

            var controllerContext = new ControllerContext()
            {
                HttpContext = httpContext,
            };

            controller.ControllerContext = controllerContext;

            return(controller);
        }
Exemplo n.º 5
0
 public AggregateDependencyController(IResourceLoadGraphFactory resourceLoadGraphFactory)
 {
     _resourceLoadGraphFactory = Preconditions.ThrowIfNull(resourceLoadGraphFactory, nameof(resourceLoadGraphFactory));
 }
 public AggregateDependencyController(ApiSettings apiSettings, IResourceLoadGraphFactory resourceLoadGraphFactory)
 {
     _isEnabled = apiSettings.IsFeatureEnabled(ApiFeature.AggregateDependencies.GetConfigKeyName());
     _resourceLoadGraphFactory = resourceLoadGraphFactory;
 }