public when_generating_a_table_for_soft_deletes()
        {
            var mapping = DocumentMapping.For<Target>();
            mapping.DeleteStyle = DeleteStyle.SoftDelete;

            var schemaObjects = new DocumentSchemaObjects(mapping);

            theTable = schemaObjects.StorageTable();
        }
        public when_generating_a_table_for_soft_deletes()
        {
            var mapping = DocumentMapping.For <Target>();

            mapping.DeleteStyle = DeleteStyle.SoftDelete;

            var schemaObjects = new DocumentSchemaObjects(mapping);

            theTable = schemaObjects.StorageTable();
        }
Exemple #3
0
        public void equivalency_positive_column_name_case_insensitive()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.Column("username").ShouldBeSameAs(table1.Column("UserName"));

            table2.ShouldBe(table1);
        }
Exemple #4
0
        public void equivalency_negative_column_type_changed()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.ReplaceOrAddColumn(table2.PrimaryKey.Name, "int", table2.PrimaryKey.Directive);

            table2.ShouldNotBe(table1);
        }
Exemple #5
0
        public void equivalency_negative_different_numbers_of_columns()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.Columns.Add(new TableColumn("user_name", "character varying"));

            table2.ShouldNotBe(table1);
        }
Exemple #6
0
        public void equivalency_positive()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var table1 = users.StorageTable();
            var table2 = users.StorageTable();

            table2.ShouldBe(table1);
            table1.ShouldBe(table2);
            table1.ShouldNotBeSameAs(table2);
        }
Exemple #7
0
        public void perfect_match()
        {
            var users    = DocumentSchemaObjects.For <User>();
            var actual   = users.StorageTable();
            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matches.ShouldBeTrue();
        }
Exemple #8
0
        public void can_match_up_on_columns()
        {
            var users    = DocumentSchemaObjects.For <User>();
            var actual   = users.StorageTable();
            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matched.OrderBy(x => x.Name).Select(x => x.Name)
            .ShouldHaveTheSameElementsAs("data", "id", DocumentMapping.DotNetTypeColumn, DocumentMapping.LastModifiedColumn, DocumentMapping.VersionColumn);
        }
Exemple #9
0
        public void not_matching_with_columns_of_same_name_that_are_different()
        {
            var users  = DocumentSchemaObjects.For <User>();
            var actual = users.StorageTable();

            actual.ReplaceOrAddColumn("id", "int");

            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matches.ShouldBeFalse();

            diff.Different.Single().Name.ShouldBe("id");
        }
Exemple #10
0
        public void not_matching_with_extra_columns()
        {
            var users       = DocumentSchemaObjects.For <User>();
            var actual      = users.StorageTable();
            var tableColumn = new TableColumn("new", "varchar");

            actual.Columns.Add(tableColumn);

            var expected = users.StorageTable();

            var diff = new TableDiff(expected, actual);

            diff.Matches.ShouldBeFalse();
            diff.Extras.Single().ShouldBe(tableColumn);
        }
        public void can_do_substitutions()
        {
            var mapping = DocumentMapping.For <User>();

            mapping.Duplicate(x => x.FirstName);


            var users = new DocumentSchemaObjects(mapping);

            var table = users.StorageTable();

            table.BuildTemplate($"*{DdlRules.SCHEMA}*").ShouldBe($"*{table.Table.Schema}*");
            table.BuildTemplate($"*{DdlRules.TABLENAME}*").ShouldBe($"*{table.Table.Name}*");
            table.BuildTemplate($"*{DdlRules.COLUMNS}*").ShouldBe($"*id, data, mt_last_modified, mt_version, mt_dotnet_type, first_name*");
            table.BuildTemplate($"*{DdlRules.NON_ID_COLUMNS}*").ShouldBe($"*data, mt_last_modified, mt_version, mt_dotnet_type, first_name*");

            table.BuildTemplate($"*{DdlRules.METADATA_COLUMNS}*").ShouldBe("*mt_last_modified, mt_version, mt_dotnet_type*");
        }
        public void can_do_substitutions()
        {
            var mapping = DocumentMapping.For<User>();
            mapping.Duplicate(x => x.FirstName);


            var users = new DocumentSchemaObjects(mapping);
            
            var table = users.StorageTable();

            table.BuildTemplate($"*{DdlRules.SCHEMA}*").ShouldBe($"*{table.Table.Schema}*");
            table.BuildTemplate($"*{DdlRules.TABLENAME}*").ShouldBe($"*{table.Table.Name}*");
            table.BuildTemplate($"*{DdlRules.COLUMNS}*").ShouldBe($"*id, data, mt_last_modified, mt_version, mt_dotnet_type, first_name*");
            table.BuildTemplate($"*{DdlRules.NON_ID_COLUMNS}*").ShouldBe($"*data, mt_last_modified, mt_version, mt_dotnet_type, first_name*");

            table.BuildTemplate($"*{DdlRules.METADATA_COLUMNS}*").ShouldBe("*mt_last_modified, mt_version, mt_dotnet_type*");
        }