summaryrefslogtreecommitdiff
path: root/gentoobrowse-api/unittests
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2016-10-04 17:38:58 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2016-10-04 17:38:58 +0100
commit68450a7f4e81e4a2c62b68c3342927025a2a5972 (patch)
treed705271b2a75b1b753f7eb45411cadee094948bd /gentoobrowse-api/unittests
parentAdd method for getting package use flag options (diff)
downloadgentoobrowse-api-68450a7f4e81e4a2c62b68c3342927025a2a5972.tar.bz2
gentoobrowse-api-68450a7f4e81e4a2c62b68c3342927025a2a5972.tar.xz
gentoobrowse-api-68450a7f4e81e4a2c62b68c3342927025a2a5972.zip
Add basics of user service
Diffstat (limited to 'gentoobrowse-api/unittests')
-rw-r--r--gentoobrowse-api/unittests/Jamfile.jam8
-rw-r--r--gentoobrowse-api/unittests/fixtures/users.dat1
-rw-r--r--gentoobrowse-api/unittests/mockDefs.cpp3
-rw-r--r--gentoobrowse-api/unittests/mockDefs.h2
-rw-r--r--gentoobrowse-api/unittests/testUsers.cpp45
5 files changed, 58 insertions, 1 deletions
diff --git a/gentoobrowse-api/unittests/Jamfile.jam b/gentoobrowse-api/unittests/Jamfile.jam
index 97f5c45..0bedd4f 100644
--- a/gentoobrowse-api/unittests/Jamfile.jam
+++ b/gentoobrowse-api/unittests/Jamfile.jam
@@ -90,6 +90,14 @@ run
: testPortage ;
run
+ testUsers.cpp
+ : : :
+ <dependency>../db/schema.sql
+ <define>BOOST_TEST_DYN_LINK
+ <library>testCommon
+ : testUsers ;
+
+run
testBugs.cpp
: : :
<dependency>../db/schema.sql
diff --git a/gentoobrowse-api/unittests/fixtures/users.dat b/gentoobrowse-api/unittests/fixtures/users.dat
index 4544513..a1f60e5 100644
--- a/gentoobrowse-api/unittests/fixtures/users.dat
+++ b/gentoobrowse-api/unittests/fixtures/users.dat
@@ -1 +1,2 @@
1 randomdan Dan Goodliffe p@55w0rd dan@randomdan.homeip.net \N
+2 unverified Dan Goodliffe p@55w0rd something@randomdan.homeip.net a24eb4fa-8a42-11e6-a04e-c86000a60e12
diff --git a/gentoobrowse-api/unittests/mockDefs.cpp b/gentoobrowse-api/unittests/mockDefs.cpp
index 91b8164..70f5b69 100644
--- a/gentoobrowse-api/unittests/mockDefs.cpp
+++ b/gentoobrowse-api/unittests/mockDefs.cpp
@@ -21,7 +21,8 @@ Maintenance::Maintenance() :
TestClient::TestClient() :
m(getProxy<Gentoo::MaintenancePrx>("maintenance")),
- p(getProxy<Gentoo::PortagePrx>("portage"))
+ p(getProxy<Gentoo::PortagePrx>("portage")),
+ u(getProxy<Gentoo::UsersPrx>("users"))
{
}
diff --git a/gentoobrowse-api/unittests/mockDefs.h b/gentoobrowse-api/unittests/mockDefs.h
index 792f875..9a35c1f 100644
--- a/gentoobrowse-api/unittests/mockDefs.h
+++ b/gentoobrowse-api/unittests/mockDefs.h
@@ -5,6 +5,7 @@
#include <visibility.h>
#include <dryice.h>
#include <portage.h>
+#include <users.h>
#include <maintenance.h>
#include <selectcommandUtil.impl.h>
@@ -24,6 +25,7 @@ class DLL_PUBLIC TestClient : public IceTray::DryIceClient {
Gentoo::MaintenancePrx m;
Gentoo::PortagePrx p;
+ Gentoo::UsersPrx u;
};
#define SQL_REQUIRE_EQUAL(sql, type, expected) \
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()
+