Skip to content

Commit 3990a7e

Browse files
committed
add testcase
1 parent 0405003 commit 3990a7e

File tree

1 file changed

+45
-0
lines changed
  • src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest

1 file changed

+45
-0
lines changed

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonTest.cs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,16 @@ private void ValidateSchema(SqlDataReader reader)
6161
}
6262
}
6363

64+
private void ValidateNullJson(SqlDataReader reader)
65+
{
66+
while (reader.Read())
67+
{
68+
bool IsNull = reader.IsDBNull(0);
69+
_output.WriteLine(IsNull ? "null" : "not null");
70+
Assert.True(IsNull);
71+
}
72+
}
73+
6474
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.IsJsonSupported))]
6575
public void TestJsonWrite()
6676
{
@@ -286,5 +296,40 @@ public async Task TestJsonReadAsync()
286296
}
287297
}
288298
}
299+
300+
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.IsJsonSupported))]
301+
public void TestNullJson()
302+
{
303+
string tableName = DataTestUtility.GetUniqueNameForSqlServer("Json_Test");
304+
305+
string tableCreate = "CREATE TABLE " + tableName + " (Data json)";
306+
string tableInsert = "INSERT INTO " + tableName + " VALUES (@jsonData)";
307+
string tableRead = "SELECT * FROM " + tableName;
308+
309+
using (SqlConnection connection = new SqlConnection(DataTestUtility.TCPConnectionString))
310+
{
311+
connection.Open();
312+
using (SqlCommand command = connection.CreateCommand())
313+
{
314+
//Create Table
315+
command.CommandText = tableCreate;
316+
command.ExecuteNonQuery();
317+
318+
//Insert Null value
319+
command.CommandText = tableInsert;
320+
var parameter = new SqlParameter("@jsonData", SqlDbTypeExtensions.Json);
321+
parameter.Value = DBNull.Value;
322+
command.Parameters.Add(parameter);
323+
command.ExecuteNonQuery();
324+
325+
//Query the table
326+
command.CommandText = tableRead;
327+
var reader = command.ExecuteReader();
328+
329+
ValidateNullJson(reader);
330+
reader.Close();
331+
}
332+
}
333+
}
289334
}
290335
}

0 commit comments

Comments
 (0)