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); }
private static SchemaNameMapProvider GetSchemaNameMapProvider(string logicalSchemaName, string physicalSchemaName) { var domainModelDefinitionsProvider = A.Fake <IDomainModelDefinitionsProvider>(); A.CallTo(() => domainModelDefinitionsProvider.GetDomainModelDefinitions()) .Returns( new DomainModelDefinitions( new SchemaDefinition(logicalSchemaName, physicalSchemaName), new AggregateDefinition[0], new EntityDefinition[0], new AssociationDefinition[0])); // Add a second schema to demonstrate correct matching with multiple schema entries var domainModelDefinitionsProvider2 = A.Fake <IDomainModelDefinitionsProvider>(); A.CallTo(() => domainModelDefinitionsProvider2.GetDomainModelDefinitions()) .Returns( new DomainModelDefinitions( new SchemaDefinition("AnotherSchema", "another"), new AggregateDefinition[0], new EntityDefinition[0], new AssociationDefinition[0])); var schemaDefinitions = new DomainModelProvider( new[] { domainModelDefinitionsProvider, domainModelDefinitionsProvider2 }) .GetDomainModel() .Schemas; return(new SchemaNameMapProvider(schemaDefinitions)); }
protected override void Act() { IDomainModelProvider domainModelProvider = new DomainModelProvider( new[] { _domainModelDefinitionsProvider }); _domainModel = domainModelProvider.GetDomainModel(); }
public void Should_be_a_valid_swagger_document_for_each_extension_schema_in_the_domain_model() { var extensionUriSegments = DomainModelProvider.GetDomainModel() .Schemas.Select( d => _schemaNameMapProvider.GetSchemaMapByLogicalName(d.LogicalName) .UriSegment) .Where( s => !s.Equals(EdFiConventions.UriSegment)); Assert.That(_actualMetadata.Select(m => m.Name), Is.EquivalentTo(extensionUriSegments)); }
protected override void Act() { var domainModel = new DomainModelProvider( new IDomainModelDefinitionsProvider[] { new DomainModelDefinitionsProvider(), new EdFiDomainModelDefinitionsProvider() }).GetDomainModel(); ExtensionsConventions.GetAggregateExtensionMemberName( domainModel.Entities.FirstOrDefault(e => e.Name == "StaffLeaveExtension")); }
protected override void Act() { _expectedResult = "TestExtension_StaffLeaveReasons"; var domainModel = new DomainModelProvider( new IDomainModelDefinitionsProvider[] { new DomainModelDefinitionsProvider(), new EdFiDomainModelDefinitionsProvider() }).GetDomainModel(); _actualResult = ExtensionsConventions.GetAggregateExtensionMemberName( domainModel.Entities.FirstOrDefault(e => e.Name == "StaffLeaveReason")); }
protected override void Act() { var domainModel = new DomainModelProvider( new IDomainModelDefinitionsProvider[] { new DomainModelDefinitionsProvider(), new EdFiDomainModelDefinitionsProvider() }).GetDomainModel(); _entity = domainModel.Entities.First(e => e.Name == _entityName); _expectedResult = $"{Namespaces.Entities.NHibernate.BaseNamespace}.{_entity.Aggregate.AggregateRoot.Name}Aggregate.{_extensionPropercaseName}.{_entity.Name}"; _actualResult = _entity.EntityTypeFullName(_extensionPropercaseName); }
protected override void Act() { var domainModel = new DomainModelProvider( new IDomainModelDefinitionsProvider[] { new DomainModelDefinitionsProvider(), new EdFiDomainModelDefinitionsProvider() }).GetDomainModel(); _staffLeaveEntity = domainModel.Entities.First(e => e.Name == "StaffLeave"); _expectedResult = $"{Namespaces.Entities.NHibernate.BaseNamespace}.{_staffLeaveEntity.Name}Aggregate.{EdFiConventions.ProperCaseName}.{_staffLeaveEntity.Name}"; _actualResult = _staffLeaveEntity.EntityTypeFullName(EdFiConventions.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); }
internal static Resource_Resource GetTestResourceForWithAnExtension() { IDomainModelDefinitionsProvider domainCoreDefinitionProvider = BuildCoreModelEntityDefinitionsProvider(); IDomainModelDefinitionsProvider extensionDefinitionProvider = BuildTestExtensionDefinitionsProvider(); List <IDomainModelDefinitionsProvider> providerList = new List <IDomainModelDefinitionsProvider> { domainCoreDefinitionProvider, extensionDefinitionProvider }; DomainModelProvider ddm = new DomainModelProvider(providerList); var domainModel = ddm.GetDomainModel(); var resourceModel = new ResourceModel(domainModel); var resource = resourceModel.GetResourceByFullName(new FullName(EdFiConventions.PhysicalSchemaName, "CoreEntity")); // force the Lazy-initialization to execute (it will be easier to debug). var extensions = resource.Extensions; return(resource); }