7 #include <boost/test/unit_test.hpp>
9 #include "zypp/base/LogControl.h"
10 #include "zypp/base/Logger.h"
11 #include "zypp/base/Exception.h"
12 #include "zypp/ZYpp.h"
13 #include "zypp/VendorAttr.h"
15 using boost::unit_test::test_case;
21 void reconfigureZConfig( const Pathname & );
24 #define DATADIR (Pathname(TESTS_SRC_DIR) + "/zypp/data/Vendor")
26 BOOST_AUTO_TEST_CASE(vendor_empty)
28 BOOST_REQUIRE( VendorAttr::instance().equivalent("", "") );
29 BOOST_REQUIRE( !VendorAttr::instance().equivalent("a", "") );
30 BOOST_REQUIRE( !VendorAttr::instance().equivalent("", "a") );
32 BOOST_REQUIRE( VendorAttr::instance().equivalent( IdString::Null, IdString::Null ) );
33 BOOST_REQUIRE( VendorAttr::instance().equivalent( IdString::Empty, IdString::Null ) );
34 BOOST_REQUIRE( VendorAttr::instance().equivalent( IdString::Null, IdString::Empty ) );
35 BOOST_REQUIRE( VendorAttr::instance().equivalent( IdString::Empty, IdString::Empty ) );
38 BOOST_AUTO_TEST_CASE(vendor_test1)
40 reconfigureZConfig( DATADIR / "zypp1.conf" );
41 // bsc#1030686: Remove legacy vendor equivalence between 'suse' and 'opensuse'
42 // No vendor definition files has been read. So only suse* vendors are
44 BOOST_REQUIRE( VendorAttr::instance().equivalent("suse", "suse") );
45 BOOST_REQUIRE( VendorAttr::instance().equivalent("equal", "equal") );
46 BOOST_REQUIRE( VendorAttr::instance().equivalent("suse", "SuSE") );
47 BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse", "SuSE") );
48 BOOST_REQUIRE( !VendorAttr::instance().equivalent("open", "SuSE") );
49 BOOST_REQUIRE( !VendorAttr::instance().equivalent("nothing", "SuSE") );
51 // but "opensuse build service" gets its own class:
52 BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse build service", "suse") );
53 BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse build service", "opensuse") );
54 // bnc#812608: All opensuse projects get their own class
55 BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse-education", "suse") );
56 BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse-education", "opensuse") );
57 BOOST_REQUIRE( !VendorAttr::instance().equivalent("opensuse-education", "opensuse build service") );