protected override void Arrange() { _assemblyData = new AssemblyData { AssemblyName = "testAssembly", Path = "testFolder", TemplateSet = "standard", IsExtension = false, IsProfile = true, SchemaName = EdFiConventions.ProperCaseName }; var domainModelDefinition = new DomainModelDefinitions { SchemaDefinition = new SchemaDefinition("Ed-Fi", "edfi") }; var domainModelDefinitionsProvider = Stub <IDomainModelDefinitionsProvider>(); A.CallTo(() => domainModelDefinitionsProvider.GetDomainModelDefinitions()) .Returns(domainModelDefinition); _domainModelDefinitionsProviders = new[] { domainModelDefinitionsProvider }; _domainModelDefinitionsProviderProvider = Stub <IDomainModelDefinitionsProviderProvider>(); A.CallTo(() => _domainModelDefinitionsProviderProvider.DomainModelDefinitionProviders()) .Returns(_domainModelDefinitionsProviders); _templateContextProvider = new TemplateContextProvider(_domainModelDefinitionsProviderProvider); }
protected override void Act() { var domainModelDefinitions = new DomainModelDefinitions( new SchemaDefinition("schema", "schema"), new[] { new AggregateDefinition( new FullName("schema", "Aggregate"), new[] { new FullName("schema", "AChild") }) }, new[] { new EntityDefinition("schema", "Aggregate", new EntityPropertyDefinition[0], new EntityIdentifierDefinition[0]), new EntityDefinition("schema", "AChild", new EntityPropertyDefinition[0], new EntityIdentifierDefinition[0]) }, new AssociationDefinition[0], new AggregateExtensionDefinition[0]); var builder = new DomainModelBuilder( new[] { domainModelDefinitions }); _domainModel = builder.Build(); }
protected override void Arrange() { var jsonFileProvider = A.Fake <IJsonFileProvider>(); var assemblyMetadata = new AssemblyMetadata { AssemblyModelType = TemplateSetConventions.Extension }; A.CallTo(() => jsonFileProvider.Load <AssemblyMetadata>(A <string> .Ignored)).Returns(assemblyMetadata); var domainModelDefinitionsProvider = A.Fake <IDomainModelDefinitionsProvider>(); var domainModelDefinition = new DomainModelDefinitions { SchemaDefinition = new SchemaDefinition("TPDM", "tpdm") }; A.CallTo(() => domainModelDefinitionsProvider.GetDomainModelDefinitions()).Returns(domainModelDefinition); var domainModelDefinitionsProviderProvider = A.Fake <IDomainModelDefinitionsProviderProvider>(); var domainModelDefinitionsByProjectName = new Dictionary <string, IDomainModelDefinitionsProvider> { { "EdFi.Ods.Extensions.TPDM", domainModelDefinitionsProvider } }; A.CallTo( () => domainModelDefinitionsProviderProvider.DomainModelDefinitionsProvidersByProjectName()) .Returns(domainModelDefinitionsByProjectName); _assemblyDataHelper = new AssemblyDataHelper(jsonFileProvider, domainModelDefinitionsProviderProvider); }
private static DomainModelBuilder CreateValidDomainModel() { var entityDefinitions = new[] { new EntityDefinition( "DefinedSchema", "Entity1", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true) }; var associationDefinitions = new AssociationDefinition[] { }; var aggredateDefinitions = new[] { new AggregateDefinition( new FullName("DefinedSchema", "Entity1"), new FullName[] { }) }; // schema names do not match the names on the AggregateDefinition var schemaDefinition = new SchemaDefinition("logicalName", "DefinedSchema"); var modelDefinitions = new DomainModelDefinitions( schemaDefinition, aggredateDefinitions, entityDefinitions, associationDefinitions); var domainModelDefinitionsProvider = MockRepository.GenerateStub <IDomainModelDefinitionsProvider>(); domainModelDefinitionsProvider.Stub(x => x.GetDomainModelDefinitions()) .Return(modelDefinitions); DomainModelBuilder builder = new DomainModelBuilder(); builder.AddDomainModelDefinitionsList( new List <DomainModelDefinitions> { domainModelDefinitionsProvider.GetDomainModelDefinitions() }); return(builder); }
internal void AddDomainModelDefinitions(DomainModelDefinitions domainModelDefinitions) { (domainModelDefinitions.AggregateDefinitions ?? new AggregateDefinition[0]) .ForEach(AddAggregate); (domainModelDefinitions.EntityDefinitions ?? new EntityDefinition[0]) .ForEach(AddEntity); (domainModelDefinitions.AssociationDefinitions ?? new AssociationDefinition[0]) .ForEach(AddAssociation); (domainModelDefinitions.AggregateExtensionDefinitions ?? new AggregateExtensionDefinition[0]) .ForEach(AddAggregateExtension); AddSchema(domainModelDefinitions.SchemaDefinition ?? new SchemaDefinition()); }
protected override void Act() { _domainModelDefinitions = TestSubject.GetDomainModelDefinitions(); }
private static DomainModelBuilder CreateFaultyDomainModel() { var entityDefinitions = new[] { new EntityDefinition( "schema1", "CoreEntity", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), new EntityDefinition( "schema1", "Collection1Item", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true), new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true) }; var associationDefinitions = new[] { new AssociationDefinition( // The line that follows contains bad data new FullName("UndefinedSchemaName", "FK_CoreEntityCollection"), Cardinality.OneToZeroOrMore, new FullName("schema1", "CoreEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new FullName("schema1", "Collection1Item"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, isIdentifying: true, isRequired: true) }; var aggredateDefinitions = new[] { new AggregateDefinition( new FullName("schema1", "CoreEntity"), new[] { new FullName("schema1", "Collection1Item") }) }; // schema names do not match the names on the AggregateDefinition var schemaDefinition = new SchemaDefinition("logicalName", "schema1"); var modelDefinitions = new DomainModelDefinitions( schemaDefinition, aggredateDefinitions, entityDefinitions, associationDefinitions); var domainModelDefinitionsProvider = MockRepository.GenerateStub <IDomainModelDefinitionsProvider>(); domainModelDefinitionsProvider.Stub(x => x.GetDomainModelDefinitions()) .Return(modelDefinitions); DomainModelBuilder builder = new DomainModelBuilder(); builder.AddDomainModelDefinitionsList( new List <DomainModelDefinitions> { domainModelDefinitionsProvider.GetDomainModelDefinitions() }); return(builder); }
protected override void Act() { _domainModelDefinitions = domainmodelprovider.GetDomainModelDefinitions(); }
internal static IDomainModelDefinitionsProvider BuildCoreModelEntityDefinitionsProvider() { var edfiSchema = EdFiConventions.PhysicalSchemaName; var edfiLogicalName = EdFiConventions.LogicalName; var entityDefinitions = new[] { new EntityDefinition( edfiSchema, "CoreEntity", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), new EntityDefinition( edfiSchema, "Collection1Item", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true), new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), new EntityDefinition( edfiSchema, "EmbeddedObject1", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1" }, isPrimary: true) }, true) }; var associationDefinitions = new[] { new AssociationDefinition( new FullName(edfiSchema, "FK_CoreEntityEmbeddedObject"), Cardinality.OneToOne, new FullName(edfiSchema, "CoreEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new FullName(edfiSchema, "EmbeddedObject1"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, isIdentifying: true, isRequired: true), new AssociationDefinition( new FullName(edfiSchema, "FK_CoreEntityCollection"), Cardinality.OneToZeroOrMore, new FullName(edfiSchema, "CoreEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new FullName(edfiSchema, "Collection1Item"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, isIdentifying: true, isRequired: true) }; var aggredateDefinitions = new[] { new AggregateDefinition( new FullName(edfiSchema, "CoreEntity"), new[] { new FullName(edfiSchema, "Collection1Item"), new FullName(edfiSchema, "EmbeddedObject1") }) }; var schemaDefinition = new SchemaDefinition(edfiLogicalName, edfiSchema); var modelDefinitions = new DomainModelDefinitions( schemaDefinition, aggredateDefinitions, entityDefinitions, associationDefinitions); var domainModelDefinitionsProvider = MockRepository.GenerateStub <IDomainModelDefinitionsProvider>(); domainModelDefinitionsProvider.Stub(x => x.GetDomainModelDefinitions()) .Return(modelDefinitions); return(domainModelDefinitionsProvider); }
internal static IDomainModelDefinitionsProvider BuildTestExtensionDefinitionsProvider() { var aggredateDefinitions2 = new[] { new AggregateDefinition( new FullName("ExtensionPhysical", "ExtensionAggregate"), new[] { new FullName("ExtensionPhysical", "ExtensionEntity") }) }; var entityDefinitions2 = new[] { new EntityDefinition( "ExtensionPhysical", "ExtensionAggregate", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), new EntityDefinition( "ExtensionPhysical", "ExtensionEntity", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true) }; var associationDefinitions2 = new[] { new AssociationDefinition( new FullName("ExtensionPhysical", "FK_ExtensionEntity"), Cardinality.OneToOneExtension, new FullName(EdFiConventions.PhysicalSchemaName, "CoreEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new FullName("ExtensionPhysical", "ExtensionEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, isIdentifying: true, isRequired: true) }; var schemaDefinition2 = new SchemaDefinition("Extension-Logical", "ExtensionPhysical"); var modelDefinitions2 = new DomainModelDefinitions( schemaDefinition2, aggredateDefinitions2, entityDefinitions2, associationDefinitions2); var domainModelDefinitionsProvider = MockRepository.GenerateStub <IDomainModelDefinitionsProvider>(); domainModelDefinitionsProvider.Stub(x => x.GetDomainModelDefinitions()) .Return(modelDefinitions2); return(domainModelDefinitionsProvider); }
private static DomainModelBuilder CreateFaultyDomainModel() { var entityDefinitions = new[] { new EntityDefinition( "DefinedSchema", "RootEntity", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), // The line that follows is causing the failure. The 1st value should be "schema1", not "schema2" new EntityDefinition( "UndefinedSchema", "ChildEntity", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true) }; var associationDefinitions = new AssociationDefinition[0]; var aggregateDefinitions = new[] { new AggregateDefinition( new FullName("DefinedSchema", "RootEntity"), new[] { new FullName("UndefinedSchema", "ChildEntity") }) }; var schemaDefinition = new SchemaDefinition("logicalName", "DefinedSchema"); var modelDefinitions = new DomainModelDefinitions( schemaDefinition, aggregateDefinitions, entityDefinitions, associationDefinitions); var domainModelDefinitionsProvider = A.Fake <IDomainModelDefinitionsProvider>(); A.CallTo(() => domainModelDefinitionsProvider.GetDomainModelDefinitions()) .Returns(modelDefinitions); DomainModelBuilder builder = new DomainModelBuilder(); builder.AddDomainModelDefinitionsList( new List <DomainModelDefinitions> { domainModelDefinitionsProvider.GetDomainModelDefinitions() }); return(builder); }
private static DomainModelBuilder CreateValidDomainModel() { var entityDefinitions = new[] { new EntityDefinition( "schema1", "CoreEntity", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), new EntityDefinition( "schema1", "Collection1Item", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true), new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true) }; var associationDefinitions = new[] { new AssociationDefinition( new FullName("schema1", "FK_CoreEntityCollection"), Cardinality.OneToZeroOrMore, new FullName("schema1", "CoreEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new FullName("schema1", "Collection1Item"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, isIdentifying: true, isRequired: true) }; var aggredateDefinitions = new[] { new AggregateDefinition( new FullName("schema1", "CoreEntity"), new[] { new FullName("schema1", "Collection1Item") }) }; // schema names do not match the names on the AggregateDefinition var schemaDefinition = new SchemaDefinition("logicalName", "schema1"); var modelDefinitions = new DomainModelDefinitions( schemaDefinition, aggredateDefinitions, entityDefinitions, associationDefinitions); var domainModelDefinitionsProvider = A.Fake <IDomainModelDefinitionsProvider>(); A.CallTo(() => domainModelDefinitionsProvider.GetDomainModelDefinitions()) .Returns(modelDefinitions); DomainModelBuilder builder = new DomainModelBuilder(); builder.AddDomainModelDefinitionsList( new List <DomainModelDefinitions> { domainModelDefinitionsProvider.GetDomainModelDefinitions() }); return(builder); }
internal static IDomainModelDefinitionsProvider BuildCoreModelEntityDefinitionsProvider() { string schema = "edfi"; var entityDefinitions = new[] { new EntityDefinition( schema, "CoreEntity", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), new EntityDefinition( schema, "Collection1Item", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true), new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1", "KeyProperty2" }, isPrimary: true) }, true), new EntityDefinition( schema, "EmbeddedObject1", new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new[] { new EntityIdentifierDefinition( "PK", new[] { "KeyProperty1" }, isPrimary: true) }, true) }; var associationDefinitions = new[] { new AssociationDefinition( new FullName(schema, "FK_CoreEntityEmbeddedObject"), Cardinality.OneToOne, new FullName(schema, "CoreEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new FullName(schema, "EmbeddedObject1"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, isIdentifying: true, isRequired: true), new AssociationDefinition( new FullName(schema, "FK_CoreEntityCollection"), Cardinality.OneToZeroOrMore, new FullName(schema, "CoreEntity"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, new FullName(schema, "Collection1Item"), new[] { new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true) }, isIdentifying: true, isRequired: true) }; var aggredateDefinitions = new[] { new AggregateDefinition( new FullName(schema, "CoreEntity"), new[] { new FullName(schema, "Collection1Item"), new FullName(schema, "EmbeddedObject1") }) }; var schemaDefinition = new SchemaDefinition(schema, schema); var modelDefinitions = new DomainModelDefinitions( schemaDefinition, aggredateDefinitions, entityDefinitions, associationDefinitions); var domainModelDefinitionsProvider = A.Fake <IDomainModelDefinitionsProvider>(); A.CallTo(() => domainModelDefinitionsProvider.GetDomainModelDefinitions()) .Returns(modelDefinitions); return(domainModelDefinitionsProvider); }