List:Commits« Previous MessageNext Message »
From:rburnett Date:July 30 2006 5:48pm
Subject:Connector/NET commit: r285 - in trunk: TestSuite mysqlclient
View as plain text  
Modified:
   trunk/TestSuite/BlobTests.cs
   trunk/TestSuite/CommandTests.cs
   trunk/TestSuite/GetSchemaTests.cs
   trunk/TestSuite/PreparedStatements.cs
   trunk/TestSuite/StressTests.cs
   trunk/mysqlclient/ISSchemaProvider.cs
Log:
New docs file for MySqlConnectionStringBuilderISSchemaProvider
    Corrected name of procedure parameters Collection 

BlobTests
    Removed GetConnectionInfo method (it's in base)

CommandTests
PreparedStatements
StressTests
    Added config section to handle protocol testing

GetSchemaTests
    Added more Tests 

    



Modified: trunk/TestSuite/BlobTests.cs
===================================================================
--- trunk/TestSuite/BlobTests.cs	2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/BlobTests.cs	2006-07-30 15:48:19 UTC (rev 285)
@@ -47,11 +47,6 @@
 			Close();
 		}
 
-        protected override string GetConnectionInfo()
-        {
-            return ";port=3306";
-        }
-
 		[Test]
 		[Category("4.0")]
 		public void InsertBinary() 

Modified: trunk/TestSuite/CommandTests.cs
===================================================================
--- trunk/TestSuite/CommandTests.cs	2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/CommandTests.cs	2006-07-30 15:48:19 UTC (rev 285)
@@ -381,4 +381,49 @@
         }
 
 	}
+
+    #region Configs
+
+    public class CommandTestsSocketCompressed : CommandTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";port=3306;compress=true";
+        }
+    }
+
+    public class CommandTestsPipe : CommandTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=pipe";
+        }
+    }
+
+    public class CommandTestsPipeCompressed : CommandTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=pipe;compress=true";
+        }
+    }
+
+    public class CommandTestsSharedMemory : CommandTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=memory";
+        }
+    }
+
+    public class CommandTestsSharedMemoryCompressed : CommandTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=memory;compress=true";
+        }
+    }
+
+    #endregion
+
 }

Modified: trunk/TestSuite/GetSchemaTests.cs
===================================================================
--- trunk/TestSuite/GetSchemaTests.cs	2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/GetSchemaTests.cs	2006-07-30 15:48:19 UTC (rev 285)
@@ -45,6 +45,23 @@
         {
             DataTable dt = conn.GetSchema();
             Assert.AreEqual(17, dt.Rows.Count);
+            Assert.AreEqual("MetaDataCollections", dt.Rows[0][0]);
+            Assert.AreEqual("DataSourceInformation", dt.Rows[1][0]);
+            Assert.AreEqual("DataTypes", dt.Rows[2][0]);
+            Assert.AreEqual("Restrictions", dt.Rows[3][0]);
+            Assert.AreEqual("ReservedWords", dt.Rows[4][0]);
+            Assert.AreEqual("Databases", dt.Rows[5][0]);
+            Assert.AreEqual("Tables", dt.Rows[6][0]);
+            Assert.AreEqual("Columns", dt.Rows[7][0]);
+            Assert.AreEqual("Users", dt.Rows[8][0]);
+            Assert.AreEqual("Foreign Keys", dt.Rows[9][0]);
+            Assert.AreEqual("IndexColumns", dt.Rows[10][0]);
+            Assert.AreEqual("Indexes", dt.Rows[11][0]);
+            Assert.AreEqual("Views", dt.Rows[12][0]);
+            Assert.AreEqual("ViewColumns", dt.Rows[13][0]);
+            Assert.AreEqual("ProcedureParameters", dt.Rows[14][0]);
+            Assert.AreEqual("Procedures", dt.Rows[15][0]);
+            Assert.AreEqual("Triggers", dt.Rows[16][0]);
         }
 
         [Test]
@@ -77,8 +94,52 @@
         [Test]
         public void Columns()
         {
+            execSQL("DROP TABLE IF EXISTS test");
+            execSQL("CREATE TABLE test (col1 int, col2 decimal(20,5), " +
+                "col3 varchar(50) character set utf8, col4 tinyint unsigned)");
+
+            string[] restrictions = new string[4];
+            restrictions[1] = "test";
+            restrictions[2] = "test";
+            DataTable dt = conn.GetSchema("Columns", restrictions);
+            Assert.IsTrue(dt.Rows.Count == 4);
+            Assert.AreEqual("Columns", dt.TableName);
+            
+            // first column
+            Assert.AreEqual("TEST", dt.Rows[0]["TABLE_SCHEMA"].ToString().ToUpper());
+            Assert.AreEqual("COL1", dt.Rows[0]["COLUMN_NAME"].ToString().ToUpper());
+            Assert.AreEqual(1, dt.Rows[0]["ORDINAL_POSITION"]);
+            Assert.AreEqual("YES", dt.Rows[0]["IS_NULLABLE"]);
+            Assert.AreEqual("INT", dt.Rows[0]["DATA_TYPE"].ToString().ToUpper());
+
+            // second column
+            Assert.AreEqual("TEST", dt.Rows[1]["TABLE_SCHEMA"].ToString().ToUpper());
+            Assert.AreEqual("COL2", dt.Rows[1]["COLUMN_NAME"].ToString().ToUpper());
+            Assert.AreEqual(2, dt.Rows[1]["ORDINAL_POSITION"]);
+            Assert.AreEqual("YES", dt.Rows[1]["IS_NULLABLE"]);
+            Assert.AreEqual("DECIMAL", dt.Rows[1]["DATA_TYPE"].ToString().ToUpper());
+            Assert.AreEqual("DECIMAL(20,5)",
dt.Rows[1]["COLUMN_TYPE"].ToString().ToUpper());
+            Assert.AreEqual(20, dt.Rows[1]["NUMERIC_PRECISION"]);
+            Assert.AreEqual(5, dt.Rows[1]["NUMERIC_SCALE"]);
+
+            // third column
+            Assert.AreEqual("TEST", dt.Rows[2]["TABLE_SCHEMA"].ToString().ToUpper());
+            Assert.AreEqual("COL3", dt.Rows[2]["COLUMN_NAME"].ToString().ToUpper());
+            Assert.AreEqual(3, dt.Rows[2]["ORDINAL_POSITION"]);
+            Assert.AreEqual("YES", dt.Rows[2]["IS_NULLABLE"]);
+            Assert.AreEqual("VARCHAR", dt.Rows[2]["DATA_TYPE"].ToString().ToUpper());
+            Assert.AreEqual("VARCHAR(50)",
dt.Rows[2]["COLUMN_TYPE"].ToString().ToUpper());
+            Assert.AreEqual(50, dt.Rows[2]["CHARACTER_MAXIMUM_LENGTH"]);
+
+            // fourth column
+            Assert.AreEqual("TEST", dt.Rows[3]["TABLE_SCHEMA"].ToString().ToUpper());
+            Assert.AreEqual("COL4", dt.Rows[3]["COLUMN_NAME"].ToString().ToUpper());
+            Assert.AreEqual(4, dt.Rows[3]["ORDINAL_POSITION"]);
+            Assert.AreEqual("YES", dt.Rows[3]["IS_NULLABLE"]);
+            Assert.AreEqual("TINYINT", dt.Rows[3]["DATA_TYPE"].ToString().ToUpper());
         }
 
+        [Category("5.0")]
         [Test]
         public void Procedures()
         {
@@ -94,19 +155,76 @@
             Assert.AreEqual("spTest", dt.Rows[0][3]);
         }
 
+        [Category("5.0")]
         [Test]
         public void Functions()
         {
+            execSQL("DROP FUNCTION IF EXISTS spFunc");
+            execSQL("CREATE FUNCTION spFunc (id int) RETURNS INT BEGIN RETURN 1; END");
+
+            string[] restrictions = new string[4];
+            restrictions[1] = "test";
+            restrictions[2] = "spFunc";
+            DataTable dt = conn.GetSchema("Procedures", restrictions);
+            Assert.IsTrue(dt.Rows.Count == 1);
+            Assert.AreEqual("Procedures", dt.TableName);
+            Assert.AreEqual("spFunc", dt.Rows[0][3]);
         }
 
+        [Category("5.0")]
         [Test]
         public void ProcedureParameters()
         {
+            execSQL("DROP PROCEDURE IF EXISTS spTest");
+            execSQL("CREATE PROCEDURE spTest (id int) BEGIN SELECT 1; END");
+
+            string[] restrictions = new string[4];
+            restrictions[1] = "test";
+            restrictions[2] = "spTest";
+            DataTable dt = conn.GetSchema("Procedure Parameters", restrictions);
+            Assert.IsTrue(dt.Rows.Count == 1);
+            Assert.AreEqual("Procedure Parameters", dt.TableName);
+            Assert.AreEqual("test", dt.Rows[0]["ROUTINE_SCHEMA"].ToString().ToLower());
+            Assert.AreEqual("sptest", dt.Rows[0]["ROUTINE_NAME"].ToString().ToLower());
+            Assert.AreEqual("id", dt.Rows[0]["PARAMETER_NAME"].ToString().ToLower());
+            Assert.AreEqual(1, dt.Rows[0]["ORDINAL_POSITION"]);
+            Assert.AreEqual("IN", dt.Rows[0]["PARAMETER_MODE"]);
+            Assert.AreEqual("NO", dt.Rows[0]["IS_RESULT"]);
+
+            execSQL("DROP FUNCTION IF EXISTS spFunc");
+            execSQL("CREATE FUNCTION spFunc (id int) RETURNS INT BEGIN RETURN 1; END");
+
+            restrictions[1] = "test";
+            restrictions[2] = "spFunc";
+            dt = conn.GetSchema("Procedure Parameters", restrictions);
+            Assert.IsTrue(dt.Rows.Count == 2);
+            Assert.AreEqual("Procedure Parameters", dt.TableName);
+            Assert.AreEqual("test", dt.Rows[0]["ROUTINE_SCHEMA"].ToString().ToLower());
+            Assert.AreEqual("spfunc", dt.Rows[0]["ROUTINE_NAME"].ToString().ToLower());
+            Assert.AreEqual("id", dt.Rows[0]["PARAMETER_NAME"].ToString().ToLower());
+            Assert.AreEqual(1, dt.Rows[0]["ORDINAL_POSITION"]);
+            Assert.AreEqual("IN", dt.Rows[0]["PARAMETER_MODE"]);
+            Assert.AreEqual("NO", dt.Rows[0]["IS_RESULT"]);
+
+            Assert.AreEqual("test", dt.Rows[1]["ROUTINE_SCHEMA"].ToString().ToLower());
+            Assert.AreEqual("spfunc", dt.Rows[1]["ROUTINE_NAME"].ToString().ToLower());
+            Assert.AreEqual(0, dt.Rows[1]["ORDINAL_POSITION"]);
+            Assert.AreEqual("YES", dt.Rows[1]["IS_RESULT"]);
         }
 
+        [Category("5.0")]
         [Test]
         public void Views()
         {
+            execSQL("CREATE VIEW vw AS SELECT Now() as theTime");
+
+            string[] restrictions = new string[4];
+            restrictions[1] = "test";
+            restrictions[2] = "vw";
+            DataTable dt = conn.GetSchema("Views", restrictions);
+            Assert.IsTrue(dt.Rows.Count == 1);
+            Assert.AreEqual("Views", dt.TableName);
+            Assert.AreEqual("vw", dt.Rows[0][3]);
         }
 	}
 }

Modified: trunk/TestSuite/PreparedStatements.cs
===================================================================
--- trunk/TestSuite/PreparedStatements.cs	2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/PreparedStatements.cs	2006-07-30 15:48:19 UTC (rev 285)
@@ -666,4 +666,49 @@
             }
         }
 	}
+
+    #region Configs
+
+    public class PreparedStatementsSocketCompressed : PreparedStatements
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";port=3306;compress=true";
+        }
+    }
+
+    public class PreparedStatementsPipe : PreparedStatements
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=pipe";
+        }
+    }
+
+    public class PreparedStatementsPipeCompressed : PreparedStatements
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=pipe;compress=true";
+        }
+    }
+
+    public class PreparedStatementsSharedMemory : PreparedStatements
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=memory";
+        }
+    }
+
+    public class PreparedStatementsSharedMemoryCompressed : PreparedStatements
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=memory;compress=true";
+        }
+    }
+
+    #endregion
+
 }

Modified: trunk/TestSuite/StressTests.cs
===================================================================
--- trunk/TestSuite/StressTests.cs	2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/TestSuite/StressTests.cs	2006-07-30 15:48:19 UTC (rev 285)
@@ -154,4 +154,49 @@
 		}
 
 	}
+
+    #region Configs
+
+    public class StressTestsSocketCompressed : PreparedStatements
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";port=3306;compress=true";
+        }
+    }
+
+    public class StressTestsPipe : PreparedStatements
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=pipe";
+        }
+    }
+
+    public class StressTestsPipeCompressed : StressTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=pipe;compress=true";
+        }
+    }
+
+    public class StressTestsSharedMemory : StressTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=memory";
+        }
+    }
+
+    public class StressTestsSharedMemoryCompressed : StressTests
+    {
+        protected override string GetConnectionInfo()
+        {
+            return ";protocol=memory;compress=true";
+        }
+    }
+
+    #endregion
+
 }

Modified: trunk/mysqlclient/ISSchemaProvider.cs
===================================================================
--- trunk/mysqlclient/ISSchemaProvider.cs	2006-07-30 04:02:55 UTC (rev 284)
+++ trunk/mysqlclient/ISSchemaProvider.cs	2006-07-30 15:48:19 UTC (rev 285)
@@ -42,7 +42,7 @@
             {
                 new object[] {"Views", 2, 3},
                 new object[] {"ViewColumns", 3, 4},
-                new object[] {"ProcedureParameters", 4, 1},
+                new object[] {"Procedure Parameters", 4, 1},
                 new object[] {"Procedures", 4, 3},
                 new object[] {"Triggers", 2, 4}
             };
@@ -57,10 +57,10 @@
 
             object[][] restrictions = new object[][] 
             {
-                new object[] {"ProcedureParameters", "Catalog", "", 0},
-                new object[] {"ProcedureParameters", "Owner", "", 1},
-                new object[] {"ProcedureParameters", "Name", "", 2},
-                new object[] {"ProcedureParameters", "Parameter", "", 3},
+                new object[] {"Procedure Parameters", "Catalog", "", 0},
+                new object[] {"Procedure Parameters", "Owner", "", 1},
+                new object[] {"Procedure Parameters", "Name", "", 2},
+                new object[] {"Procedure Parameters", "Parameter", "", 3},
                 new object[] {"Procedures", "Catalog", "", 0},
                 new object[] {"Procedures", "Owner", "", 1},
                 new object[] {"Procedures", "Name", "", 2},

Thread
Connector/NET commit: r285 - in trunk: TestSuite mysqlclientrburnett30 Jul