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); }
public AggregateDependencyController(IResourceLoadGraphFactory resourceLoadGraphFactory) { _resourceLoadGraphFactory = Preconditions.ThrowIfNull(resourceLoadGraphFactory, nameof(resourceLoadGraphFactory)); }
public AggregateDependencyController(ApiSettings apiSettings, IResourceLoadGraphFactory resourceLoadGraphFactory) { _isEnabled = apiSettings.IsFeatureEnabled(ApiFeature.AggregateDependencies.GetConfigKeyName()); _resourceLoadGraphFactory = resourceLoadGraphFactory; }