Example #1
0
 public static DataTable ExecuteQuery(string databaseName, string queryString)
 {
     using (Database database = new Database())
     {
         if (databaseName != null)
         {
             database.Use(databaseName);
         }
         return(database.ExecuteQuery(queryString));
     }
 }
Example #2
0
 public static void ExecuteNonQuery(string databaseName, string sql)
 {
     using (Database database = new Database())
     {
         if (databaseName != null)
         {
             database.Use(databaseName);
         }
         DbCommand command = database.CreateCommand(sql);
         database.ExecuteNonQuery(command);
         database.Commit();
     }
 }
        public void 指定されたデータをデータベーステーブルに投入できる_Oracle()
        {
            // setup
            Loggi.DebugEnabled = true;

            // when
            fixtureBook.Setup();

            // then
            using (Database database = new Database())
            {
                database.Use("Oracle");
                DataTable table = database.ExecuteQuery("select * from TYPES_TABLE order by ID");
                fixtureBook.Validate(table, "TYPES_TABLE");
            }
        }
        private void 検索列指定をしてデータベーステーブルの状態が予想結果と異なることをチェックできる_Oracle(string column, object value, string valueAsText)
        {
            // setup
            fixtureBook.Setup();
            using (Database database = new Database())
            {
                database.Use("Oracle");
                DbCommand command = database.CreateCommand("update TYPES_TABLE set " + column + "=:" + column + " where Id=2");
                database.AddParameter(command, column, null, value);
                database.ExecuteNonQuery(command);
                database.Commit();
            }

            try
            {
                // when
                fixtureBook.ValidateStorage();
                Assert.Fail("ここにはこない");
            }
            catch (Exception e)
            {
                // then
                string message = e.Message;
                Console.WriteLine(e);
                Console.WriteLine(message);
                Assert.IsTrue(message.IndexOf(column) > -1);
                Assert.IsTrue(message.IndexOf("<" + valueAsText + ">") > -1);
            }
        }
        public void 検索列指定をせずにデータベーステーブルの状態が予想結果と異なることをチェックできる_Oracle()
        {
            // setup
            Loggi.DebugEnabled = true;
            fixtureBook.Setup();
            using (Database database = new Database())
            {
                database.Use("Oracle");
                database.ExecuteNonQuery("update TYPES_TABLE set VARCHAR1='c' where Id=2");
                database.Commit();
            }

            try
            {
                // when
                fixtureBook.ValidateStorage();
                Assert.Fail("ここにはこない");
            }
            catch (Exception e)
            {
                // then
                string message = e.Message;
                Console.WriteLine(message);
                Assert.IsTrue(Regex.IsMatch(message, ".*TYPES_TABLE.*TYPES_TABLE.*"));
                Assert.IsTrue(message.IndexOf("*") > -1);
            }
        }
        public void 指定した検索列が存在しない場合はエラー_Oracle()
        {
            // setup
            Loggi.DebugEnabled = true;
            fixtureBook.Setup();
            using (Database database = new Database())
            {
                database.Use("Oracle");
                database.ExecuteNonQuery("delete from TYPES_TABLE");
                database.Commit();
            }

            try
            {
                // when
                fixtureBook.ValidateStorage();
                Assert.Fail("ここにはこない");
            }
            catch (Exception e)
            {
                // then
                string message = e.Message;
                Console.WriteLine(message);
                Assert.IsTrue(Regex.IsMatch(message, ".*TYPES_TABLE.*TYPES_TABLE.*"));
                Assert.IsTrue(message.IndexOf("*") == -1);
            }
        }
        public void 削除済み指定のデータが存在しない場合は正常終了となるその2_Oracle()
        {
            // setup
            Loggi.DebugEnabled = true;
            fixtureBook.Setup();
            using (Database database = new Database())
            {
                database.Use("Oracle");
                database.ExecuteNonQuery("delete from TYPES_TABLE where ID = 2");
                database.Commit();
            }

            // expect
            fixtureBook.ValidateStorage();
        }