3 #include <boost/test/auto_unit_test.hpp>
5 #include "zypp/ZYppFactory.h"
6 #include "zypp/RepoManager.h"
9 using namespace boost::unit_test;
14 static TestSetup test( TestSetup::initLater );
17 test = TestSetup( Arch_x86_64 );
19 ~TestInit() { test.reset(); }
21 BOOST_GLOBAL_FIXTURE( TestInit );
23 const Pathname DATADIR( TESTS_SRC_DIR "/repo/RepoLicense" );
25 ///////////////////////////////////////////////////////////////////
27 BOOST_AUTO_TEST_CASE(repolicense)
29 std::string repo( "repo" );
30 test.loadRepo( DATADIR/repo, repo );
31 ResPool pool( ResPool::instance() );
32 const RepoInfo & ri( pool.knownRepositoriesBegin()->info() );
34 std::string prod; // <data type="license">
35 BOOST_CHECK_EQUAL( ri.hasLicense( prod ), true );
36 BOOST_CHECK_EQUAL( ri.needToAcceptLicense( prod ), false );
37 BOOST_CHECK_EQUAL( ri.getLicenseLocales( prod ), LocaleSet({ Locale(),Locale("de") }) );
39 prod = "prod"; // <data type="license-prod">
40 BOOST_CHECK_EQUAL( ri.hasLicense( prod ), true );
41 BOOST_CHECK_EQUAL( ri.needToAcceptLicense( prod ), true );
42 BOOST_CHECK_EQUAL( ri.getLicenseLocales( prod ), LocaleSet({ Locale(), Locale("de"), Locale("fr") }) );
44 prod = "noprod"; // <data type="license-noprod"> is not available
45 BOOST_CHECK_EQUAL( ri.hasLicense( prod ), false );
46 BOOST_CHECK_EQUAL( ri.needToAcceptLicense( prod ), false );
47 BOOST_CHECK ( ri.getLicenseLocales( prod ).empty() );