From d74a7b7aec40d83b940dbfe10850734075aa6c5c Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 27 Jun 2021 18:59:21 +0100 Subject: Add an existing table to the config --- test/Jamfile.jam | 2 ++ test/sql/createTestTable.sql | 14 ++++++++++++++ test/sql/selectTestTable.sql | 2 ++ test/test-e2e.cpp | 9 +++++++++ 4 files changed, 27 insertions(+) create mode 100644 test/sql/createTestTable.sql create mode 100644 test/sql/selectTestTable.sql (limited to 'test') diff --git a/test/Jamfile.jam b/test/Jamfile.jam index d0b0e70..8486a14 100644 --- a/test/Jamfile.jam +++ b/test/Jamfile.jam @@ -8,6 +8,7 @@ project : requirements ; lib testdb : + [ glob-tree *.sql : bin ] [ glob testdb-*.cpp ] : static ; @@ -18,4 +19,5 @@ run test-streams.cpp ; run test-misc.cpp ; run test-mysql.cpp : : : testdb ; run test-postgresql.cpp : -- : ../db/schema.sql : testdb ; +run test-e2e.cpp : -- : ../db/schema.sql : testdb testdb ; run test-mapping.cpp : : : testdb testdb ; diff --git a/test/sql/createTestTable.sql b/test/sql/createTestTable.sql new file mode 100644 index 0000000..fdc1c06 --- /dev/null +++ b/test/sql/createTestTable.sql @@ -0,0 +1,14 @@ +CREATE TABLE session( + id int(10) unsigned not null auto_increment, + session_id varchar(255) not null, + username varchar(10) not null collate utf8_bin, + user_lvl enum('standard', 'reseller', 'sysadmin', 'groupadm') not null default 'standard', + ip_addr varchar(255) not null, + port varchar(255) not null, + created datetime not null, + modified datetime not null, + last_action varchar(255) null default null, + + constraint `PRIMARY` primary key(id), + constraint session_id unique(session_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/test/sql/selectTestTable.sql b/test/sql/selectTestTable.sql new file mode 100644 index 0000000..2543786 --- /dev/null +++ b/test/sql/selectTestTable.sql @@ -0,0 +1,2 @@ +SELECT id, session_id, user_lvl, ip_addr, port, created, modified, last_action +FROM testout.session diff --git a/test/test-e2e.cpp b/test/test-e2e.cpp index fe57e17..9906a0b 100644 --- a/test/test-e2e.cpp +++ b/test/test-e2e.cpp @@ -1,9 +1,12 @@ #define BOOST_TEST_MODULE EndToEnd +#include #include #include "testdb-mysql.h" #include "testdb-postgresql.h" #include +#include +#include BOOST_AUTO_TEST_CASE(e2e) { @@ -13,10 +16,16 @@ BOOST_AUTO_TEST_CASE(e2e) PqConnDB pq {ROOT "/db/schema.sql"}; auto pqm = pq.mock(); + auto mym = my.mock(); auto out = MyGrate::Output::Pq::UpdateDatabase::createNew(&pqm, MySQLDB::SERVER, MySQLDB::USER, MySQLDB::PASSWORD, MySQLDB::PORT, my.mockname.c_str(), 100, target_schema); BOOST_CHECK_EQUAL(out.source, 1); auto src = out.getSource(); BOOST_REQUIRE(src); + + MyGrate::sql::createTestTable::execute(&mym); + out.addTable(&mym, "session"); + + BOOST_CHECK_EQUAL(MyGrate::sql::selectTestTable::execute(&pqm)->rows(), 0); } -- cgit v1.2.3