Date: Monday, December 12, 2005 @ 13:06:15
Author: csaba
Path: /cvsroot/carob/libmysequoia/test
Modified: TestMySQLAPI.cpp (1.8 -> 1.9) TestMySQLAPI.hpp (1.2 -> 1.3)
Added the following tests:
mysql_real_query_0_test()
mysql_real_query_1_test()
mysql_real_query_2_test()
mysql_real_query_3_test()
mysql_store_free_result_test()
mysql_use_free_result_test()
mysql_fetch_row_store_test()
mysql_fetch_row_use_test()
------------------+
TestMySQLAPI.cpp | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++++
TestMySQLAPI.hpp | 18 ++++++
2 files changed, 155 insertions(+), 1 deletion(-)
Index: libmysequoia/test/TestMySQLAPI.cpp
diff -u libmysequoia/test/TestMySQLAPI.cpp:1.8
libmysequoia/test/TestMySQLAPI.cpp:1.9
--- libmysequoia/test/TestMySQLAPI.cpp:1.8 Mon Dec 12 08:58:57 2005
+++ libmysequoia/test/TestMySQLAPI.cpp Mon Dec 12 13:06:15 2005
@@ -26,6 +26,7 @@
#include "Globals.hpp"
#include <stdlib.h>
+#include <string.h>
CPPUNIT_TEST_SUITE_REGISTRATION (TestMySQLAPI);
@@ -172,3 +173,140 @@
CPPUNIT_ASSERT(mysql_change_user(mysql, BAD_USER, PASSWD2, DB1) != 0);
}
+void TestMySQLAPI::mysql_real_query_0_test(void)
+{
+ char *query = "drop table t1"; /* drop table if exists t1 */
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+}
+
+void TestMySQLAPI::mysql_real_query_1_test(void)
+{
+ char *query = "create table t1 (a int(11) not null auto_increment, b int(11)
default null, primary key (a))";
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+}
+
+void TestMySQLAPI::mysql_real_query_2_test(void)
+{
+ char *query = "insert into t1 (b) values (1),(2),(3)";
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+}
+
+void TestMySQLAPI::mysql_real_query_3_test(void)
+{
+ char *query = "select * from t1";
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+}
+
+void TestMySQLAPI::mysql_store_free_result_test(void)
+{
+ char *query = "select * from t1";
+ MYSQL_RES *res = 0;
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+
+ // fetch the results
+ CPPUNIT_ASSERT((res = mysql_store_result(mysql)) != NULL);
+ CPPUNIT_ASSERT(mysql_errno(mysql) == 0);
+
+ // free the result set
+ mysql_free_result(res);
+}
+
+void TestMySQLAPI::mysql_use_free_result_test(void)
+{
+ char *query = "select * from t1";
+ MYSQL_RES *res = 0;
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+
+ // fetch the result set
+ CPPUNIT_ASSERT((res = mysql_use_result(mysql)) != NULL);
+ CPPUNIT_ASSERT(mysql_errno(mysql) == 0);
+
+ // free the result set
+ mysql_free_result(res);
+}
+
+void TestMySQLAPI::mysql_fetch_row_store_test(void)
+{
+ char *query = "select * from t1";
+ MYSQL_RES *res = 0;
+ MYSQL_ROW row = 0;
+ int rows_fetched = 0;
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+
+ // fetch the result set
+ CPPUNIT_ASSERT((res = mysql_store_result(mysql)) != NULL);
+
+ while ((row = mysql_fetch_row(res)) != 0)
+ {
+ rows_fetched++;
+ }
+
+ // check how many rows we fetched
+ CPPUNIT_ASSERT(rows_fetched == 3);
+
+ // free the result set
+ mysql_free_result(res);
+}
+
+void TestMySQLAPI::mysql_fetch_row_use_test(void)
+{
+ char *query = "select * from t1";
+ MYSQL_RES *res = 0;
+ MYSQL_ROW row = 0;
+ int rows_fetched = 0;
+
+ // connect to the database
+ CPPUNIT_ASSERT(mysql_real_connect(mysql, HOST, USER1, PASSWD1, DB1, 0, 0, 0)
!= 0);
+
+ // send the query - return 0 on success
+ CPPUNIT_ASSERT(mysql_real_query(mysql, query, strlen(query)) == 0);
+
+ // fetch the result set
+ CPPUNIT_ASSERT((res = mysql_use_result(mysql)) != NULL);
+
+ while ((row = mysql_fetch_row(res)) != 0)
+ {
+ rows_fetched++;
+ }
+
+ // check how many rows we fetched
+ CPPUNIT_ASSERT(rows_fetched == 3);
+
+ // free the result set
+ mysql_free_result(res);
+}
Index: libmysequoia/test/TestMySQLAPI.hpp
diff -u libmysequoia/test/TestMySQLAPI.hpp:1.2
libmysequoia/test/TestMySQLAPI.hpp:1.3
--- libmysequoia/test/TestMySQLAPI.hpp:1.2 Wed Dec 7 11:48:24 2005
+++ libmysequoia/test/TestMySQLAPI.hpp Mon Dec 12 13:06:15 2005
@@ -38,6 +38,14 @@
CPPUNIT_TEST (mysql_select_db_negative_test);
CPPUNIT_TEST (mysql_change_user_test);
CPPUNIT_TEST (mysql_change_user_negative_test);
+ CPPUNIT_TEST (mysql_real_query_0_test);
+ CPPUNIT_TEST (mysql_real_query_1_test);
+ CPPUNIT_TEST (mysql_real_query_2_test);
+ CPPUNIT_TEST (mysql_real_query_3_test);
+ CPPUNIT_TEST (mysql_store_free_result_test);
+ CPPUNIT_TEST (mysql_use_free_result_test);
+ CPPUNIT_TEST (mysql_fetch_row_store_test);
+ CPPUNIT_TEST (mysql_fetch_row_use_test);
CPPUNIT_TEST_SUITE_END ();
public:
@@ -53,7 +61,15 @@
void mysql_select_db_negative_test(void);
void mysql_change_user_test(void);
void mysql_change_user_negative_test(void);
-
+ void mysql_real_query_0_test(void);
+ void mysql_real_query_1_test(void);
+ void mysql_real_query_2_test(void);
+ void mysql_real_query_3_test(void);
+ void mysql_store_free_result_test(void);
+ void mysql_use_free_result_test(void);
+ void mysql_fetch_row_store_test(void);
+ void mysql_fetch_row_use_test(void);
+
private:
MYSQL *mysql;
};
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits