Skip to content

Commit 465eece

Browse files
committed
Merge branch 'main' into dev/russellben/cleanup/testsets-categories
2 parents b2c24e9 + 0521cde commit 465eece

55 files changed

Lines changed: 418 additions & 511 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/AdjustPrecScaleForBulkCopy.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/AdjustPrecScaleForBulkCopy.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
using System;
66
using System.Data;
77
using System.Data.SqlTypes;
8+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
89
using Microsoft.Data.SqlClient.Tests.Common;
910
using Xunit;
1011

11-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
12+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
1213
{
1314
[Trait("Set", "2")]
1415
public static class AdjustPrecScaleForBulkCopy

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/AzureDistributedTransaction.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/AzureDistributedTransaction.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
// Licensed to the .NET Foundation under one or more agreements.
1+
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33
// See the LICENSE file in the project root for more information.
44

55
using System;
66
using System.Transactions;
7+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
78
using Xunit;
89

9-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
10+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
1011
{
1112
public class AzureDistributedTransaction
1213
{
@@ -15,8 +16,9 @@ public class AzureDistributedTransaction
1516
private static readonly string s_createTableCmd = $"CREATE TABLE {s_tableName} (NAME NVARCHAR(40), AGE INT)";
1617
private static readonly string s_sqlBulkCopyCmd = "SELECT * FROM(VALUES ('Fuller', 33), ('Davon', 49)) AS q (FirstName, Age)";
1718
private static readonly int s_commandTimeout = 30;
18-
19-
public static void Test()
19+
// Synapse: Promote Transaction not supported by Azure Synapse
20+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse), nameof(DataTestUtility.IsAzureServer))]
21+
public void Test()
2022
{
2123
try
2224
{

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/Bug84548.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/Bug84548.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System.Data.Common;
6+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
7+
using Xunit;
68

7-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
9+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
810
{
911
public class Bug84548
1012
{
11-
public static void Test(string srcConstr, string dstConstr, string targettable)
13+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))]
14+
public void Test()
1215
{
16+
string srcConstr = DataTestUtility.TCPConnectionString;
17+
string dstConstr = DataTestUtility.TCPConnectionString;
18+
string targettable = DataTestUtility.GetShortName("SqlBulkCopyTest_Bug84548", false);
1319
string targetCustomerTable = targettable + "_customer";
1420

1521
using (SqlConnection dstConn = new SqlConnection(dstConstr))

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/Bug85007.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/Bug85007.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System.Data.Common;
6+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
7+
using Xunit;
68

7-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
9+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
810
{
911
public class Bug85007
1012
{
11-
public static void Test(string srcConstr, string dstConstr, string dstTable)
13+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
14+
public void Test()
1215
{
16+
string srcConstr = DataTestUtility.TCPConnectionString;
17+
string dstConstr = DataTestUtility.TCPConnectionString;
18+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_Bug85007", false);
1319
string targetCustomerTable = dstTable + "_customer";
1420

1521
using (SqlConnection dstConn = new SqlConnection(dstConstr))

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/Bug903514.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/Bug903514.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@
44

55
using System;
66
using System.Data;
7+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
78
using Xunit;
89

9-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
10+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
1011
{
1112
public class Bug903514
1213
{
13-
public static void Test(string constr, string dstTable)
14+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
15+
public void Test()
1416
{
17+
string constr = DataTestUtility.TCPConnectionString;
18+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_Bug903514", false);
1519
using (SqlConnection dstConn = new SqlConnection(constr))
1620
using (SqlCommand dstCmd = dstConn.CreateCommand())
1721
{

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/Bug98182.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/Bug98182.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,18 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System.Data.Common;
6+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
7+
using Xunit;
68

7-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
9+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
810
{
911
public class Bug98182
1012
{
11-
public static void Test(string constr, string dstTable)
13+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
14+
public void Test()
1215
{
16+
string constr = DataTestUtility.TCPConnectionString;
17+
string dstTable = DataTestUtility.GetShortName("@SqlBulkCopyTest_Bug98182 ", false);
1318
string srctable = "[" + dstTable + " src]";
1419
dstTable = "[" + dstTable + "]";
1520

@@ -47,7 +52,7 @@ public static void Test(string constr, string dstTable)
4752
ColumnMappings.Add("col 2", "[col 2]");
4853

4954
bulkcopy.WriteToServer(reader);
50-
55+
5156
DataTestUtility.AssertEqualsWithDescription(bulkcopy.RowsCopied, 1, "Unexpected number of rows.");
5257
}
5358
Helpers.VerifyResults(dstConn, dstTable, 2, 1);

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/CacheMetadata.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/CacheMetadata.cs

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
using System;
66
using System.Data;
77
using System.Threading.Tasks;
8+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
89
using Xunit;
910

10-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
11+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
1112
{
1213
public class CacheMetadata
1314
{
@@ -16,8 +17,12 @@ public class CacheMetadata
1617
private static readonly string sourceQueryTemplate = "select top 5 EmployeeID, LastName, FirstName from {0}";
1718

1819
// Test that CacheMetadata option works for multiple WriteToServer calls to the same table.
19-
public static void Test(string srcConstr, string dstConstr, string dstTable)
20+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
21+
public void Test()
2022
{
23+
string srcConstr = DataTestUtility.TCPConnectionString;
24+
string dstConstr = DataTestUtility.TCPConnectionString;
25+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadata", false);
2126
string sourceQuery = string.Format(sourceQueryTemplate, sourceTable);
2227
string initialQuery = string.Format(initialQueryTemplate, dstTable);
2328

@@ -76,8 +81,12 @@ public class CacheMetadataInvalidate
7681
private static readonly string sourceQueryTemplate = "select top 5 EmployeeID, LastName, FirstName from {0}";
7782

7883
// Test that ClearCachedMetadata forces a fresh metadata query.
79-
public static void Test(string srcConstr, string dstConstr, string dstTable)
84+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
85+
public void Test()
8086
{
87+
string srcConstr = DataTestUtility.TCPConnectionString;
88+
string dstConstr = DataTestUtility.TCPConnectionString;
89+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataInvalidate", false);
8190
string sourceQuery = string.Format(sourceQueryTemplate, sourceTable);
8291
string initialQuery = string.Format(initialQueryTemplate, dstTable);
8392

@@ -128,8 +137,13 @@ public class CacheMetadataDestinationChange
128137
private static readonly string sourceQueryTemplate = "select top 5 EmployeeID, LastName, FirstName from {0}";
129138

130139
// Test that changing DestinationTableName invalidates the cache and works correctly with a new table.
131-
public static void Test(string srcConstr, string dstConstr, string dstTable1, string dstTable2)
140+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
141+
public void Test()
132142
{
143+
string srcConstr = DataTestUtility.TCPConnectionString;
144+
string dstConstr = DataTestUtility.TCPConnectionString;
145+
string dstTable1 = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataDstChange0", false);
146+
string dstTable2 = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataDstChange1", false);
133147
string sourceQuery = string.Format(sourceQueryTemplate, sourceTable);
134148
string initialQuery1 = string.Format(initialQueryTemplate, dstTable1);
135149
string initialQuery2 = string.Format(initialQueryTemplate, dstTable2);
@@ -182,8 +196,12 @@ public class CacheMetadataWithoutFlag
182196
private static readonly string sourceQueryTemplate = "select top 5 EmployeeID, LastName, FirstName from {0}";
183197

184198
// Test that without the CacheMetadata flag, multiple writes still work (no regression).
185-
public static void Test(string srcConstr, string dstConstr, string dstTable)
199+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
200+
public void Test()
186201
{
202+
string srcConstr = DataTestUtility.TCPConnectionString;
203+
string dstConstr = DataTestUtility.TCPConnectionString;
204+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataNoFlag", false);
187205
string sourceQuery = string.Format(sourceQueryTemplate, sourceTable);
188206
string initialQuery = string.Format(initialQueryTemplate, dstTable);
189207

@@ -230,8 +248,11 @@ public class CacheMetadataWithDataTable
230248
private static readonly string initialQueryTemplate = "create table {0} (col1 int, col2 nvarchar(50), col3 nvarchar(50))";
231249

232250
// Test that CacheMetadata works with DataTable source as well as IDataReader.
233-
public static void Test(string dstConstr, string dstTable)
251+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
252+
public void Test()
234253
{
254+
string dstConstr = DataTestUtility.TCPConnectionString;
255+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataDT", false);
235256
string initialQuery = string.Format(initialQueryTemplate, dstTable);
236257

237258
using DataTable sourceData = new();
@@ -275,8 +296,11 @@ public class CacheMetadataColumnMappingsChange
275296
// Test that changing ColumnMappings between WriteToServer calls works correctly with CacheMetadata.
276297
// The cached metadata describes the destination table schema, not the column mappings,
277298
// so modifying mappings between calls should work without cache invalidation.
278-
public static void Test(string dstConstr, string dstTable)
299+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
300+
public void Test()
279301
{
302+
string dstConstr = DataTestUtility.TCPConnectionString;
303+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataColMap", false);
280304
string initialQuery = string.Format(initialQueryTemplate, dstTable);
281305

282306
using DataTable sourceData = new DataTable();
@@ -348,8 +372,11 @@ public class CacheMetadataColumnSubsetChange
348372
// second call, works correctly with CacheMetadata. This verifies that null-pruning of
349373
// unmatched columns in AnalyzeTargetAndCreateUpdateBulkCommand does not mutate the
350374
// cached metadata, which would cause a NullReferenceException on the second call.
351-
public static void Test(string dstConstr, string dstTable)
375+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
376+
public void Test()
352377
{
378+
string dstConstr = DataTestUtility.TCPConnectionString;
379+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataSubset", false);
353380
string initialQuery = string.Format(initialQueryTemplate, dstTable);
354381

355382
using DataTable sourceData = new DataTable();
@@ -407,8 +434,12 @@ public class CacheMetadataAsync
407434
private static readonly string sourceQueryTemplate = "select top 5 EmployeeID, LastName, FirstName from {0}";
408435

409436
// Test that CacheMetadata works correctly with WriteToServerAsync.
410-
public static void Test(string srcConstr, string dstConstr, string dstTable)
437+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
438+
public void Test()
411439
{
440+
string srcConstr = DataTestUtility.TCPConnectionString;
441+
string dstConstr = DataTestUtility.TCPConnectionString;
442+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataAsync", false);
412443
Task t = TestAsync(srcConstr, dstConstr, dstTable);
413444
t.Wait();
414445
Assert.True(t.IsCompleted, "Task did not complete! Status: " + t.Status);
@@ -472,8 +503,11 @@ public class CacheMetadataCombinedWithKeepNulls
472503
private static readonly string initialQueryTemplate = "create table {0} (col1 int, col2 nvarchar(50) default 'DefaultVal', col3 nvarchar(50))";
473504

474505
// Test that CacheMetadata works correctly when combined with other SqlBulkCopyOptions.
475-
public static void Test(string dstConstr, string dstTable)
506+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
507+
public void Test()
476508
{
509+
string dstConstr = DataTestUtility.TCPConnectionString;
510+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CacheMetadataKeepNulls", false);
477511
string initialQuery = string.Format(initialQueryTemplate, dstTable);
478512

479513
using DataTable sourceData = new();

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/CheckConstraints.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/CheckConstraints.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System.Data.Common;
6+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
7+
using Xunit;
68

7-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
9+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
810
{
911
public class CheckConstraints
1012
{
11-
public static void Test(string constr, string srctable, string dstTable)
13+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
14+
public void Test()
1215
{
16+
string constr = DataTestUtility.TCPConnectionString;
17+
string srctable = DataTestUtility.GetShortName("SqlBulkCopyTest_Extensionsrc", false);
18+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_Extensiondst", false);
1319
using (SqlConnection dstConn = new SqlConnection(constr))
1420
using (SqlCommand dstCmd = dstConn.CreateCommand())
1521
{

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/ColumnCollation.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/ColumnCollation.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,18 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System.Data;
6+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
7+
using Xunit;
68

7-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
9+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
810
{
911
public class ColumnCollation
1012
{
11-
public static void Test(string dstConstr, string dstTable)
13+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
14+
public void Test()
1215
{
16+
string dstConstr = DataTestUtility.TCPConnectionString;
17+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_ColumnCollation", false);
1318
using (SqlConnection dstConn = new SqlConnection(dstConstr))
1419
using (SqlCommand dstCmd = dstConn.CreateCommand())
1520
{

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/CopyAllFromReader.cs renamed to src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/CopyAllFromReader.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,23 @@
55
using System.Collections;
66
using System.Data.Common;
77
using System.Diagnostics;
8+
using Microsoft.Data.SqlClient.ManualTesting.Tests;
89
using Xunit;
910

10-
namespace Microsoft.Data.SqlClient.ManualTesting.Tests
11+
namespace Microsoft.Data.SqlClient.ManualTests.BulkCopy
1112
{
1213
public class CopyAllFromReader
1314
{
1415
private static readonly string destinationTable = null;
1516
private static readonly string sourceTable = "employees";
1617
private static readonly string initialQueryTemplate = "create table {0} (col1 int, col2 nvarchar(20), col3 nvarchar(10))";
1718
private static readonly string sourceQueryTemplate = "select top 5 EmployeeID, LastName, FirstName from {0}";
18-
19-
public static void Test(string srcConstr, string dstConstr, string dstTable)
19+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
20+
public void Test()
2021
{
22+
string srcConstr = DataTestUtility.TCPConnectionString;
23+
string dstConstr = DataTestUtility.TCPConnectionString;
24+
string dstTable = DataTestUtility.GetShortName("SqlBulkCopyTest_CopyAllFromReader", false);
2125
Debug.Assert((int)SqlBulkCopyOptions.UseInternalTransaction == 1 << 5, "Compiler screwed up the options");
2226

2327
dstTable = destinationTable != null ? destinationTable : dstTable;

0 commit comments

Comments
 (0)