public void Should_set_GeneratedIdProperty() { var sqlMetadata = new SqlMetadata<TestObject>(); Assert.AreEqual("Id", sqlMetadata.GeneratedIdProperty.ColumnName); Assert.AreEqual("Id", sqlMetadata.GeneratedIdProperty.PropertyName); }
public async Task SaveToFileAsync_WithValidSchema_ShouldWriteReadableFile() { // arrange var metadata1 = new SqlMetadata(); var metadata2 = new SqlMetadata(); await metadata1.LoadFromDatabaseAsync(_connectionString); var fileName = Path.GetTempFileName(); // act await metadata1.SaveToFileAsync(fileName); await metadata2.LoadFromFileAsync(fileName); // assert Assert.Equal(metadata1.TablesMetadata.Rows.Count, metadata2.TablesMetadata.Rows.Count); Assert.Equal(metadata1.IndexesMetadata.Rows.Count, metadata2.IndexesMetadata.Rows.Count); Assert.Equal(metadata1.ForeignKeysMetadata.Rows.Count, metadata2.ForeignKeysMetadata.Rows.Count); Assert.Equal(metadata1.CheckConstraintsMetadata.Rows.Count, metadata2.CheckConstraintsMetadata.Rows.Count); Assert.Equal(metadata1.DefaultConstraintsMetadata.Rows.Count, metadata2.DefaultConstraintsMetadata.Rows.Count); Assert.Equal(metadata1.TriggersMetadata.Rows.Count, metadata2.TriggersMetadata.Rows.Count); Assert.Equal(metadata1.ViewsMetadata.Rows.Count, metadata2.ViewsMetadata.Rows.Count); Assert.Equal(metadata1.StoredProceduresMetadata.Rows.Count, metadata2.StoredProceduresMetadata.Rows.Count); Assert.Equal(metadata1.StoredProcedureParametersMetadata.Rows.Count, metadata2.StoredProcedureParametersMetadata.Rows.Count); Assert.Equal(metadata1.FunctionsMetadata.Rows.Count, metadata2.FunctionsMetadata.Rows.Count); Assert.Equal(metadata1.FunctionParametersMetadata.Rows.Count, metadata2.FunctionParametersMetadata.Rows.Count); }
public void Should_set_TreeParentId_property() { var sqlMetadata = new SqlMetadata<TestObjectWithTreeId>(); Assert.IsNotNull(sqlMetadata.TreeParentIdProperty); Assert.AreEqual("ParentId", sqlMetadata.TreeParentIdProperty.ColumnName); Assert.AreEqual("ParentId", sqlMetadata.TreeParentIdProperty.PropertyName); }
public void Should_set_containerIds_property() { var sqlMetadata = new SqlMetadata<TestObjectWithContainerId>(); Assert.IsNotNull(sqlMetadata.ContainerIdProperties); Assert.AreEqual(1, sqlMetadata.ContainerIdProperties.Count); Assert.AreEqual("ParentId", sqlMetadata.ContainerIdProperties[0].ColumnName); Assert.AreEqual("ParentId", sqlMetadata.ContainerIdProperties[0].PropertyName); }
public void Should_create_binary_import_command_excluding_generated_column() { var factory = new BinaryImportCommandFactory(); var metadata = new SqlMetadata<TestObjectWithIdentity>(); var commandString = factory.Create(metadata); const string expectedCommandString = @"COPY ""TestWithIdentity"" (""StringColumn"",""BoolProperty"") FROM STDIN BINARY"; Assert.AreEqual(expectedCommandString, commandString); }
public void WriteAllFiles_WithSqlDatabase_ShouldWriteFiles() { // arrange var connectionString = @"Data Source=(localdb)\MSSQLLocalDB; Initial Catalog=AdventureWorks2016; Integrated Security=True;"; var metadata = new SqlMetadata(); metadata.LoadFromDatabase(connectionString); var database = new SqlDatabase(); database.LoadFromMetadata(metadata); // act // assert }
public async Task LoadFromDatabaseAsync_WithValidConnectionString_ShouldLoadSuccessfully() { // arrange var metadata = new SqlMetadata(); // act await metadata.LoadFromDatabaseAsync(_connectionString); // assert Assert.NotEmpty(metadata.TablesMetadata.Rows); Assert.NotEmpty(metadata.IndexesMetadata.Rows); Assert.NotEmpty(metadata.ForeignKeysMetadata.Rows); Assert.NotEmpty(metadata.CheckConstraintsMetadata.Rows); Assert.NotEmpty(metadata.DefaultConstraintsMetadata.Rows); Assert.NotEmpty(metadata.TriggersMetadata.Rows); Assert.NotEmpty(metadata.ViewsMetadata.Rows); Assert.NotEmpty(metadata.StoredProceduresMetadata.Rows); Assert.NotEmpty(metadata.StoredProcedureParametersMetadata.Rows); Assert.NotEmpty(metadata.FunctionsMetadata.Rows); Assert.NotEmpty(metadata.FunctionParametersMetadata.Rows); }
public async Task LoadFromMetadata_WithPopulatedMetadata_ShouldLoadSuccessfully() { // arrange var database = new SqlDatabase(); var metadata = new SqlMetadata(); await metadata.LoadFromDatabaseAsync(_connectionString); // act database.LoadFromMetadata(metadata); // assert Assert.Equal(new SqlConnectionStringBuilder(_connectionString).InitialCatalog, database.Name); Assert.NotEmpty(database.Schemas); Assert.NotEmpty(database.Tables); Assert.True(database.Tables.All(x => x.Columns.Any())); Assert.NotEmpty(database.Views); Assert.True(database.Views.All(x => x.Columns.Any())); Assert.NotEmpty(database.Indexes); Assert.True(database.Indexes.All(x => x.KeyColumns.Any())); Assert.Contains(database.Indexes, x => x.IncludedColumns.Any()); Assert.NotEmpty(database.ForeignKeys); Assert.True(database.ForeignKeys.All(x => x.Columns.Any())); Assert.True(database.ForeignKeys.All(x => x.PrimaryKey != null)); Assert.NotEmpty(database.CheckConstraints); Assert.True(database.CheckConstraints.All(x => x.Column != null)); Assert.NotEmpty(database.DefaultConstraints); Assert.True(database.DefaultConstraints.All(x => x.Column != null)); Assert.NotEmpty(database.Triggers); Assert.NotEmpty(database.StoredProcedures); Assert.NotEmpty(database.Functions); }
public void Should_not_set_containerIds_property() { var sqlMetadata = new SqlMetadata<TestObjectWithoutGeneratedColumn>(); Assert.AreEqual(0, sqlMetadata.ContainerIdProperties.Count); }
public void Should_not_set_GeneratedIdProperty() { var sqlMetadata = new SqlMetadata<TestObjectWithoutGeneratedColumn>(); Assert.IsNull(sqlMetadata.GeneratedIdProperty); }
public void Should_set_TableName() { var sqlMetadata = new SqlMetadata<TestObject>(); Assert.AreEqual("TestObjectTableName", sqlMetadata.TableName); }
public void Should_set_AllProperites() { var sqlMetadata = new SqlMetadata<TestObject>(); Assert.AreEqual(4, sqlMetadata.AllProperties.Count); }