Example #1
0
        public void ProcessBuildTest_RollbackWithThreeRetries()
        {
            Initialization init = GetInitializationObject();

            init.TableLockingLoopCount = 10000000;
            SqlSyncBuildData buildData = init.CreateSqlSyncSqlBuildDataObject();

            init.AddScriptForProcessBuild(ref buildData, true, 1);

            SqlBuildHelper  target  = init.CreateSqlBuildHelper(buildData);
            SqlBuildRunData runData = init.GetSqlBuildRunData_TransactionalNotTrial(buildData);

            BackgroundWorker      bgWorker        = init.GetBackgroundWorker();
            DoWorkEventArgs       e               = new DoWorkEventArgs(null);
            string                serverName      = init.serverName;
            bool                  isMultiDbRun    = false;
            ScriptBatchCollection scriptBatchColl = init.GetScriptBatchCollectionForProcessBuild();
            int allowableTimeoutRetries           = 3;

            Thread THRInfinite = null;

            try
            {
                THRInfinite = new Thread(new ParameterizedThreadStart(StartInfiniteLockingThread));
                THRInfinite.Start(init);

                string expected = BuildItemStatus.RolledBackAfterRetries;
                SqlSyncBuildData.BuildRow actual;
                actual = target.ProcessBuild(runData, bgWorker, e, serverName, isMultiDbRun, scriptBatchColl, allowableTimeoutRetries);
                Assert.AreEqual(expected, actual.FinalStatus);
            }
            finally
            {
                if (THRInfinite != null)
                {
                    THRInfinite.Interrupt();
                }
            }
        }
Example #2
0
        public void ProcessBuildTest_CommitWithRetriesNotUsed()
        {
            Initialization   init      = GetInitializationObject();
            SqlSyncBuildData buildData = init.CreateSqlSyncSqlBuildDataObject();

            init.AddScriptForProcessBuild(ref buildData, true, 20);

            SqlBuildHelper        target          = init.CreateSqlBuildHelper(buildData);
            SqlBuildRunData       runData         = init.GetSqlBuildRunData_TransactionalNotTrial(buildData);
            BackgroundWorker      bgWorker        = init.GetBackgroundWorker();
            DoWorkEventArgs       e               = new DoWorkEventArgs(null);
            string                serverName      = init.serverName;
            bool                  isMultiDbRun    = false;
            ScriptBatchCollection scriptBatchColl = init.GetScriptBatchCollectionForProcessBuild();
            int allowableTimeoutRetries           = 3;

            string expected = BuildItemStatus.Committed;

            SqlSyncBuildData.BuildRow actual;
            actual = target.ProcessBuild(runData, bgWorker, e, serverName, isMultiDbRun, scriptBatchColl, allowableTimeoutRetries);
            Assert.AreEqual(expected, actual.FinalStatus);
        }