summaryrefslogtreecommitdiff
path: root/tests/database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/database.cpp')
-rw-r--r--tests/database.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/database.cpp b/tests/database.cpp
new file mode 100644
index 0000000..fd9e873
--- /dev/null
+++ b/tests/database.cpp
@@ -0,0 +1,30 @@
+#include "catch.hpp"
+
+#include <database/database.hpp>
+
+#include <unistd.h>
+#include <config/config.hpp>
+
+TEST_CASE("Database")
+{
+#ifdef USE_DATABASE
+ // Remove any potential existing db
+ ::unlink("./test.db");
+ Config::set("db_name", "test.db");
+ Database::set_verbose(false);
+ auto o = Database::get_irc_server_options("zouzou@example.com", "irc.example.com");
+ o.update();
+ auto a = Database::get_irc_server_options("zouzou@example.com", "irc.example.com");
+ auto b = Database::get_irc_server_options("moumou@example.com", "irc.example.com");
+
+ // b does not yet exist in the db, the object is created but not yet
+ // inserted
+ CHECK(1 == Database::count<db::IrcServerOptions>());
+
+ b.update();
+ CHECK(2 == Database::count<db::IrcServerOptions>());
+
+ CHECK(b.pass == "");
+ CHECK(b.pass.value() == "");
+#endif
+}