#define BOOST_TEST_MODULE GitFS_Service #include #include #include #include #include "mockDefs.h" using namespace GitFS; using namespace GitFS::Test; using namespace AdHoc::literals; namespace btdata = boost::unit_test::data; BOOST_DATA_TEST_CASE(no_repos, btdata::make({ "", "testrepo", "no repo" }) * btdata::make({ "", "testauth", "badkey" }), repo, key) { IceTray::DryIce s; Client c; BOOST_CHECK_NO_THROW(c.s->ice_ping()); BOOST_CHECK_THROW(c.s->connect(repo, key), NetFS::ConfigError); } BOOST_DATA_TEST_CASE(badauth, btdata::make({ "", "testAuth", "badkey" }), key) { IceTray::DryIce s({ "--GitFS.testrepo.gitdir=%?"_fmt(rootDir.string()), "--GitFS.testrepo.authkey=testauth", "--GitFS.testrepo.commitish=7a0ccb40084c3ab31d9856e7f689c0514c28c930", }); Client c; BOOST_CHECK_NO_THROW(c.s->ice_ping()); BOOST_CHECK_THROW(c.s->connect("testrepo", key), NetFS::AuthError); } BOOST_AUTO_TEST_CASE(missing_repo) { IceTray::DryIce s({ "--GitFS.missing.gitdir=/not/here", "--GitFS.missing.commit=7a0ccb40084c3ab31d9856e7f689c0514c28c930", "--GitFS.testrepo.gitdir=%?"_fmt(rootDir.string()), "--GitFS.testrepo.commitish=7a0ccb40084c3ab31d9856e7f689c0514c28c931", }); Client c; BOOST_CHECK_NO_THROW(c.s->ice_ping()); BOOST_CHECK_THROW(c.s->connect("missing", {}), NetFS::ConfigError); BOOST_CHECK_THROW(c.s->connect("testrepo", {}), NetFS::ConfigError); }