Ejemplo n.º 1
0
            protected override void Arrange()
            {
                AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Composites_Test>();

                var compositeMetadataProvider = new CompositesMetadataProvider();

                var resourceModel =
                    DomainModelDefinitionsProviderHelper.DomainModelProvider.GetDomainModel()
                    .ResourceModel;

                var definitionProcessor =
                    new CompositeDefinitionProcessor
                    <CompositeResourceModelBuilderContext, global::EdFi.Ods.Common.Models.Resource.Resource>(
                        new CompositeResourceModelBuilder());

                // It is possible to add validation on composite names within the MetadataController logic if it's needed.
                // Get all the category names
                var categoryNames =
                    compositeMetadataProvider.GetAllCategories()
                    .First(c => c.Name.Equals("test") && c.DisplayName.Equals("Test"));

                IReadOnlyList <XElement> compositeDefinitions;

                compositeMetadataProvider.TryGetCompositeDefinitions(categoryNames.OrganizationCode, categoryNames.Name, out compositeDefinitions);

                var compositeResources = new List <global::EdFi.Ods.Common.Models.Resource.Resource>();

                foreach (var compositeDefinition in compositeDefinitions)
                {
                    // Enable this for composite xml validation.
                    definitionProcessor.UseCompositeValidation();

                    var compositeResource = definitionProcessor.Process(
                        compositeDefinition,
                        resourceModel,
                        new CompositeResourceModelBuilderContext());

                    compositeResources.Add(compositeResource);
                }

                var compositesResource = compositeResources.First(c => c.Name.Equals("BaseAssessmentUnflattenedEmbeddedObject"));

                _embeddedObject = compositesResource.EmbeddedObjects.First(e => e.PropertyName.Equals("AssessmentContentStandard"));
            }
            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);
            }
Ejemplo n.º 3
0
        public static void BeforeCompositeResourceModelFeature()
        {
            // Ensure that the assembly containing the composites metadata has been loaded
            AssemblyLoader.EnsureLoaded <Marker_EdFi_Ods_Composites_Test>();

            var compositeMetadataProvider = new CompositesMetadataProvider();

            FeatureContext.Current.Set(compositeMetadataProvider, FeatureContextKeys.CompositesMetadataProvider);

            var domainModel =
                _startup.InternalContainer.Resolve <IDomainModelProvider>()
                .GetDomainModel();

            var resourceModel = new ResourceModel(domainModel);

            var resourceModelBuilderCompositeProcessor =
                new CompositeDefinitionProcessor <CompositeResourceModelBuilderContext, Resource>(new CompositeResourceModelBuilder());

            FeatureContext.Current.Set(resourceModel, FeatureContextKeys.ResourceModel);
            FeatureContext.Current.Set(resourceModelBuilderCompositeProcessor, FeatureContextKeys.CompositeDefinitionProcessor);
        }