public void InstallLibraryFromLegacyScript() {
     var path = EnvironmentInfo.ResolvePath("@repos@/qorpent.sys/Qorpent.Data/Old.Comdiv.Sql.Functions.sql");
     var task = new ScriptFileDbUpdateTask(path);
     task.Database = "AssemblyInstallTest";
     task.Execute();
     if (null != task.Error) {
         Console.WriteLine(task.Error.ToString());
     }
     Assert.AreEqual(TaskState.Success, task.State);
 }
示例#2
0
 public void CanExecuteWithInterpolationsAndParameters() {
     File.WriteAllText(file, "select @x ${command}");
     var t = new ScriptFileDbUpdateTask(file) {Database = DbName};
     t["x"] = 1;
     t["command"] = "print '1 executed'";
     t.Execute();
     if (null != t.Error) {
         Console.WriteLine(t.Error);
     }
     Assert.AreEqual(TaskState.Success, t.State);
 }
示例#3
0
 public void CanExecute() {
     File.WriteAllText(file, "select 1 print '1 selected'");
     var t = new ScriptFileDbUpdateTask(file) {Database = DbName};
     t.Execute();
     if (null != t.Error) {
         Console.WriteLine(t.Error);
     }
     Assert.AreEqual(TaskState.Success, t.State);
     t.Refresh();
     Assert.AreEqual(t.Target.Hash, t.Source.Hash);
     var diff = Math.Floor((t.Target.Version - t.Source.Version).TotalSeconds);
     Assert.LessOrEqual(diff, 1);
 }
示例#4
0
 public void WillApplyNewerVersion() {
     File.WriteAllText(file, "select 1 print '1 selected'");
     var t = new ScriptFileDbUpdateTask(file) {Database = DbName};
     t.Execute();
     Assert.AreEqual(TaskState.Success, t.State);
     File.WriteAllText(file, "select 2 print '2 selected'");
     t = new ScriptFileDbUpdateTask(file) {Database = DbName};
     t.Execute();
     Assert.AreEqual(TaskState.Success, t.State);
 }
示例#5
0
 public void CanUseGit() {
     GitHelper.Init(dir);
     File.WriteAllText(file, "select 1 print '1 selected'");
     GitHelper.CommitAll(dir);
     //   Console.WriteLine(GitHelper.GetLastCommit(file).Hash);
     var t = new ScriptFileDbUpdateTask(file) {Database = DbName};
     t.Execute();
     Assert.AreEqual(TaskState.Success, t.State);
     //  Console.WriteLine(t.GetLastLog());
     File.WriteAllText(file, "select 2 print '2 selected'");
     t = new ScriptFileDbUpdateTask(file) {Database = DbName};
     t.Execute();
     Assert.AreEqual(TaskState.SuccessNotRun, t.State);
     GitHelper.CommitAll(dir);
     //   Console.WriteLine(GitHelper.GetLastCommit(file).Hash);
     t = new ScriptFileDbUpdateTask(file) {Database = DbName};
     t.Execute();
     Assert.AreEqual(TaskState.Success, t.State);
 }
示例#6
0
        public void CanUseHeader() {
            File.WriteAllText(file, @"
/*!
options runonce=1
*/
select 1 print '1 selected'
");
            var t = new ScriptFileDbUpdateTask(file) {Database = DbName};
            t.Execute();
            Assert.AreEqual(TaskState.Success, t.State);
            File.WriteAllText(file, @"
--!options runonce=1
select 2 print '2 selected'
");
            t = new ScriptFileDbUpdateTask(file) {Database = DbName};
            t.Execute();
            Assert.AreEqual(TaskState.SuccessOnce, t.State);
        }