protected override void Arrange() { _testProfileResourceNamesProvider = new TestProfileResourceNamesProvider(); var studentProgramAssociation = _resourceModelProvider.GetResourceModel() .GetResourceByFullName( new FullName( EdFiConventions .PhysicalSchemaName, "StudentProgramAssociation")); var studentSpecialEducationProgramAssociation = _resourceModelProvider .GetResourceModel() .GetResourceByFullName( new FullName( EdFiConventions .PhysicalSchemaName, "StudentSpecialEducationProgramAssociation")); _expectedFilteredResources = new[] { new OpenApiMetadataResource(studentProgramAssociation) { Name = "studentProgramAssociation", Readable = true }, new OpenApiMetadataResource(studentProgramAssociation) { Name = "studentProgramAssociation", Readable = true, ContextualResource = studentSpecialEducationProgramAssociation }, new OpenApiMetadataResource(studentProgramAssociation) { Name = "studentProgramAssociation_StudentSpecialEducationProgramAssociation", Readable = true, Writable = true }, new OpenApiMetadataResource(studentSpecialEducationProgramAssociation) { Name = "studentSpecialEducationProgramAssociation", Readable = true, Writable = true } }; _schemaNameMapProviderStub = Stub <ISchemaNameMapProvider>(); var profileResourceModel = new ProfileResourceModel( _resourceModelProvider.GetResourceModel(), _testProfileResourceNamesProvider.GetProfileDefinition("ProfileName")); _openApiMetadataDocumentContext = new OpenApiMetadataDocumentContext( _resourceModelProvider.GetResourceModel()) { ProfileContext = new OpenApiMetadataProfileContext { ProfileName = "ProfileName", ProfileResourceModel = profileResourceModel } }; }
protected override void Arrange() { _compositesMetadataProvider = Stub <ICompositesMetadataProvider>(); _compositesMetadataProvider.Stub(x => x.GetAllCategories()) .Return(new List <CompositeCategory>()); _profileResourceModelProvider = Stub <IProfileResourceModelProvider>(); _profileResourceNamesProvider = Stub <IProfileResourceNamesProvider>(); _profileResourceNamesProvider.Stub(x => x.GetProfileResourceNames()) .Return(new List <ProfileAndResourceNames>()); _schemaNameMapProvider = new SchemaNameMapProvider( DomainModelProvider.GetDomainModel() .Schemas); var openApiMetadataRouteProviderStub = Stub <IOpenApiMetadataRouteProvider>(); openApiMetadataRouteProviderStub.Stub(x => x.GetAllRoutes()) .Return(GetTestRoutes()); _openApiMetadataCacheProvider = new LegacyOpenApiMetadataCacheProvider( DomainModelProvider, ResourceModelProvider, _profileResourceModelProvider, _profileResourceNamesProvider, _compositesMetadataProvider, _schemaNameMapProvider, openApiMetadataRouteProviderStub, TestOpenApiContentProviders); }
public ExtensionsOpenApiContentProvider(IDomainModelProvider domainModelProvider, IResourceModelProvider resourceModelProvider, ISchemaNameMapProvider schemaNameMapProvider) { _domainModelProvider = Preconditions.ThrowIfNull(domainModelProvider, nameof(domainModelProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _schemaNameMapProvider = Preconditions.ThrowIfNull(schemaNameMapProvider, nameof(schemaNameMapProvider)); }
public XsdFileInformationProvider(IAssembliesProvider assembliesProvider, ISchemaNameMapProvider schemaNameMapProvider) { _assembliesProvider = assembliesProvider; _schemaNameMapProvider = schemaNameMapProvider; _xsdFileInformationByUriSegment = new Lazy <IDictionary <string, XsdFileInformation> >(ParseAssemblies); }
public ExtensionsOpenApiContentProvider(IDomainModelProvider domainModelProvider, IResourceModelProvider resourceModelProvider, ISchemaNameMapProvider schemaNameMapProvider, IOpenApiMetadataDocumentFactory documentFactory) { _domainModelProvider = Preconditions.ThrowIfNull(domainModelProvider, nameof(domainModelProvider)); _resourceModelProvider = Preconditions.ThrowIfNull(resourceModelProvider, nameof(resourceModelProvider)); _schemaNameMapProvider = Preconditions.ThrowIfNull(schemaNameMapProvider, nameof(schemaNameMapProvider)); _openApiMetadataDocumentFactory = Preconditions.ThrowIfNull(documentFactory, nameof(documentFactory)); }
public LegacyOpenApiMetadataCacheProvider( IDomainModelProvider domainModelProvider, IResourceModelProvider resourceModelProvider, IProfileResourceModelProvider profileResourceModelProvider, IProfileResourceNamesProvider profileResourceNamesProvider, ICompositesMetadataProvider compositesMetadataProvider, ISchemaNameMapProvider schemaNameMapProvider, IOpenApiMetadataRouteProvider openApiMetadataRouteProvider, IOpenApiContentProvider[] openApiContentProviders) { _domainModelProvider = domainModelProvider; _resourceModelProvider = resourceModelProvider; _compositesMetadataProvider = compositesMetadataProvider; _schemaNameMapProvider = schemaNameMapProvider; _openApiMetadataRouteProvider = openApiMetadataRouteProvider; _profileResourceModelProvider = profileResourceModelProvider; _profileResourceNamesProvider = profileResourceNamesProvider; _openApiMetadataResourceFilters = new Dictionary <string, IOpenApiMetadataResourceStrategy>(StringComparer.InvariantCultureIgnoreCase) { { Descriptors, new SwaggerUiDescriptorOnlyStrategy() }, { Resources, new SwaggerUiResourceOnlyStrategy() }, { Extensions, new SdkGenExtensionResourceStrategy() }, { EdFi, new SdkGenAllEdFiResourceStrategy() }, { Profiles, new OpenApiProfileStrategy() }, { Composites, new OpenApiCompositeStrategy(_compositesMetadataProvider) }, { All, new SdkGenAllResourceStrategy() } }; _openApiMetadataSectionByRoute = new Dictionary <string, Func <IEnumerable <OpenApiContent> > > { { MetadataRouteConstants.Schema, CreateSchemaSpecificSections }, { MetadataRouteConstants.All, CreateSdkGenAllSection }, { MetadataRouteConstants.Profiles, CreateProfileSection }, { MetadataRouteConstants.Composites, CreateCompositeSection }, { MetadataRouteConstants.ResourceTypes, CreateSwaggerUiSection } }; foreach (var openApiContentProvider in openApiContentProviders) { var routeName = openApiContentProvider.RouteName; if (_openApiMetadataSectionByRoute.ContainsKey(routeName)) { throw new InvalidOperationException( $"Duplicate metadata route '{routeName}' encountered during initialization. Source: {openApiContentProvider.GetType().FullName}"); } _openApiMetadataSectionByRoute.Add(routeName, openApiContentProvider.GetOpenApiContent); } _swaggerMetadataCache = new ConcurrentDictionary <string, OpenApiContent>(StringComparer.InvariantCultureIgnoreCase); }
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); }
public ProfilesAwareHttpControllerSelector( HttpConfiguration config, IProfileResourceNamesProvider profileResourceNamesProvider, ISchemaNameMapProvider schemaNameMapProvider) : base(config) { _configuration = config; _profileResourceNamesProvider = profileResourceNamesProvider; _duplicates = new HashSet <string>(StringComparer.OrdinalIgnoreCase); _controllers = new Lazy <Dictionary <string, HttpControllerDescriptor> >(InitializeControllerDictionary); _schemaNameMapProvider = schemaNameMapProvider; }
public HttpRouteConfigurator(IRouteConfiguration[] routeConfigurations, IProfileResourceNamesProvider profileResourceNamesProvider, ISchemaNameMapProvider schemaNameMapProvider, bool useSchoolYear = false) { _routeConfigurations = Preconditions.ThrowIfNull(routeConfigurations, nameof(routeConfigurations)); _profileResourceNamesProvider = Preconditions.ThrowIfNull( profileResourceNamesProvider, nameof(profileResourceNamesProvider)); _schemaNameMapProvider = Preconditions.ThrowIfNull(schemaNameMapProvider, nameof(schemaNameMapProvider)); _useSchoolYear = useSchoolYear; }
protected override void Arrange() { _swaggerDocumentContext = new SwaggerDocumentContext( DomainModelDefinitionsProviderHelper .ResourceModelProvider .GetResourceModel()); _genericSwaggerDefinitionFactory = SwaggerDocumentFactoryHelper.CreateSwaggerDefinitionsFactory( _swaggerDocumentContext); _domainModelProvider = DomainModelDefinitionsProviderHelper.DomainModelProvider; _schemaNameMapProvider = _domainModelProvider.GetDomainModel() .SchemaNameMapProvider; }
protected override void Arrange() { _openApiMetadataDocumentContext = new OpenApiMetadataDocumentContext( DomainModelDefinitionsProviderHelper .ResourceModelProvider .GetResourceModel()); _genericOpenApiMetadataDefinitionFactory = OpenApiMetadataDocumentFactoryHelper.CreateOpenApiMetadataDefinitionsFactory( _openApiMetadataDocumentContext); _domainModelProvider = DomainModelDefinitionsProviderHelper.DomainModelProvider; _schemaNameMapProvider = _domainModelProvider.GetDomainModel() .SchemaNameMapProvider; }
private IEnumerable <string> GetSchemaProperCaseNames( List <ResourceProfileData> profileDatas, ISchemaNameMapProvider schemaNameMapProvider) { return(new[] { EdFiConventions.ProperCaseName } .Concat( TemplateContext.IsExtension ? profileDatas .SelectMany(pd => pd.SuppliedResource.AllContainedItemTypes) .Select(x => x.FullName.Schema) .Except(EdFiConventions.PhysicalSchemaName) .Distinct() : new string[0]) .Select( sch => schemaNameMapProvider.GetSchemaMapByPhysicalName(sch) .ProperCaseName)); }
protected override void Arrange() { _schemaNameMapProvider = new SchemaNameMapProvider( DomainModelProvider.GetDomainModel() .Schemas); var apiSettings = CreateApiSettings(); AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Composites_Test>(); var openApiMetadataRouteInformation = new List <IOpenApiMetadataRouteInformation>(); var _resourceModelProvider = Stub <IResourceModelProvider>(); var resourceModel = ResourceModelProvider.GetResourceModel(); A.CallTo(() => _resourceModelProvider.GetResourceModel()).Returns(resourceModel); var openapicontentproviderlist = new List <IOpenApiContentProvider>(); var compositemetadataprovider = new CompositesMetadataProvider(); var defaultPageSieLimitProvider = new DefaultPageSizeLimitProvider(GetConfiguration()); var openApiMetadataDocumentFactory = new OpenApiMetadataDocumentFactory(apiSettings, defaultPageSieLimitProvider); var compositeOpenApiContentProvider = new CompositesOpenApiContentProvider( compositemetadataprovider, ResourceModelProvider, openApiMetadataDocumentFactory); var extensionsOpenApiContentProvider = new ExtensionsOpenApiContentProvider( DomainModelProvider, ResourceModelProvider, SchemaNameMapProvider, openApiMetadataDocumentFactory); var identityprovider = new IdentityOpenApiContentProvider(); openapicontentproviderlist.Add(identityprovider); openapicontentproviderlist.Add(compositeOpenApiContentProvider); openapicontentproviderlist.Add(extensionsOpenApiContentProvider); _openApiMetadataCacheProvider = new OpenApiMetadataCacheProvider( ResourceModelProvider, GetTestRouteInformation(apiSettings).ToList(), openapicontentproviderlist, openApiMetadataDocumentFactory); }
public FilterContext GetExtensionContext(string properCaseName) { // Supports the NullFilterContext usage if (_filterProvider == null) { return(this); } ISchemaNameMapProvider schemaNameMapProvider = UnfilteredResourceClass.ResourceModel.SchemaNameMapProvider; if (schemaNameMapProvider == null) { return(this); } var logicalName = schemaNameMapProvider.GetSchemaMapByProperCaseName(properCaseName) .LogicalName; var extensionDefinition = Definition.XPathSelectElement( $"Extension[@name='{logicalName}']"); if (extensionDefinition == null) { return(null); } Extension extensionMember; if (!UnfilteredResourceClass.ExtensionByName.TryGetValue(properCaseName, out extensionMember)) { throw new Exception( $"Unable to find extension '{properCaseName}' of resource class '{UnfilteredResourceClass.Name}'."); } return(new FilterContext(_filterProvider, extensionDefinition, extensionMember.ObjectType)); }
public ApiDefaultRouteConfiguration(ISchemaNameMapProvider schemaNameMapProvider) { _schemaNameMapProvider = Preconditions.ThrowIfNull(schemaNameMapProvider, nameof(schemaNameMapProvider)); }
/// <summary> /// Initializes a new instance of the <see cref="ResourceClaimUriProvider" /> class using the supplied schema name map provider. /// </summary> /// <param name="schemaNameMapProvider">The provider for mapping between schema names.</param> public ResourceClaimUriProvider(ISchemaNameMapProvider schemaNameMapProvider) { _schemaNameMapProvider = Preconditions.ThrowIfNull(schemaNameMapProvider, nameof(schemaNameMapProvider)); }