Skip to content

Commit 4ba7b66

Browse files
committed
Add BulkCopy argument validation tests.
1 parent 6963457 commit 4ba7b66

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

tests/SideBySide/BulkLoaderAsync.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Data;
3+
using System.Data.Common;
34
using System.IO;
45
using System.Threading.Tasks;
56
using MySql.Data.MySqlClient;
@@ -430,6 +431,15 @@ public async Task BulkLoadDataReader()
430431
}
431432

432433
#if !NETCOREAPP1_1_2
434+
[Fact]
435+
public void BulkCopyNullDataTable()
436+
{
437+
using var connection = new MySqlConnection(GetLocalConnectionString());
438+
connection.Open();
439+
var bulkCopy = new MySqlBulkCopy(connection);
440+
Assert.ThrowsAsync<ArgumentNullException>(async () => await bulkCopy.WriteToServerAsync(default(DataTable)));
441+
}
442+
433443
[Fact]
434444
public async Task BulkLoadDataTableWithLongData()
435445
{
@@ -492,6 +502,15 @@ public async Task BulkLoadDataTableWithTooLongData()
492502
await Assert.ThrowsAsync<MySqlException>(async () => await bulkCopy.WriteToServerAsync(dataTable));
493503
}
494504
#endif
505+
506+
[Fact]
507+
public void BulkCopyNullDataReader()
508+
{
509+
using var connection = new MySqlConnection(GetLocalConnectionString());
510+
connection.Open();
511+
var bulkCopy = new MySqlBulkCopy(connection);
512+
Assert.ThrowsAsync<ArgumentNullException>(async () => await bulkCopy.WriteToServerAsync(default(DbDataReader)));
513+
}
495514
#endif
496515

497516
private static string GetConnectionString() => BulkLoaderSync.GetConnectionString();

tests/SideBySide/BulkLoaderSync.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Data;
3+
using System.Data.Common;
34
using System.IO;
45
using MySql.Data.MySqlClient;
56
using Xunit;
@@ -511,6 +512,15 @@ public void BulkLoadDataReader()
511512
}
512513

513514
#if !NETCOREAPP1_1_2
515+
[Fact]
516+
public void BulkCopyNullDataTable()
517+
{
518+
using var connection = new MySqlConnection(GetLocalConnectionString());
519+
connection.Open();
520+
var bulkCopy = new MySqlBulkCopy(connection);
521+
Assert.Throws<ArgumentNullException>(() => bulkCopy.WriteToServer(default(DataTable)));
522+
}
523+
514524
[SkippableFact(ServerFeatures.LargePackets)]
515525
public void BulkLoadDataTableWithLongBlob()
516526
{
@@ -688,6 +698,15 @@ public void BulkLoadDataTableWithTooLongString()
688698
Assert.Throws<MySqlException>(() => bulkCopy.WriteToServer(dataTable));
689699
}
690700
#endif
701+
702+
[Fact]
703+
public void BulkCopyNullDataReader()
704+
{
705+
using var connection = new MySqlConnection(GetLocalConnectionString());
706+
connection.Open();
707+
var bulkCopy = new MySqlBulkCopy(connection);
708+
Assert.Throws<ArgumentNullException>(() => bulkCopy.WriteToServer(default(DbDataReader)));
709+
}
691710
#endif
692711

693712
internal static string GetConnectionString() => AppConfig.ConnectionString;

0 commit comments

Comments
 (0)