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); }
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); }
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); }
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); }
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); }
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); }