Example #1
0
        public void Update_Database_Runs_New_Everytime_Script()
        {
            //arrange
            string scriptsDirectory = Path.Combine("Scripts", GetType().Name.Replace("Tester", ""));

            string scriptFileMd5 = ChangeScriptExecutor.GetFileMD5Hash(Path.Combine(scriptsDirectory, "Everytime", "TestScript.sql"));
            var    settings      = new ConnectionSettings(".\\sqlexpress", "aliasqltest", true, null, null);

            new ConsoleAliaSQL().UpdateDatabase(settings, scriptsDirectory, RequestedDatabaseAction.Drop);

            //act
            bool success = new ConsoleAliaSQL().UpdateDatabase(settings, scriptsDirectory, RequestedDatabaseAction.Update);

            //assert
            int records = 0;

            DatabaseIntegrationHelpers.AssertUsdAppliedDatabaseScriptTable(settings, reader =>
            {
                while (reader.Read())
                {
                    records++;
                    reader["ScriptFile"].ShouldEqual("TestScript.sql");
                    reader["hash"].ShouldEqual(scriptFileMd5);
                }
            });

            success.ShouldEqual(true);
            records.ShouldEqual(1);
        }
Example #2
0
        public void Rebuild_Missing_Database_Generates_Database()
        {
            //arrange
            string scriptsDirectory = Path.Combine("Scripts",
                                                   GetType().Name.Replace("Tester", string.Empty));

            var settings = new ConnectionSettings(".\\sqlexpress", "aliasqltest", true, null, null);

            var aliaConsole = new ConsoleAliaSQL();

            //act
            //database should not exist
            DropDatabaseIfExists(settings, scriptsDirectory);

            //assert
            aliaConsole.UpdateDatabase(settings, scriptsDirectory, RequestedDatabaseAction.Rebuild).ShouldBeTrue();

            int records = 0;

            DatabaseIntegrationHelpers.AssertUsdAppliedDatabaseScriptTable(settings, reader =>
            {
                while (reader.Read())
                {
                    records++;
                    reader["ScriptFile"].ShouldEqual("TestScript.sql");
                }
            });

            records.ShouldEqual(1);

            DropDatabaseIfExists(settings, scriptsDirectory);
        }