diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-10-04 17:38:58 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-10-04 17:38:58 +0100 |
commit | 68450a7f4e81e4a2c62b68c3342927025a2a5972 (patch) | |
tree | d705271b2a75b1b753f7eb45411cadee094948bd /gentoobrowse-api/unittests | |
parent | Add method for getting package use flag options (diff) | |
download | gentoobrowse-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.jam | 8 | ||||
-rw-r--r-- | gentoobrowse-api/unittests/fixtures/users.dat | 1 | ||||
-rw-r--r-- | gentoobrowse-api/unittests/mockDefs.cpp | 3 | ||||
-rw-r--r-- | gentoobrowse-api/unittests/mockDefs.h | 2 | ||||
-rw-r--r-- | gentoobrowse-api/unittests/testUsers.cpp | 45 |
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() + |