protected override void Arrange() { AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Composites_Test>(); AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Profiles_Test>(); _compositesMetadataProvider = new CompositesMetadataProvider(); _profileResourceNamesProvider = new ProfileResourceNamesProvider(); _profileResourceModelProvider = new ProfileResourceModelProvider(ResourceModelProvider, new ProfileResourceNamesProvider()); var openApiMetadataRouteProviderStub = Stub <IOpenApiMetadataRouteProvider>(); openApiMetadataRouteProviderStub.Stub(x => x.GetAllRoutes()) .Return(GetTestRoutes()); _openApiMetadataCacheProvider = new LegacyOpenApiMetadataCacheProvider( DomainModelProvider, ResourceModelProvider, _profileResourceModelProvider, _profileResourceNamesProvider, _compositesMetadataProvider, SchemaNameMapProvider, openApiMetadataRouteProviderStub, TestOpenApiContentProviders); }
public OpenApiMetadataController( IOpenApiMetadataCacheProvider openApiMetadataCacheProvider, ApiSettings apiSettings) { _openApiMetadataCacheProvider = openApiMetadataCacheProvider; _useProxyHeaders = apiSettings.UseReverseProxyHeaders.HasValue && apiSettings.UseReverseProxyHeaders.Value; _isEnabled = apiSettings.IsFeatureEnabled(ApiFeature.OpenApiMetadata.GetConfigKeyName()); }
protected override void Arrange() { var configValueProvider = new ApiSettings(); configValueProvider.UseReverseProxyHeaders = true; Feature item = new Feature(); item.IsEnabled = true; item.Name = "openApiMetadata"; configValueProvider.Features.Add(item); _openApiMetadataCacheProvider = Stub <IOpenApiMetadataCacheProvider>(); A.CallTo(() => _openApiMetadataCacheProvider.GetOpenApiContentByFeedName(A <string> ._)) .Returns(OpenApiMetadataHelper.GetIdentityContent()); var fakeopenAPIcontent = A.Fake <List <OpenApiContent> >(); A.CallTo(() => _openApiMetadataCacheProvider.GetAllSectionDocuments(A <bool> ._)).Returns(fakeopenAPIcontent); var sectiondata = _openApiMetadataCacheProvider.GetOpenApiContentByFeedName("openApiMetadata"); fakeopenAPIcontent.Add(sectiondata); _controller = new OpenApiMetadataController(_openApiMetadataCacheProvider, configValueProvider); var request = A.Fake <HttpRequest>(); request.Method = "Post"; request.Scheme = "http"; A.CallTo(() => request.Host).Returns(new HostString("localhost", 80)); request.PathBase = "/"; request.RouteValues = new RouteValueDictionary { { "controller", "Token" } }; var httpContext = A.Fake <HttpContext>(); A.CallTo(() => httpContext.Request).Returns(request); var controllerContext = new ControllerContext() { HttpContext = httpContext, }; RouteValueDictionary dictionary = new RouteValueDictionary(); dictionary.Add("controller", "Token"); controllerContext.RouteData = new RouteData(dictionary); _controller.ControllerContext = controllerContext; }
public OpenApiMetadataController(IOpenApiMetadataCacheProvider openApiMetadataCacheProvider, IConfigValueProvider configValueProvider) { _openApiMetadataCacheProvider = openApiMetadataCacheProvider; bool tempConfigValue; _useProxyHeaders = bool.TryParse( configValueProvider.GetValue(UseReverseProxyHeadersConfigKey), out tempConfigValue) && tempConfigValue; }
public EnabledOpenApiMetadataDocumentProvider( IOpenApiMetadataCacheProvider openApiMetadataCacheProvider, IList <IOpenApiMetadataRouteInformation> routeInformations, ISchemaNameMapProvider schemaNameMapProvider, ApiSettings apiSettings) { _openApiMetadataCacheProvider = openApiMetadataCacheProvider; _routeInformations = routeInformations; _useReverseProxyHeaders = apiSettings.UseReverseProxyHeaders.HasValue && apiSettings.UseReverseProxyHeaders.Value; _schemaNameMaps = new Lazy <IReadOnlyList <SchemaNameMap> >(schemaNameMapProvider.GetSchemaNameMaps); }
protected override void Arrange() { var configValueProvider = new NameValueCollectionConfigValueProvider(); configValueProvider.Values.Add("UseReverseProxyHeaders", "true"); _openApiMetadataCacheProvider = Stub <IOpenApiMetadataCacheProvider>(); _openApiMetadataCacheProvider.Stub(x => x.GetOpenApiContentByFeedName(Arg <string> .Is.Anything)) .Return(OpenApiMetadataHelper.GetIdentityContent()); _controller = new OpenApiMetadataController(_openApiMetadataCacheProvider, configValueProvider); var config = new HttpConfiguration(); var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/metadata"); var route = config.Routes.MapHttpRoute("default", "{controller}"); config.Routes.MapHttpRoute( "OAuthAuthorize", "oauth/authorize", new { controller = "Authorize" }); config.Routes.MapHttpRoute( "OAuthToken", "oauth/token", new { controller = "Token" }); var routeData = new HttpRouteData( route, new HttpRouteValueDictionary { { "controller", "metadata" } }); _controller.ControllerContext = new HttpControllerContext(config, routeData, request); _controller.Request = request; _controller.Url = new UrlHelper(request); _controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config; _controller.RequestContext.VirtualPathRoot = "/"; _controller.Request.Headers.Add(XForwardedProto, "https"); _controller.Request.Headers.Add(XForwardedHost, "api.com"); _controller.Request.Headers.Add(XForwardedPort, "443"); }
public InitializeOpenApiMetadataCache(IOpenApiMetadataCacheProvider openApiMetadataCacheProvider) { _openApiMetadataCacheProvider = Preconditions.ThrowIfNull(openApiMetadataCacheProvider, nameof(openApiMetadataCacheProvider)); }