public void CanSearchForFilesFromNotExistDirectory()
        {
            var writer = new StringWriter();
            var directoryScanner = new DirectoryScanner(writer, Encoding.UTF8, new DirectoryInfo(@"Mocks\NotExistDirectory"));

            List<ChangeScript> changeScripts = directoryScanner.GetChangeScripts();

            Assert.IsNotNull(changeScripts, "Change scripts should not be null.");
            Assert.AreEqual(changeScripts.Count, 0, "Needs no change scripts where found.");
        }
Beispiel #2
0
        public void CanSearchForFilesFromNotExistDirectory()
        {
            var writer           = new StringWriter();
            var directoryScanner = new DirectoryScanner(writer, Encoding.UTF8, new DirectoryInfo(@"Mocks\NotExistDirectory"));

            List <ChangeScript> changeScripts = directoryScanner.GetChangeScripts();

            Assert.IsNotNull(changeScripts, "Change scripts should not be null.");
            Assert.AreEqual(changeScripts.Count, 0, "Needs no change scripts where found.");
        }
        public void ShouldApplySqlCmdModeScripts()
        {
            var directoryScanner = new DirectoryScanner(System.Console.Out, Encoding.UTF8, new DirectoryInfo(@"Mocks\Versioned\v2.0.10.0"));

            var changeScripts = directoryScanner.GetChangeScripts();
            this.sqlCmdApplier.Apply(changeScripts, true);

            this.AssertTableExists(ChangeLogTableName);
            this.AssertTableExists("Customer");

            var changeCount = this.ExecuteScalar<int>("SELECT COUNT(*) FROM {0}", ChangeLogTableName);
            Assert.AreEqual(changeScripts.Count, changeCount, "Not all change scripts where applied.");
        }
        public void CanReadFilesFromSubDirectories()
        {
            var writer = new StringWriter();
            var directoryScanner = new DirectoryScanner(writer, Encoding.UTF8, new DirectoryInfo(@"Mocks\Versioned"));
            
            List<ChangeScript> changeScripts = directoryScanner.GetChangeScripts();
            
            Assert.IsNotNull(changeScripts, "Change scripts should not be null.");
            Assert.Greater(changeScripts.Count, 0, "No change scripts where found.");

            VerifyChangeScript(changeScripts, "2.0.0.0", 8, "8.Create Product Table.sql");
            VerifyChangeScript(changeScripts, "2.0.0.0", 9, "09.Add Product Data.sql");
            VerifyChangeScript(changeScripts, "2.0.0.0", 10, "10.Add Sold Column.sql");
            VerifyChangeScript(changeScripts, "v2.0.10.0", 1, "1.SQLCMD Add Customer Table.sql");
            VerifyChangeScript(changeScripts, "v2.0.10.0", 2, "2.SQLCMD Add Email Column Table.sql");
            VerifyChangeScript(changeScripts, "v2.0.10.0", 3, "3.SQLCMD Add Customer Data.sql");
        }
Beispiel #5
0
        public void CanReadFilesFromSubDirectories()
        {
            var writer           = new StringWriter();
            var directoryScanner = new DirectoryScanner(writer, Encoding.UTF8, new DirectoryInfo(@"Mocks\Versioned"));

            List <ChangeScript> changeScripts = directoryScanner.GetChangeScripts();

            Assert.IsNotNull(changeScripts, "Change scripts should not be null.");
            Assert.Greater(changeScripts.Count, 0, "No change scripts where found.");

            VerifyChangeScript(changeScripts, "2.0.0.0", 8, "8.Create Product Table.sql");
            VerifyChangeScript(changeScripts, "2.0.0.0", 9, "09.Add Product Data.sql");
            VerifyChangeScript(changeScripts, "2.0.0.0", 10, "10.Add Sold Column.sql");
            VerifyChangeScript(changeScripts, "v2.0.10.0", 1, "1.SQLCMD Add Customer Table.sql");
            VerifyChangeScript(changeScripts, "v2.0.10.0", 2, "2.SQLCMD Add Email Column Table.sql");
            VerifyChangeScript(changeScripts, "v2.0.10.0", 3, "3.SQLCMD Add Customer Data.sql");
        }
        public void ShouldThrowExceptionOnScriptFailure()
        {
            var directoryScanner = new DirectoryScanner(System.Console.Out, Encoding.UTF8,
                                                        new DirectoryInfo(@"Mocks\Failures"));

            // Duplicate the first script to cause a failure.
            var changeScripts = directoryScanner.GetChangeScripts();

            try
            {
                this.sqlCmdApplier.Apply(changeScripts, true);
                Assert.Fail("Apply did not thrown and error.");
            }
            catch (DbDeployException)
            {
            }

            var changeCount = this.ExecuteScalar<int>("SELECT COUNT(*) FROM {0}", ChangeLogTableName);
            Assert.AreEqual(2, changeCount, "Only two scripts should have run.");
        }