protected override void Act()
            {
                var profileDefinition = XElement.Parse(
                    @"
<Profile name='Profile1'>
    <Resource name='TestEntity1' logicalSchema='SchemaName'>
        <ReadContentType memberSelection='IncludeOnly'>
            <Property name='StringProperty1' />
        </ReadContentType>
        <WriteContentType memberSelection='IncludeOnly'>
            <Property name='DateProperty1' />
        </WriteContentType>
    </Resource>
    <Resource name='TestEntity2' logicalSchema='SchemaName'>
        <ReadContentType memberSelection='IncludeOnly'>
            <Property name='StringProperty1' />
        </ReadContentType>
    </Resource>
    <Resource name='TestEntity3' logicalSchema='SchemaName'>
        <WriteContentType memberSelection='IncludeOnly'>
            <Property name='DateProperty1' />
        </WriteContentType>
    </Resource>
</Profile>");

                _actualProfileResourceModel = new ProfileResourceModel(GetTestResourceModel(), profileDefinition);
            }
            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()
            {
                _swaggerDocumentContext =
                    new SwaggerDocumentContext(
                        ResourceModelProvider.GetResourceModel())
                {
                    ProfileContext = new SwaggerProfileContext
                    {
                        ProfileName = "Test-ParentNonAbstractBaseClass-ExcludeOnly"
                    },
                    RenderType = RenderType.GeneralizedExtensions
                };

                string profileDefinition = @"<Profile name='Test-ParentNonAbstractBaseClass-ExcludeOnly'>
                                                <Resource name='StudentSpecialEducationProgramAssociation'>
                                                  <ReadContentType memberSelection='ExcludeOnly'>
                                                    <Property name='SpecialEducationHoursPerWeek'/>
                                                  </ReadContentType>
                                                  <WriteContentType memberSelection='IncludeAll'/>
                                                </Resource>
                                                <Resource name='StudentProgramAssociation'>
                                                  <ReadContentType memberSelection='IncludeOnly'/>
                                                </Resource>
                                              </Profile>";

                var profileResourceModel =
                    new ProfileResourceModel(
                        ResourceModelProvider.GetResourceModel(),
                        XElement.Parse(profileDefinition));

                var readableResourceModel =
                    profileResourceModel.ResourceByName.Values.Where(r => r.Readable != null);

                var writableResourceModel =
                    profileResourceModel.ResourceByName.Values.Where(r => r.Writable != null);

                _swaggerResources = readableResourceModel
                                    .Select(
                    r => new SwaggerResource(r.Readable)
                {
                    Name =
                        $"{CompositeTermInflector.MakeSingular(r.Readable.Name)}_{ContentTypeUsage.Readable}"
                        .ToCamelCase(),
                    Readable = true, IsProfileResource = true
                })
                                    .Concat(
                    writableResourceModel.Select(
                        r => new SwaggerResource(r.Writable)
                {
                    Name =
                        $"{CompositeTermInflector.MakeSingular(r.Writable.Name)}_{ContentTypeUsage.Writable}"
                        .ToCamelCase(),
                    Writable = true, IsProfileResource = true
                }
                        ))
                                    .ToList();
            }
            protected override void Arrange()
            {
                _openApiMetadataDocumentContext =
                    new OpenApiMetadataDocumentContext(ResourceModelProvider.GetResourceModel())
                    {
                        ProfileContext = new OpenApiMetadataProfileContext()
                    };

                string profileDefinition =
                    @"<Profile name='Test-ParentNonAbstractBaseClass-ExcludeOnly'> <Resource name='StudentSpecialEducationProgramAssociation'> <ReadContentType memberSelection='ExcludeOnly'> <Property name='SpecialEducationHoursPerWeek'/> </ReadContentType> <WriteContentType memberSelection='IncludeAll'/> </Resource> <Resource name='Staff'> <ReadContentType memberSelection='IncludeOnly'> <Extension name='GrandBend'  memberSelection='IncludeOnly' logicalSchema='GrandBend'> <Property name='Tenured'/> </Extension> </ReadContentType> <WriteContentType memberSelection='IncludeAll' /> </Resource> <Resource name='StudentProgramAssociation'> <ReadContentType memberSelection='IncludeOnly'/> </Resource> </Profile>";

                var profileResourceModel = new ProfileResourceModel(
                    ResourceModelProvider.GetResourceModel(), XElement.Parse(profileDefinition));

                var readableResourceModel = profileResourceModel.ResourceByName.Values.Where(r => r.Readable != null);
                var writableResourceModel = profileResourceModel.ResourceByName.Values.Where(r => r.Writable != null);
                var edFiSchemaPrefix = "edFi";

                _openApiMetadataResources = readableResourceModel
                    .Select(
                        r => new OpenApiMetadataResource(r.Readable)
                        {
                            Name =
                                $"{edFiSchemaPrefix}_{CompositeTermInflector.MakeSingular(r.Readable.Name)}_{ContentTypeUsage.Readable}"
                                    .ToCamelCase(),
                            Readable = true,
                            IsProfileResource = true
                        }).Concat(
                        writableResourceModel.Select(
                            r => new OpenApiMetadataResource(r.Writable)
                            {
                                Name =
                                    $"{edFiSchemaPrefix}_{CompositeTermInflector.MakeSingular(r.Writable.Name)}_{ContentTypeUsage.Writable}"
                                        .ToCamelCase(),
                                Writable = true,
                                IsProfileResource = true
                            })).ToList();
            }
 protected override void Act()
 {
     _actualProfileResourceModel = new ProfileResourceModel(_resourceModel, _profileDefinition);
     _student = _actualProfileResourceModel.GetResourceByName(new FullName("edfi", "Student"));
 }
예제 #6
0
 protected override void Act()
 {
     _actualProfile1ResourceModel = TestSubject.GetProfileResourceModel("Profile1");
     _actualProfile2ResourceModel = TestSubject.GetProfileResourceModel("Profile2");
     var ignored = TestSubject.GetProfileResourceModel("ProfileX");
 }
 protected override void Act()
 {
     _actualProfile1ResourceModel = profileresourceModelProvider.GetProfileResourceModel("Profile1");
     _actualProfile2ResourceModel = profileresourceModelProvider.GetProfileResourceModel("Profile2");
     var ignored = profileresourceModelProvider.GetProfileResourceModel("ProfileX");
 }