1 #include <gtest/gtest.h>
5 #include <boost/filesystem.hpp>
7 #include "libaktualizr/config.h"
8 #include "libaktualizr/packagemanagerfactory.h"
9 #include "libaktualizr/packagemanagerinterface.h"
10 #include "package_manager/packagemanagerfake.h"
11 #include "storage/invstorage.h"
12 #include "utilities/utils.h"
14 boost::filesystem::path sysroot;
19 config.pacman.type = PACKAGE_MANAGER_OSTREE;
20 config.pacman.sysroot = sysroot;
21 config.pacman.os =
"dummy-os";
23 config.storage.path = dir.Path();
24 std::shared_ptr<INvStorage> storage = INvStorage::newStorage(config.storage);
25 std::shared_ptr<PackageManagerInterface> pacman =
26 PackageManagerFactory::makePackageManager(config.pacman, config.bootloader, storage,
nullptr);
34 config.storage.path = dir.Path();
35 std::shared_ptr<INvStorage> storage = INvStorage::newStorage(config.storage);
36 config.pacman.type = PACKAGE_MANAGER_NONE;
37 std::shared_ptr<PackageManagerInterface> pacman =
38 PackageManagerFactory::makePackageManager(config.pacman, config.bootloader, storage,
nullptr);
45 config.storage.path = dir.Path();
46 config.pacman.type =
"bad";
47 std::shared_ptr<INvStorage> storage = INvStorage::newStorage(config.storage);
48 EXPECT_THROW(PackageManagerFactory::makePackageManager(config.pacman, config.bootloader, storage,
nullptr),
54 EXPECT_THROW(PackageManagerFactory::registerPackageManager(
58 throw std::runtime_error(
"unimplemented");
62 PackageManagerFactory::registerPackageManager(
71 config.storage.path = temp_dir.Path();
72 config.pacman.type =
"new";
73 std::shared_ptr<INvStorage> storage = INvStorage::newStorage(config.storage);
75 EXPECT_NE(PackageManagerFactory::makePackageManager(config.pacman, config.bootloader, storage,
nullptr),
nullptr);
79 int main(
int argc,
char** argv) {
80 ::testing::InitGoogleTest(&argc, argv);
83 std::cerr <<
"Error: " << argv[0] <<
" requires the path to an OSTree sysroot as an input argument.\n";
87 return RUN_ALL_TESTS();