From 4df85840c3888c79d9b0c1080c53e4b466b6dd45 Mon Sep 17 00:00:00 2001 From: Mahmoud Mandour Date: Fri, 17 Sep 2021 20:48:54 +0200 Subject: [PATCH] LibSQL: Test INSERT statement with wrong data types --- Tests/LibSQL/TestSqlStatementExecution.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Tests/LibSQL/TestSqlStatementExecution.cpp b/Tests/LibSQL/TestSqlStatementExecution.cpp index 28169553c5..bc206dc138 100644 --- a/Tests/LibSQL/TestSqlStatementExecution.cpp +++ b/Tests/LibSQL/TestSqlStatementExecution.cpp @@ -84,6 +84,26 @@ TEST_CASE(insert_into_table) EXPECT_EQ(count, 1); } +TEST_CASE(insert_into_table_wrong_data_types) +{ + ScopeGuard guard([]() { unlink(db_name); }); + auto database = SQL::Database::construct(db_name); + create_table(database); + auto result = execute(database, "INSERT INTO TestSchema.TestTable ( TextColumn, IntColumn ) VALUES (43, 'Test_2');"); + EXPECT(result->inserted() == 0); + EXPECT(result->error().code == SQL::SQLErrorCode::InvalidValueType); +} + +TEST_CASE(insert_into_table_multiple_tuples_wrong_data_types) +{ + ScopeGuard guard([]() { unlink(db_name); }); + auto database = SQL::Database::construct(db_name); + create_table(database); + auto result = execute(database, "INSERT INTO TestSchema.TestTable ( TextColumn, IntColumn ) VALUES ('Test_1', 42), (43, 'Test_2');"); + EXPECT(result->inserted() == 0); + EXPECT(result->error().code == SQL::SQLErrorCode::InvalidValueType); +} + TEST_CASE(select_from_table) { ScopeGuard guard([]() { unlink(db_name); });