From bfad644e448077931e27814be9dfa6891db8619a Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sun, 1 Jan 2017 15:51:09 +0000 Subject: Register mock db implementations --- libsqlitepp/sqlite-connection.cpp | 2 ++ libsqlitepp/sqlite-mock.cpp | 11 +++++++++-- libsqlitepp/sqlite-mock.h | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libsqlitepp/sqlite-connection.cpp b/libsqlitepp/sqlite-connection.cpp index 6545918..40f0304 100644 --- a/libsqlitepp/sqlite-connection.cpp +++ b/libsqlitepp/sqlite-connection.cpp @@ -3,6 +3,8 @@ #include "sqlite-selectcommand.h" #include "sqlite-modifycommand.h" +NAMEDFACTORY("sqlite", SQLite::Connection, DB::ConnectionFactory); + SQLite::ConnectionError::ConnectionError(sqlite3 * db) : SQLite::Error(db) { diff --git a/libsqlitepp/sqlite-mock.cpp b/libsqlitepp/sqlite-mock.cpp index bcacbde..6a2edb5 100644 --- a/libsqlitepp/sqlite-mock.cpp +++ b/libsqlitepp/sqlite-mock.cpp @@ -3,16 +3,23 @@ #include #include +NAMEDFACTORY("sqlite", SQLite::Mock, DB::MockDatabaseFactory); + namespace SQLite { -Mock::Mock(const std::string & name, const std::vector & ss) : +Mock::Mock(const std::string & root, const std::string & name, const std::vector & ss) : MockDatabase(name), - testDbPath(boost::filesystem::path("/tmp") / "sqliteut" / boost::lexical_cast(getpid()) / boost::lexical_cast(++DB::MockDatabase::mocked)) + testDbPath(boost::filesystem::path(root) / boost::lexical_cast(getpid()) / boost::lexical_cast(++DB::MockDatabase::mocked)) { CreateNewDatabase(); PlaySchemaScripts(ss); } +Mock::Mock(const std::string & name, const std::vector & ss) : + Mock("/tmp/sqliteut", name, ss) +{ +} + DB::Connection * Mock::openConnection() const { diff --git a/libsqlitepp/sqlite-mock.h b/libsqlitepp/sqlite-mock.h index 8bd0899..66ec813 100644 --- a/libsqlitepp/sqlite-mock.h +++ b/libsqlitepp/sqlite-mock.h @@ -9,6 +9,7 @@ namespace SQLite { class DLL_PUBLIC Mock : public DB::MockDatabase { public: + Mock(const std::string & root, const std::string & name, const std::vector & ss); Mock(const std::string & name, const std::vector & ss); ~Mock(); -- cgit v1.2.3