summaryrefslogtreecommitdiff
path: root/tests/database.cpp
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2015-10-28 19:13:53 +0100
committerFlorent Le Coz <louiz@louiz.org>2015-10-29 02:32:57 +0100
commit3c1889fbd0d7b96aae16f3479ac8aae70a7e15f7 (patch)
tree69c90435a43b906115b34d4542122000571b971e /tests/database.cpp
parent4e32fe213cccdc6cdc1dcba498fd74b8b97703ea (diff)
downloadbiboumi-3c1889fbd0d7b96aae16f3479ac8aae70a7e15f7.tar.gz
biboumi-3c1889fbd0d7b96aae16f3479ac8aae70a7e15f7.tar.bz2
biboumi-3c1889fbd0d7b96aae16f3479ac8aae70a7e15f7.tar.xz
biboumi-3c1889fbd0d7b96aae16f3479ac8aae70a7e15f7.zip
Use Catch for our test suite
`make check` is also added to compile and run the tests Catch is fetched with cmake automatically into the build directory when needed
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
+}