public void APIS_728() { CUBRIDConnection conn = new CUBRIDConnection(); conn.ConnectionString = "server=test-db-server;database=demodb;port=33000;user=dba;password="******"TABLES"); } catch (Exception e) { Assert.AreEqual("The connection is not open!", e.Message); } conn.Open(); DataTable dt_test = conn.GetSchema("TABLES"); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("ReservedWords"); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("Users"); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("Databases"); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("Views"); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("Columns", new String[] { "game", "event_code" }); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("Indexes", new String[] { "nation", "code" }); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("Index_Columns", new String[] { "nation", "pk_nation_code" }); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("FOREIGN_KEYS", new String[] { "game", "fk_game_athlete_code" }); Assert.IsNotNull(dt_test); dt_test = conn.GetSchema("INVALID"); Assert.IsNull(dt_test); conn.Close(); }
public void APIS_727() { CUBRIDConnection conn = new CUBRIDConnection(); conn.ConnectionString = "server=test-db-server;database=demodb;port=33000;user=dba;password="******"The collectionName is specified as null.!", e.Message); } conn.Close(); }
/// <summary> /// Test CUBRIDConnection GetSchema() method /// </summary> private static void Test_ConnectionGetSchema() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = TestCases.connString; conn.Open(); DataTable dt = new DataTable(); dt = conn.GetSchema("USERS"); Debug.Assert(dt.Rows.Count == 2); Debug.Assert(dt.Rows[0]["USERNAME"].ToString() == "DBA"); Debug.Assert(dt.Rows[1]["USERNAME"].ToString() == "PUBLIC"); dt = conn.GetSchema("DATABASES"); Debug.Assert(dt.Rows.Count == 1); Debug.Assert(dt.Rows[0]["CATALOG_NAME"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["SCHEMA_NAME"].ToString() == "demodb"); dt = conn.GetSchema("PROCEDURES"); Debug.Assert(dt.Rows.Count == 0); dt = conn.GetSchema("TABLES", new String[] { "nation" }); Debug.Assert(dt.Rows.Count == 1); Debug.Assert(dt.Rows[0]["TABLE_CATALOG"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["TABLE_SCHEMA"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["TABLE_NAME"].ToString() == "nation"); dt = conn.GetSchema("VIEWS"); Debug.Assert(dt.Columns.Count == 3); Debug.Assert(dt.Columns[0].ColumnName == "VIEW_CATALOG"); Debug.Assert(dt.Columns[1].ColumnName == "VIEW_SCHEMA"); Debug.Assert(dt.Columns[2].ColumnName == "VIEW_NAME"); Debug.Assert(dt.Rows.Count == 0); dt = conn.GetSchema("COLUMNS", new String[] { "game", "event_code" }); Debug.Assert(dt.Rows.Count == 1); Debug.Assert(dt.Rows[0]["TABLE_CATALOG"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["TABLE_SCHEMA"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["TABLE_NAME"].ToString() == "game"); Debug.Assert(dt.Rows[0]["COLUMN_NAME"].ToString() == "event_code"); Debug.Assert((uint)dt.Rows[0]["ORDINAL_POSITION"] == (uint)1); Debug.Assert(dt.Rows[0]["COLUMN_DEFAULT"].ToString() == ""); Debug.Assert((bool)dt.Rows[0]["IS_NULLABLE"] == false); Debug.Assert(dt.Rows[0]["DATA_TYPE"].ToString() == "INTEGER"); Debug.Assert((uint)dt.Rows[0]["NUMERIC_PRECISION"] == (uint)10); Debug.Assert((uint)dt.Rows[0]["NUMERIC_SCALE"] == (uint)0); Debug.Assert((byte)dt.Rows[0]["CHARACTER_SET"] == (byte)0); dt = conn.GetSchema("INDEXES", new String[] { "nation", "code" }); Debug.Assert(dt.Rows.Count == 1); Debug.Assert(dt.Rows[0]["INDEX_CATALOG"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["INDEX_SCHEMA"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["INDEX_NAME"].ToString() == "pk_nation_code"); Debug.Assert(dt.Rows[0]["TABLE_NAME"].ToString() == "nation"); Debug.Assert((bool)dt.Rows[0]["UNIQUE"] == true); Debug.Assert((bool)dt.Rows[0]["REVERSE"] == false); Debug.Assert((bool)dt.Rows[0]["PRIMARY"] == true); Debug.Assert((bool)dt.Rows[0]["FOREIGN_KEY"] == false); Debug.Assert(dt.Rows[0]["DIRECTION"].ToString() == "ASC"); dt = conn.GetSchema("INDEX_COLUMNS", new String[] { "nation", "pk_nation_code" }); Debug.Assert(dt.Rows.Count == 1); Debug.Assert(dt.Rows[0]["INDEX_CATALOG"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["INDEX_SCHEMA"].ToString() == "demodb"); Debug.Assert(dt.Rows[0]["INDEX_NAME"].ToString() == "pk_nation_code"); Debug.Assert(dt.Rows[0]["TABLE_NAME"].ToString() == "nation"); Debug.Assert(dt.Rows[0]["COLUMN_NAME"].ToString() == "code"); Debug.Assert((int)dt.Rows[0]["ORDINAL_POSITION"] == 0); Debug.Assert(dt.Rows[0]["DIRECTION"].ToString() == "ASC"); dt = conn.GetSchema("FOREIGN_KEYS", new String[] { "game", "fk_game_athlete_code" }); Debug.Assert(dt.Rows.Count == 2); Debug.Assert(dt.Rows[0]["PKTABLE_NAME"].ToString() == "event"); Debug.Assert(dt.Rows[0]["PKCOLUMN_NAME"].ToString() == "code"); Debug.Assert(dt.Rows[0]["FKTABLE_NAME"].ToString() == "game"); Debug.Assert(dt.Rows[0]["FKCOLUMN_NAME"].ToString() == "event_code"); Debug.Assert((short)dt.Rows[0]["KEY_SEQ"] == (short)1); Debug.Assert((short)dt.Rows[0]["UPDATE_ACTION"] == (short)1); Debug.Assert((short)dt.Rows[0]["DELETE_ACTION"] == (short)1); Debug.Assert(dt.Rows[0]["FK_NAME"].ToString() == "fk_game_event_code"); Debug.Assert(dt.Rows[0]["PK_NAME"].ToString() == "pk_event_code"); conn.Close(); } }
public void GetSchema_SchemaName_Test() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = DBHelper.connString; conn.Open(); Log("Test GetSchema with specified schema name"); LogTestStep("Test USERS"); DataTable dt = conn.GetSchema("USERS"); if (dt != null) { Assert.AreEqual(2, dt.Rows.Count); Assert.AreEqual("DBA", dt.Rows[0]["USERNAME"].ToString()); Assert.AreEqual("PUBLIC", dt.Rows[1]["USERNAME"].ToString()); LogStepPass(); } else { LogStepFail(); } LogTestStep("Test DATABASES"); dt = conn.GetSchema("DATABASES"); if (dt != null) { Assert.AreEqual(1, dt.Rows.Count); Assert.AreEqual("demodb", dt.Rows[0]["CATALOG_NAME"].ToString()); Assert.AreEqual("demodb", dt.Rows[0]["SCHEMA_NAME"].ToString()); LogStepPass(); } else { LogStepFail(); } LogTestStep("Test VIEWS"); dt = conn.GetSchema("VIEWS"); if (dt != null) { Assert.AreEqual(3, dt.Columns.Count); Assert.AreEqual("VIEW_CATALOG", dt.Columns[0].ColumnName); Assert.AreEqual("VIEW_SCHEMA", dt.Columns[1].ColumnName); Assert.AreEqual("VIEW_NAME", dt.Columns[2].ColumnName); Assert.AreEqual(11, dt.Rows.Count); LogStepPass(); } else { LogStepFail(); } // question 1 //LogTestStep("Test TABLES"); //dt = conn.GetSchema("TABLES"); //if (dt != null) //{ // Assert.AreEqual(3, dt.Columns.Count); // Assert.AreEqual("TABLE_CATALOG", dt.Columns[0].ColumnName); // Assert.AreEqual("TABLE_SCHEMA", dt.Columns[1].ColumnName); // Assert.AreEqual("TABLE_NAME", dt.Columns[2].ColumnName); // Assert.AreEqual(0, dt.Rows.Count); //} LogTestStep("Test RESERVED_WORDS"); dt = conn.GetSchema("RESERVED_WORDS"); if (dt != null) { List<string> wordList = new List<string>(); using (StreamReader sr = new StreamReader(@"..\..\..\ADOTest\Resource\ReservedKeyWords.txt")) { string s = null; while ((s = sr.ReadLine()) != null) { wordList.Add(s.Trim()); } } Assert.AreEqual(wordList.Count, dt.Rows.Count); foreach (string s in wordList) { if (!dt.Rows.Contains(s)) { LogStepFail(); Assert.Fail(String.Format("Reservered word {0} is missing", s)); } } LogStepPass(); } else { LogStepFail(); } LogTestResult(); } }
public void GetSchema_NameAndFilter_Test() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = DBHelper.connString; conn.Open(); Log("Test GetSchema with specified schema name and restriction values"); LogTestStep("Test TABLES"); DataTable dt = conn.GetSchema("TABLES", new String[] { "nation" }); if (dt != null) { Assert.AreEqual(1, dt.Rows.Count); Assert.AreEqual("demodb", dt.Rows[0]["TABLE_CATALOG"].ToString()); Assert.AreEqual("demodb", dt.Rows[0]["TABLE_SCHEMA"].ToString()); Assert.AreEqual("nation", dt.Rows[0]["TABLE_NAME"].ToString()); LogStepPass(); } else { LogStepFail(); } LogTestStep("Test COLUMNS"); dt = conn.GetSchema("COLUMNS", new String[] { "game", "event_code" }); if (dt != null) { Assert.AreEqual(1, dt.Rows.Count); Assert.AreEqual("demodb", dt.Rows[0]["TABLE_CATALOG"].ToString()); Assert.AreEqual("demodb", dt.Rows[0]["TABLE_SCHEMA"].ToString()); Assert.AreEqual("game", dt.Rows[0]["TABLE_NAME"].ToString()); Assert.AreEqual("event_code", dt.Rows[0]["COLUMN_NAME"].ToString()); Assert.AreEqual((uint)1, (uint)dt.Rows[0]["ORDINAL_POSITION"]); Assert.AreEqual("", dt.Rows[0]["COLUMN_DEFAULT"].ToString()); Assert.AreEqual(false, (bool)dt.Rows[0]["IS_NULLABLE"]); Assert.AreEqual("INTEGER", dt.Rows[0]["DATA_TYPE"].ToString()); Assert.AreEqual((uint)10, (uint)dt.Rows[0]["NUMERIC_PRECISION"]); Assert.AreEqual((uint)0, (uint)dt.Rows[0]["NUMERIC_SCALE"]); Assert.AreEqual((byte)0, (byte)dt.Rows[0]["CHARACTER_SET"]); LogStepPass(); } else { LogStepFail(); } LogTestStep("Test INDEXES"); dt = conn.GetSchema("INDEXES", new String[] { "nation", "code" }); if (dt != null) { Assert.AreEqual(1, dt.Rows.Count); Assert.AreEqual("demodb", dt.Rows[0]["INDEX_CATALOG"].ToString()); Assert.AreEqual("demodb", dt.Rows[0]["INDEX_SCHEMA"].ToString()); Assert.AreEqual("pk_nation_code", dt.Rows[0]["INDEX_NAME"].ToString()); Assert.AreEqual("nation", dt.Rows[0]["TABLE_NAME"].ToString()); Assert.AreEqual(true, (bool)dt.Rows[0]["UNIQUE"]); Assert.AreEqual(false, (bool)dt.Rows[0]["REVERSE"]); Assert.AreEqual(true, (bool)dt.Rows[0]["PRIMARY"]); Assert.AreEqual(false, (bool)dt.Rows[0]["FOREIGN_KEY"]); Assert.AreEqual("ASC", dt.Rows[0]["DIRECTION"].ToString()); LogStepPass(); } else { LogStepFail(); } LogTestStep("Test INDEXE_COLUMNS"); dt = conn.GetSchema("INDEX_COLUMNS", new String[] { "nation", "pk_nation_code" }); if (dt != null) { Assert.AreEqual(1, dt.Rows.Count); Assert.AreEqual("demodb", dt.Rows[0]["INDEX_CATALOG"].ToString()); Assert.AreEqual("demodb", dt.Rows[0]["INDEX_SCHEMA"].ToString()); Assert.AreEqual("pk_nation_code", dt.Rows[0]["INDEX_NAME"].ToString()); Assert.AreEqual("nation", dt.Rows[0]["TABLE_NAME"].ToString()); Assert.AreEqual("code", dt.Rows[0]["COLUMN_NAME"].ToString()); Assert.AreEqual(0, (int)dt.Rows[0]["ORDINAL_POSITION"]); Assert.AreEqual("ASC", dt.Rows[0]["DIRECTION"].ToString()); LogStepPass(); } else { LogStepFail(); } Log("Test FOREIGN_KEYS"); dt = conn.GetSchema("FOREIGN_KEYS", new String[] { "game", "fk_game_athlete_code" }); if (dt != null) { Assert.AreEqual(2, dt.Rows.Count); //Assert.AreEqual("athlete", dt.Rows[0]["PKTABLE_NAME"].ToString()); Assert.AreEqual("code", dt.Rows[0]["PKCOLUMN_NAME"].ToString()); Assert.AreEqual("game", dt.Rows[0]["FKTABLE_NAME"].ToString()); //Assert.AreEqual("athlete_code", dt.Rows[0]["FKCOLUMN_NAME"].ToString()); Assert.AreEqual((short)1, (short)dt.Rows[0]["KEY_SEQ"]); Assert.AreEqual((short)1, (short)dt.Rows[0]["UPDATE_ACTION"]); Assert.AreEqual((short)1, (short)dt.Rows[0]["DELETE_ACTION"]); //Assert.AreEqual("fk_game_athlete_code", dt.Rows[0]["FK_NAME"].ToString()); //Assert.AreEqual("pk_athlete_code", dt.Rows[0]["PK_NAME"].ToString()); LogStepPass(); } else { LogStepFail(); } LogTestStep("Test PROCEDURES"); dt = conn.GetSchema("PROCEDURES", new String[] { "athlete_info" }); if (dt != null && dt.Rows.Count>0) { Assert.AreEqual("athlete_info", dt.Rows[0]["PROCEDURE_NAME"].ToString()); Assert.AreEqual("FUNCTION", dt.Rows[0]["PROCEDURE_TYPE"].ToString()); Assert.AreEqual("INTEGER", dt.Rows[0]["RETURN_TYPE"].ToString()); Assert.AreEqual(4, (int)dt.Rows[0]["ARGUMENTS_COUNT"]); Assert.AreEqual("JAVA", dt.Rows[0]["LANGUAGE"].ToString()); Assert.AreEqual("Athlete.Athlete_Insert(java.lang.String, java.lang.String, java.lang.String, java.lang.String) return int", dt.Rows[0]["TARGET"].ToString()); Assert.AreEqual("DBA", dt.Rows[0]["OWNER"].ToString()); LogStepPass(); } else { LogStepFail(); } LogTestResult(); } }
public void GetSchema_Negtive_Test() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = DBHelper.connString; conn.Open(); LogTestStep("Test GetSchema() with collectionName as null"); DataTable dt = null; string schemaName = null; try { dt = conn.GetSchema(schemaName); LogStepFail(); } catch (Exception ex) { Console.WriteLine(ex.Message); //Assert.AreEqual("some message here", ex.Message); LogStepPass(); } Log("The ArgumentException is not thrown"); LogTestStep("Test GetSchema(String, String[]) with collectionName as null"); try { dt = conn.GetSchema(schemaName, new String[] { "nation" }); LogStepFail(); } catch (Exception ex) { Console.WriteLine(ex.Message); //Assert.AreEqual("some message here", ex.Message); LogStepPass(); } Log("The ArgumentException is not thrown"); LogTestResult(); } }