summaryrefslogtreecommitdiff
path: root/gentoobrowse-api/unittests/testUsers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gentoobrowse-api/unittests/testUsers.cpp')
-rw-r--r--gentoobrowse-api/unittests/testUsers.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/gentoobrowse-api/unittests/testUsers.cpp b/gentoobrowse-api/unittests/testUsers.cpp
new file mode 100644
index 0000000..93c8fdd
--- /dev/null
+++ b/gentoobrowse-api/unittests/testUsers.cpp
@@ -0,0 +1,45 @@
+#define BOOST_TEST_MODULE TestUsers
+#include <boost/test/unit_test.hpp>
+
+#include "mockDefs.h"
+
+BOOST_GLOBAL_FIXTURE( Service );
+
+BOOST_FIXTURE_TEST_SUITE(tp, TestClient)
+
+BOOST_AUTO_TEST_CASE( authenticateGood )
+{
+ auto user = u->authenticate("randomdan", "p@55w0rd");
+ BOOST_REQUIRE_EQUAL(1, user->userid);
+ BOOST_REQUIRE_EQUAL("randomdan", user->username);
+ BOOST_REQUIRE_EQUAL("Dan Goodliffe", user->userrealname);
+ BOOST_REQUIRE_EQUAL("dan@randomdan.homeip.net", user->useremail);
+}
+
+BOOST_AUTO_TEST_CASE( authenticateBad )
+{
+ BOOST_REQUIRE_THROW(u->authenticate("bad", "login"), Slicer::NoRowsReturned);
+}
+
+BOOST_AUTO_TEST_CASE( authenticateUnverified )
+{
+ BOOST_REQUIRE_THROW(u->authenticate("unverified", "p@55w0rd"), Slicer::NoRowsReturned);
+}
+
+BOOST_AUTO_TEST_CASE( authenticateVerifyBad )
+{
+ BOOST_REQUIRE_THROW(u->verify("unverified", "c2075a2e-8a45-11e6-bb50-c86000a60e12"), Slicer::NoRowsReturned);
+}
+
+BOOST_AUTO_TEST_CASE( authenticateVerify )
+{
+ auto verified = u->verify("unverified", "a24eb4fa-8a42-11e6-a04e-c86000a60e12");
+ BOOST_REQUIRE(verified);
+ auto user = u->authenticate("unverified", "p@55w0rd");
+ BOOST_REQUIRE(user);
+ BOOST_REQUIRE_EQUAL(verified->userid, user->userid);
+ BOOST_REQUIRE_THROW(u->verify("unverified", "a24eb4fa-8a42-11e6-a04e-c86000a60e12"), Slicer::NoRowsReturned);
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+