@@ -272,8 +272,8 @@ await QuerySql.InsertMysqlTypes(new QuerySql.InsertMysqlTypesArgs
272272 {
273273 Impl = $$ """
274274 [Test]
275- [TestCase(100, "D", "\u4321", "\u2345", "Parasite", "Clockwork Orange", "Dr. Strangelove", "Interview with a Vampire", "Memento", "{\"age\": 420, \"name\": \"Dazed and Confused\"}" )]
276- [TestCase(10, null, null, null, null, null, null, null, null, null )]
275+ [TestCase(100, "D", "\u4321", "\u2345", "Parasite", "Clockwork Orange", "Dr. Strangelove", "Interview with a Vampire", "Memento")]
276+ [TestCase(10, null, null, null, null, null, null, null, null)]
277277 public async Task TestStringCopyFrom(
278278 int batchSize,
279279 string cChar,
@@ -283,8 +283,7 @@ public async Task TestStringCopyFrom(
283283 string cTinytext,
284284 string cMediumtext,
285285 string cText,
286- string cLongtext,
287- string cJsonStringOverride)
286+ string cLongtext)
288287 {
289288 var batchArgs = Enumerable.Range(0, batchSize)
290289 .Select(_ => new QuerySql.InsertMysqlTypesBatchArgs
@@ -296,8 +295,7 @@ public async Task TestStringCopyFrom(
296295 CTinytext = cTinytext,
297296 CMediumtext = cMediumtext,
298297 CText = cText,
299- CLongtext = cLongtext,
300- CJsonStringOverride = cJsonStringOverride
298+ CLongtext = cLongtext
301299 })
302300 .ToList();
303301 await QuerySql.InsertMysqlTypesBatch(batchArgs);
@@ -311,8 +309,7 @@ public async Task TestStringCopyFrom(
311309 CTinytext = cTinytext,
312310 CMediumtext = cMediumtext,
313311 CText = cText,
314- CLongtext = cLongtext,
315- CJsonStringOverride = cJsonStringOverride
312+ CLongtext = cLongtext
316313 };
317314
318315 var actual = await QuerySql.GetMysqlTypesCnt();
@@ -329,7 +326,6 @@ void AssertSingularEquals(QuerySql.GetMysqlTypesCntRow x, QuerySql.GetMysqlTypes
329326 Assert.That(x.CMediumtext, Is.EqualTo(y.CMediumtext));
330327 Assert.That(x.CText, Is.EqualTo(y.CText));
331328 Assert.That(x.CLongtext, Is.EqualTo(y.CLongtext));
332- Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride));
333329 }
334330 }
335331 """
@@ -656,19 +652,22 @@ private static bool SingularEquals(QuerySql.GetFirstExtendedBioByTypeRow x, Quer
656652 [Test]
657653 [TestCase("{\"age\": 42, \"name\": \"The Hitchhiker's Guide to the Galaxy\"}")]
658654 [TestCase(null)]
659- public async Task TestMySqlJsonDataType(string cJson)
655+ public async Task TestMySqlJsonDataType(
656+ string cJson)
660657 {
661658 JsonElement? cParsedJson = null;
662659 if (cJson != null)
663660 cParsedJson = JsonDocument.Parse(cJson).RootElement;
664661
665662 await QuerySql.InsertMysqlTypes(new QuerySql.InsertMysqlTypesArgs
666663 {
667- CJson = cParsedJson
664+ CJson = cParsedJson,
665+ CJsonStringOverride = cJson
668666 });
669667 var expected = new QuerySql.GetMysqlTypesRow
670668 {
671- CJson = cParsedJson
669+ CJson = cParsedJson,
670+ CJsonStringOverride = cJson
672671 };
673672 var actual = await QuerySql.GetMysqlTypes();
674673 AssertSingularEquals(expected, actual{{ Consts . UnknownRecordValuePlaceholder }} );
@@ -678,10 +677,25 @@ void AssertSingularEquals(QuerySql.GetMysqlTypesRow x, QuerySql.GetMysqlTypesRow
678677 Assert.That(x.CJson.HasValue, Is.EqualTo(y.CJson.HasValue));
679678 if (x.CJson.HasValue)
680679 Assert.That(x.CJson.Value.GetRawText(), Is.EqualTo(y.CJson.Value.GetRawText()));
680+ Assert.That(x.CJsonStringOverride, Is.EqualTo(y.CJsonStringOverride));
681681 }
682682 }
683683 """
684684 } ,
685+ [ KnownTestType . MySqlInvalidJson ] = new TestImpl
686+ {
687+ Impl = $$ """
688+ [Test]
689+ public void TestMySqlInvalidJson()
690+ {
691+ Assert.ThrowsAsync<MySqlConnector.MySqlException>(async () => await
692+ QuerySql.InsertMysqlTypes(new QuerySql.InsertMysqlTypesArgs
693+ {
694+ CJsonStringOverride = "SOME INVALID JSON"
695+ }));
696+ }
697+ """
698+ } ,
685699 [ KnownTestType . MySqlJsonCopyFrom ] = new TestImpl
686700 {
687701 Impl = $$ """
0 commit comments