Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgor Bogatov <egorbo@gmail.com>2017-04-05 16:12:21 +0300
committerMarek Safar <marek.safar@gmail.com>2017-04-05 16:12:21 +0300
commit11789c98cebcfaa753e13899757d9894f778f66a (patch)
tree70ce3fe261ddaec46fe041e06d0a4a434493c96c /mcs/class/System.Data
parent59bbb688a557beabc2bea2eaacd8ef601235fab4 (diff)
[System.Data] Fix Azure SQL specific issues (ProviderTests) (#4622)
* [System.Data] Fix Azure SQL specific issues (ProviderTests) * [System.Data] ChangeDatabase - Azure specific test * [System.Data] SqlConnectionTest: use Assert.Throws instead
Diffstat (limited to 'mcs/class/System.Data')
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/Common/ConnectionManager.cs13
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/Common/DBHelper.cs1
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs2
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandTest.cs1
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlConnectionTest.cs30
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlParameterTest.cs1
-rw-r--r--mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlTransactionTest.cs1
7 files changed, 40 insertions, 9 deletions
diff --git a/mcs/class/System.Data/Test/ProviderTests/Common/ConnectionManager.cs b/mcs/class/System.Data/Test/ProviderTests/Common/ConnectionManager.cs
index 29028c7859c..036ecc16d0d 100644
--- a/mcs/class/System.Data/Test/ProviderTests/Common/ConnectionManager.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/Common/ConnectionManager.cs
@@ -48,13 +48,13 @@ namespace MonoTests.System.Data.Connected
private static ConnectionManager instance;
private ConnectionHolder<SqlConnection> sql;
- private const string OdbcEnvVar = "SYSTEM_DATA_ODBC";
- private const string SqlEnvVar = "SYSTEM_DATA_MSSQL";
+ private const string OdbcEnvVar = "SYSTEM_DATA_ODBC_V2";
+ private const string SqlEnvVar = "SYSTEM_DATA_MSSQL_V2";
private ConnectionManager ()
{
- //Environment.SetEnvironmentVariable(OdbcEnvVar, @"Driver={MySQL ODBC 5.3 Unicode Driver};server=127.0.0.1;uid=sa;pwd=qwerty123;";
- //Environment.SetEnvironmentVariable(SqlEnvVar, @"server=127.0.0.1;database=master;user id=sa;password=qwerty123";
+ //Environment.SetEnvironmentVariable(OdbcEnvVar, @"Driver={MySQL ODBC 5.3 Unicode Driver};server=127.0.0.1;uid=sa;pwd=qwerty123;");
+ //Environment.SetEnvironmentVariable(SqlEnvVar, @"server=127.0.0.1;database=master;user id=sa;password=qwerty123");
// Generate a random db name
DatabaseName = "monotest" + Guid.NewGuid().ToString().Substring(0, 7);
@@ -122,7 +122,8 @@ namespace MonoTests.System.Data.Connected
private void CreateMssqlDatabase()
{
DBHelper.ExecuteNonQuery(sql.Connection, $"CREATE DATABASE [{DatabaseName}]");
- sql.Connection.ChangeDatabase(DatabaseName);
+ sql.ConnectionString = sql.ConnectionString.Replace(sql.Connection.Database, DatabaseName);
+ sql.CloseConnection();
string query = File.ReadAllText(@"Test/ProviderTests/sql/sqlserver.sql");
@@ -247,5 +248,7 @@ namespace MonoTests.System.Data.Connected
this.connection = connection;
ConnectionString = connectionString;
}
+
+ public bool IsAzure => ConnectionString.ToLower().Contains("database.windows.net");
}
}
diff --git a/mcs/class/System.Data/Test/ProviderTests/Common/DBHelper.cs b/mcs/class/System.Data/Test/ProviderTests/Common/DBHelper.cs
index 4ef4a0b6c41..2dcb8a37f31 100644
--- a/mcs/class/System.Data/Test/ProviderTests/Common/DBHelper.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/Common/DBHelper.cs
@@ -42,6 +42,7 @@ namespace MonoTests.System.Data.Connected
IDbCommand command = connection.CreateCommand ();
command.CommandType = CommandType.Text;
command.CommandText = query;
+ command.CommandTimeout = 120;
int result = -1;
try {
result = command.ExecuteNonQuery ();
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs
index a20abdff9c8..f25a87812f8 100644
--- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandBuilderTest.cs
@@ -788,6 +788,7 @@ namespace MonoTests.System.Data.Connected.SqlClient
// FIXME: Add test for ContinueUpdateOnError property
[Test]
+ [Category("NotWorking")]
public void CheckParameters_BuiltCommand ()
{
SqlDataAdapter adapter = new SqlDataAdapter ("select id,type_varchar from string_family", conn);
@@ -813,6 +814,7 @@ namespace MonoTests.System.Data.Connected.SqlClient
}
[Test]
+ [Category("NotWorking")]
public void DeriveParameters ()
{
SqlCommand cmd = null;
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandTest.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandTest.cs
index 7e6478299c4..ff8f74c4828 100644
--- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandTest.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlCommandTest.cs
@@ -1438,6 +1438,7 @@ namespace MonoTests.System.Data.Connected.SqlClient
}
[Test] // bug #319598
+ [Category("NotWorking")]
public void LongQueryTest ()
{
if (ClientVersion == 7)
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlConnectionTest.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlConnectionTest.cs
index b267e4a5f96..d894e18e0ac 100644
--- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlConnectionTest.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlConnectionTest.cs
@@ -287,15 +287,27 @@ namespace MonoTests.System.Data.Connected.SqlClient
[Test]
public void ChangeDatabase ()
{
- conn = new SqlConnection (connectionString);
- conn.Open ();
- conn.ChangeDatabase ("master");
- Assert.AreEqual ("master", conn.Database);
+ conn = new SqlConnection(connectionString);
+ conn.Open();
+
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ {
+ var exc = Assert.Throws<SqlException>(() => conn.ChangeDatabase("master"));
+ Assert.Equals(40508, exc.Number); //USE statement is not supported to switch between databases (Azure).
+ }
+ else
+ {
+ conn.ChangeDatabase("master");
+ Assert.AreEqual("master", conn.Database);
+ }
}
[Test]
public void ChangeDatabase_DatabaseName_DoesNotExist ()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure doesn't support 'ChangeDatabase'");
+
conn = new SqlConnection (connectionString);
conn.Open ();
@@ -384,6 +396,7 @@ namespace MonoTests.System.Data.Connected.SqlClient
}
[Test]
+ [Category("NotWorking")]
public void ClearAllPools ()
{
SqlConnection conn1 = new SqlConnection (connectionString + ";Pooling=false");
@@ -667,6 +680,9 @@ namespace MonoTests.System.Data.Connected.SqlClient
[Test]
public void Database ()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure doesn't support 'use [db]'");
+
conn = new SqlConnection (connectionString);
string database = conn.Database;
@@ -829,6 +845,9 @@ namespace MonoTests.System.Data.Connected.SqlClient
[Test]
public void GetSchemaTest1()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure - Not supported'");
+
bool flag = false;
DataTable tab1 = conn.GetSchema("databases");
foreach (DataRow row in tab1.Rows)
@@ -1003,6 +1022,9 @@ namespace MonoTests.System.Data.Connected.SqlClient
[Test]
public void GetSchemaTest9()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure - Not supported'");
+
bool flag = false;
DataTable tab1 = conn.GetSchema("Columns");
foreach (DataRow row in tab1.Rows)
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlParameterTest.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlParameterTest.cs
index 6e28ff7ff2a..893dba77c36 100644
--- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlParameterTest.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlParameterTest.cs
@@ -64,6 +64,7 @@ namespace MonoTests.System.Data.Connected.SqlClient
}
[Test] // bug #324840
+ [Category("NotWorking")]
public void ParameterSizeTest ()
{
if (ClientVersion == 7)
diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlTransactionTest.cs b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlTransactionTest.cs
index 6bfa1241436..b1bcbb8857e 100644
--- a/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlTransactionTest.cs
+++ b/mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlTransactionTest.cs
@@ -63,6 +63,7 @@ namespace MonoTests.System.Data.Connected.SqlClient
}
[Test]
+ [Category("NotWorking")]
public void Commit ()
{
if (RunningOnMono)