1 #include <gtest/gtest.h>
3 #include <boost/filesystem.hpp>
6 #include "config/config.h"
7 #include "package_manager/packagemanagerfactory.h"
8 #include "package_manager/packagemanagerinterface.h"
9 #include "storage/invstorage.h"
10 #include "utilities/utils.h"
14 config.pacman.type = PackageManager::kDebian;
16 config.storage.path = dir.Path();
18 std::shared_ptr<INvStorage> storage = INvStorage::newStorage(config.storage);
19 std::shared_ptr<PackageManagerInterface> pacman =
20 PackageManagerFactory::makePackageManager(config.pacman, config.bootloader, storage,
nullptr);
22 Json::Value target_json;
23 target_json[
"hashes"][
"sha256"] =
"hash";
24 target_json[
"length"] = 2;
25 target_json[
"custom"][
"ecuIdentifiers"][
"primary_serial"][
"hardwareId"] =
"primary_hwid";
30 Json::Value target_json_test;
31 target_json_test[
"hashes"][
"sha256"] =
"hash_old";
32 target_json_test[
"length"] = 2;
34 storage->savePrimaryInstalledVersion(target_test, InstalledVersionUpdateMode::kCurrent);
35 std::unique_ptr<StorageTargetWHandle> fhandle = storage->allocateTargetFile(
false, target);
36 std::stringstream(
"ab") >> *fhandle;
39 EXPECT_EQ(pacman->install(target).result_code.num_code, data::ResultCode::Numeric::kOk);
40 EXPECT_TRUE(pacman->getCurrent().MatchTarget(target));
45 config.pacman.type = PackageManager::kDebian;
47 config.storage.path = dir.Path();
48 std::shared_ptr<INvStorage> storage = INvStorage::newStorage(config.storage);
49 std::shared_ptr<PackageManagerInterface> pacman =
50 PackageManagerFactory::makePackageManager(config.pacman, config.bootloader, storage,
nullptr);
52 Json::Value target_json;
53 target_json[
"hashes"][
"sha256"] =
"hash";
54 target_json[
"length"] = 2;
55 target_json[
"custom"][
"ecuIdentifiers"][
"primary_serial"][
"hardwareId"] =
"primary_hwid";
58 std::unique_ptr<StorageTargetWHandle> fhandle = storage->allocateTargetFile(
false, target);
59 std::stringstream(
"ab") >> *fhandle;
62 auto result = pacman->install(target);
64 EXPECT_EQ(
result.description,
"Error installing");
68 int main(
int argc,
char **argv) {
69 ::testing::InitGoogleTest(&argc, argv);
71 return RUN_ALL_TESTS();