Beispiel #1
0
        public void RunMigrationScriptError_Test()
        {
            bool executed = false;

            UnityCache.RegisterInstance <IFaustAccessor>(new Fakes.StubIFaustAccessor
            {
                ExecuteSqlCommandStringUserContext = (command, userContext) =>
                {
                    executed = true;
                    throw new Exception();
                }
            });

            FaustMigrationScript script = new FaustMigrationScript
            {
                ReleaseNumber = 1,
                ScriptName    = "UnitTestScript",
                Commands      = new string[] { "Command 1" }
            };

            FaustMigrationHistory result = new FaustEngine().RunMigrationScript(script, new UserContext());

            Assert.IsTrue(executed);
            Assert.IsFalse(result.Successful.Value);
            Assert.IsNotNull(result);
        }
Beispiel #2
0
        public void GetReleaseMigrationScripts_TestFindOne()
        {
            bool foundMany = false;

            UnityCache.RegisterInstance <IFaustMigrationsHistoryAccessor>(new Fakes.StubIFaustMigrationsHistoryAccessor
            {
                FindManyFaustMigrationHistoryUserContext = (history, userContext) => {
                    foundMany = true;
                    return(new FaustMigrationHistory[] {});
                }
            });

            DirectoryInfo releaseDir = new DirectoryInfo(@"..\..\migrations\UnitTest\001");

            FaustMigrationScript[] results = new FaustEngine().GetReleaseMigrationScripts(releaseDir, new UserContext());

            Assert.IsTrue(foundMany);
            Assert.AreEqual(1, results.Length);
        }