Ejemplo n.º 1
0
        /// <summary>
        /// Asserts the table does exist.
        /// </summary>
        /// <param name="name">The name of the table.</param>
        protected void AssertTableExists(string name)
        {
            var syntax = new MsSqlDbmsSyntax();
            var schema = this.ExecuteScalar <int>(syntax.TableExists(name));

            schema.Should().BeGreaterThan(0);
        }
Ejemplo n.º 2
0
        public void ShouldInsertBeginAndEndTransactionStatementsForEachDelta()
        {
            const string deltaScriptContent = @"foo bar";

            using (StreamWriter stream = script.GetFile().CreateText())
                stream.Write(deltaScriptContent);

            StringWriter         writer   = new StringWriter();
            MsSqlDbmsSyntax      syntax   = new MsSqlDbmsSyntax("changeOwner");
            ChangeScriptExecuter executer = new ChangeScriptExecuter(writer, syntax, true);

            executer.ApplyChangeDoScript(script);

            string deltaFragment = writer.ToString();


            System.Console.Write(deltaFragment);

            string expectedBegin = syntax.GenerateBeginTransaction();
            int    startOfBegin  = deltaFragment.IndexOf(deltaScriptContent) - expectedBegin.Length - Environment.NewLine.Length;
            string resultBegin   = deltaFragment.Substring(startOfBegin, expectedBegin.Length);

            Assert.AreEqual(expectedBegin, resultBegin);

            string expectedCommit = syntax.GenerateCommitTransaction();
            int    startOfCommit  = deltaFragment.IndexOf(deltaScriptContent) + deltaScriptContent.Length + Environment.NewLine.Length;
            string resultCommit   = deltaFragment.Substring(startOfCommit, expectedCommit.Length);

            Assert.AreEqual(expectedCommit, resultCommit);
        }
Ejemplo n.º 3
0
        public void ShouldNotInsertBeginOrEndTransactionStatementIfPropertyIsNotSet()
        {
            const string deltaScriptContent = @"foo bar";

            using (StreamWriter stream = script.GetFile().CreateText())
                stream.Write(deltaScriptContent);

            StringWriter         writer   = new StringWriter();
            MsSqlDbmsSyntax      syntax   = new MsSqlDbmsSyntax("changeOwner");
            ChangeScriptExecuter executer = new ChangeScriptExecuter(writer, syntax, false);

            executer.ApplyChangeDoScript(script);

            string deltaFragment = writer.ToString();

            System.Console.Write(deltaFragment);

            int beingIndex = deltaFragment.IndexOf(syntax.GenerateBeginTransaction());

            Assert.AreEqual(-1, beingIndex);

            int endIndex = deltaFragment.IndexOf(syntax.GenerateCommitTransaction());

            Assert.AreEqual(-1, endIndex);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Asserts the table does exist.
        /// </summary>
        /// <param name="name">The name of the table.</param>
        private void AssertTableExists(string name)
        {
            var syntax = new MsSqlDbmsSyntax();
            var schema = this.ExecuteScalar <string>(syntax.TableExists(name));

            Assert.IsNotEmpty(schema, "'{0}' table was not created.", name);
        }