Beispiel #1
0
            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);
            }
Beispiel #2
0
 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;
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
            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");
            }
Beispiel #7
0
 public InitializeOpenApiMetadataCache(IOpenApiMetadataCacheProvider openApiMetadataCacheProvider)
 {
     _openApiMetadataCacheProvider = Preconditions.ThrowIfNull(openApiMetadataCacheProvider, nameof(openApiMetadataCacheProvider));
 }